|
||||||||||
| 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 | |||||||||