public interface

OperatorSpecificDbQueryFactory

com.atlassian.jira.jql.dbquery.OperatorSpecificDbQueryFactory
Known Indirect Subclasses

Class Overview

An abstraction for the creation of a database search predicate from an expression and operator.

Summary

Public Methods
DbQueryFactoryResult createQueryForEmptyOperand(Operator operator)
Generates the query for an operand that has an OperandHandler that returns true for the isEmpty method.
DbQueryFactoryResult createQueryForMultipleValues(Operator operator, List<QueryLiteral> rawValues)
Generates the Query for a list of operand ids.
DbQueryFactoryResult createQueryForSingleValue(Operator operator, List<QueryLiteral> rawValues)
Generates the predicate for a single operand id.
boolean handlesOperator(Operator operator)

Public Methods

public DbQueryFactoryResult createQueryForEmptyOperand (Operator operator)

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.

Parameters
operator operator which is handled by this implementation.
Returns
  • the queryFactoryResult that contains the query and the metadata.

public DbQueryFactoryResult createQueryForMultipleValues (Operator operator, List<QueryLiteral> rawValues)

Generates the Query for a list of operand ids.

Parameters
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.
Throws
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.

public DbQueryFactoryResult createQueryForSingleValue (Operator operator, List<QueryLiteral> rawValues)

Generates the predicate for a single operand id.

Parameters
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.
Throws
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.

public boolean handlesOperator (Operator operator)

Parameters
operator the operator in question.
Returns
  • true if this implementation can handle the operator, false otherwise.