com.atlassian.jira.jql.query
Class RelationalOperatorMutatedIndexValueQueryFactory

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

public class RelationalOperatorMutatedIndexValueQueryFactory
extends Object
implements OperatorSpecificQueryFactory

Creates relational queries for clauses with operands whose index value representation is based on mutated raw values as opposed to domain values.

Since:
v4.0

Constructor Summary
RelationalOperatorMutatedIndexValueQueryFactory(IndexInfoResolver<?> 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> 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

RelationalOperatorMutatedIndexValueQueryFactory

public RelationalOperatorMutatedIndexValueQueryFactory(IndexInfoResolver<?> 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.

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-2013 Atlassian. All Rights Reserved.