com.atlassian.jira.jql.query
Class ActualValueRelationalQueryFactory

java.lang.Object
  extended by com.atlassian.jira.jql.query.ActualValueRelationalQueryFactory
All Implemented Interfaces:
OperatorSpecificQueryFactory

public class ActualValueRelationalQueryFactory
extends Object
implements OperatorSpecificQueryFactory

Creates relational queries for clauses whose values are exactly the same as the indexed value (e.g. votes and durations).

Since:
v4.0

Constructor Summary
ActualValueRelationalQueryFactory(IndexValueConverter indexValueConverter)
           
ActualValueRelationalQueryFactory(IndexValueConverter indexValueConverter, String emptyIndexValue)
           
 
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> rawValues)
          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.
 boolean handlesOperator(Operator operator)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ActualValueRelationalQueryFactory

public ActualValueRelationalQueryFactory(IndexValueConverter indexValueConverter)

ActualValueRelationalQueryFactory

public ActualValueRelationalQueryFactory(IndexValueConverter indexValueConverter,
                                         String emptyIndexValue)
Parameters:
indexValueConverter - the value converter
emptyIndexValue - specify this if the index field uses a special empty value that we must exclude from the range queries generated by relational operators.
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.

createQueryForMultipleValues

public QueryFactoryResult createQueryForMultipleValues(String fieldName,
                                                       Operator operator,
                                                       List<QueryLiteral> rawValues)
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.
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.

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.


Copyright © 2002-2011 Atlassian. All Rights Reserved.