Package com.atlassian.jira.search.jql
Class VersionSpecificRelationalOperatorQueryFactory
java.lang.Object
com.atlassian.jira.search.jql.AbstractOperatorQueryFactory<Version>
com.atlassian.jira.search.jql.VersionSpecificRelationalOperatorQueryFactory
- All Implemented Interfaces:
OperatorSpecificQueryFactory
public class VersionSpecificRelationalOperatorQueryFactory
extends AbstractOperatorQueryFactory<Version>
implements OperatorSpecificQueryFactory
Creates queries for relational version operators
Operator.GREATER_THAN, Operator.LESS_THAN,
Operator.GREATER_THAN_EQUALS, Operator.LESS_THAN_EQUALS.
Version comparison is project-specific and based on version sequence. Versions can only be compared within the same project. When a version name exists in multiple projects, the query combines results from all matching projects.
Example: For operator Operator.GREATER_THAN, the factory finds all versions in the same project
that are greater than the given version and creates a query matching any of these versions.
This class replaces VersionSpecificRelationalOperatorQueryFactory
- Since:
- 10.4
-
Constructor Summary
ConstructorsConstructorDescriptionVersionSpecificRelationalOperatorQueryFactory(Comparator<? super Version> comparator, VersionResolver versionResolver, IndexInfoResolver<Version> versionIndexInfoResolver) -
Method Summary
Modifier and TypeMethodDescriptioncreateQueryForEmptyOperand(String fieldName, Operator operator) Generates the query for an operand that supports EMPTY values.createQueryForMultipleValues(String fieldName, Operator operator, List<QueryLiteral> rawValues) Generates the query for a list of operand ids.createQueryForSingleValue(String fieldName, Operator operator, List<QueryLiteral> rawValues) Generates the query for a single operand id.booleanhandlesOperator(Operator operator) Methods inherited from class com.atlassian.jira.search.jql.AbstractOperatorQueryFactory
getTermQuery
-
Constructor Details
-
VersionSpecificRelationalOperatorQueryFactory
public VersionSpecificRelationalOperatorQueryFactory(Comparator<? super Version> comparator, VersionResolver versionResolver, IndexInfoResolver<Version> versionIndexInfoResolver) - Parameters:
comparator- to compare versionsversionResolver- to map version's name to version objectversionIndexInfoResolver- to map version object to index value
-
-
Method Details
-
createQueryForSingleValue
public Query createQueryForSingleValue(String fieldName, Operator operator, List<QueryLiteral> rawValues) Description copied from interface:OperatorSpecificQueryFactoryGenerates the query for a single operand id.- Specified by:
createQueryForSingleValuein interfaceOperatorSpecificQueryFactory- Parameters:
fieldName- the index field name the query should be generated for.operator- operator which is handled by this implementation.rawValues- a list of raw values associated with the operand. These values are converted into index-specific representations.- Returns:
- the result that contains the query of type
Queryand its metadata.
-
createQueryForMultipleValues
public Query createQueryForMultipleValues(String fieldName, Operator operator, List<QueryLiteral> rawValues) Description copied from interface:OperatorSpecificQueryFactoryGenerates the query for a list of operand ids.- Specified by:
createQueryForMultipleValuesin interfaceOperatorSpecificQueryFactory- Parameters:
fieldName- the index field name the query should be generated for.operator- operator which is handled by this implementation.rawValues- a list of raw values associated with the operand. These values are converted into index-specific representations.- Returns:
- the result that contains the query of type
Queryand its metadata.
-
createQueryForEmptyOperand
Description copied from interface:OperatorSpecificQueryFactoryGenerates the query for an operand that supports EMPTY values.- Specified by:
createQueryForEmptyOperandin interfaceOperatorSpecificQueryFactory- Parameters:
fieldName- the index field name the query should be generated for.operator- operator which is handled by this implementation.- Returns:
- the result that contains the query of type
Queryand its metadata.
-
handlesOperator
- Specified by:
handlesOperatorin interfaceOperatorSpecificQueryFactory- Returns:
- true if this implementation can handle the given operator, false otherwise.
-