com.atlassian.jira.jql.query
Class RelationalOperatorIdIndexValueQueryFactory<T>

java.lang.Object
  extended by com.atlassian.jira.jql.query.AbstractOperatorQueryFactory<T>
      extended by com.atlassian.jira.jql.query.RelationalOperatorIdIndexValueQueryFactory<T>
All Implemented Interfaces:
OperatorSpecificQueryFactory
Direct Known Subclasses:
VersionSpecificRelationalOperatorQueryFactory

public class RelationalOperatorIdIndexValueQueryFactory<T>
extends AbstractOperatorQueryFactory<T>
implements OperatorSpecificQueryFactory

Generates queries for the operators '>', '>=', '<', '<='.

Since:
v4.0

Constructor Summary
RelationalOperatorIdIndexValueQueryFactory(Comparator<? super T> comparator, NameResolver<T> resolver, IndexInfoResolver<T> indexInfoResolver)
           
 
Method Summary
 QueryFactoryResult createQueryForEmptyOperand(String fieldName, Operator operator)
          Generates the query for an operand that has an OperandHandler that returns true for the isEmpty method.
 QueryFactoryResult createQueryForMultipleValues(String fieldName, Operator operator, List<QueryLiteral> listOfIds)
          Generates the Query for a list of operand ids.
 QueryFactoryResult createQueryForSingleValue(String fieldName, Operator operator, List<QueryLiteral> rawValues)
          Generates the Query for a single operand id.
protected  org.apache.lucene.search.BooleanQuery generateRangeQueryForPredicate(String fieldName, Predicate<T> match)
           
 boolean handlesOperator(Operator operator)
           
 
Methods inherited from class com.atlassian.jira.jql.query.AbstractOperatorQueryFactory
checkQueryForEmpty, getTermQuery
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RelationalOperatorIdIndexValueQueryFactory

public RelationalOperatorIdIndexValueQueryFactory(Comparator<? super T> comparator,
                                                  NameResolver<T> resolver,
                                                  IndexInfoResolver<T> indexInfoResolver)
Method Detail

createQueryForSingleValue

public QueryFactoryResult createQueryForSingleValue(String fieldName,
                                                    Operator operator,
                                                    List<QueryLiteral> rawValues)
Description copied from interface: OperatorSpecificQueryFactory
Generates the Query for a single operand id.

Specified by:
createQueryForSingleValue in interface OperatorSpecificQueryFactory
Parameters:
fieldName - the index field name the query should be generated for.
operator - operator which is handled by this implementation.
rawValues - the raw values provided to the operand that need to be converted to index values.
Returns:
the queryFactoryResult that contains the query and the metadata.

createQueryForEmptyOperand

public QueryFactoryResult createQueryForEmptyOperand(String fieldName,
                                                     Operator operator)
Description copied from interface: OperatorSpecificQueryFactory
Generates the query for an operand that has an OperandHandler that returns true for the isEmpty method. This should generate a Lucene query that will perform the correct search for issues where the field value is not set.

Specified by:
createQueryForEmptyOperand in interface OperatorSpecificQueryFactory
Parameters:
fieldName - the index field name the query should be generated for.
operator - operator which is handled by this implementation.
Returns:
the queryFactoryResult that contains the query and the metadata.

createQueryForMultipleValues

public QueryFactoryResult createQueryForMultipleValues(String fieldName,
                                                       Operator operator,
                                                       List<QueryLiteral> listOfIds)
Description copied from interface: OperatorSpecificQueryFactory
Generates the Query for a list of operand ids.

Specified by:
createQueryForMultipleValues in interface OperatorSpecificQueryFactory
Parameters:
fieldName - the index field name the query should be generated for.
operator - operator which is handled by this implementation.
listOfIds - the raw values provided to the operand that need to be converted to index values.
Returns:
the queryFactoryResult that contains the query and the metadata.

handlesOperator

public boolean handlesOperator(Operator operator)
Specified by:
handlesOperator in interface OperatorSpecificQueryFactory
Parameters:
operator - the operator in question.
Returns:
true if this implementation can handle the operator, false otherwise.

generateRangeQueryForPredicate

protected org.apache.lucene.search.BooleanQuery generateRangeQueryForPredicate(String fieldName,
                                                                               Predicate<T> match)


Copyright © 2002-2012 Atlassian. All Rights Reserved.