|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface OperatorSpecificQueryFactory
An abstraction for the creation of a 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.
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)
|
Method Detail |
---|
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |