public interface OperatorSpecificQueryFactory
Query
from an expression and operator.
Because our Lucene index cannot support all operator-field combinations, we need to implement this in different
ways for different fields.Modifier and Type | Method and Description |
---|---|
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) |
QueryFactoryResult createQueryForSingleValue(String fieldName, Operator operator, List<QueryLiteral> rawValues)
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.OperatorDoesNotSupportOperand
- if the method is passed an operator that it
can not handle. In this case the handlesOperator(com.atlassian.query.operator.Operator)
call will have
returned false.OperatorDoesNotSupportSingleOperand
- if the implementation does not support
the operator for single values.QueryFactoryResult createQueryForMultipleValues(String fieldName, Operator operator, List<QueryLiteral> rawValues)
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.OperatorDoesNotSupportOperand
- if the method is passed an operator that it
can not handle. In this case the handlesOperator(com.atlassian.query.operator.Operator)
call will have
returned false.OperatorDoesNotSupportMultiValueOperand
- if the implementation does not support
the operator for multiple values.QueryFactoryResult createQueryForEmptyOperand(String fieldName, Operator operator)
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.fieldName
- the index field name the query should be generated for.operator
- operator which is handled by this implementation.boolean handlesOperator(Operator operator)
operator
- the operator in question.Copyright © 2002-2022 Atlassian. All Rights Reserved.