public class GenericDbQueryFactory extends Object implements DbClauseQueryFactory, DbOrderByQueryFactory
Constructor and Description |
---|
GenericDbQueryFactory(List<OperatorSpecificDbQueryFactory> operatorQueryFactories,
JqlOperandResolver operandResolver,
DbOrderByQueryFactory dbOrderByQueryFactory) |
Modifier and Type | Method and Description |
---|---|
DbQueryFactoryResult |
getQuery(QueryCreationContext queryCreationContext,
SearchSort orderBy)
Generates parts of a query for the passed
SearchSort . |
DbQueryFactoryResult |
getQuery(QueryCreationContext queryCreationContext,
TerminalClause terminalClause)
Generates parts of a query for the passed
TerminalClause . |
public GenericDbQueryFactory(List<OperatorSpecificDbQueryFactory> operatorQueryFactories, JqlOperandResolver operandResolver, DbOrderByQueryFactory dbOrderByQueryFactory)
public DbQueryFactoryResult getQuery(QueryCreationContext queryCreationContext, TerminalClause terminalClause)
DbClauseQueryFactory
TerminalClause
.
This method is only called after JIRA works out that the TerminalClause is relevant to this ClauseQueryFactory.
A ClauseFactory needs to be careful when implementing the NOT_LIKE, NOT_EQUALS or NOT_IN operators. These
negative operators should not match what is considered EMPTY. For example, the query
"resolution is EMPTY" will return all unresolved issues in JIRA. The query "resolution != fixed" will only return
all resolved issues that have not been resolved as "fixed", that is, it will not return any unresolved issues.
The user would have to enter the query "resolution != fixed or resolution is EMPTY" to find all issues that are
either unresolved or not resolved as "fixed".
The ClauseQueryFactory must handle the situation when an invalid TerminalClause is passed. The
ClauseQueryFactory must return an empty Lucene Search if the passed TerminalClause is invalid.
Most importantly, ClauseQueryFactory may not throw an exception on the input of an invalid TerminalClause.getQuery
in interface DbClauseQueryFactory
queryCreationContext
- the context of the query creation call; used to indicate that permissions should be
ignored for "admin queries"terminalClause
- the clause for which this factory is generating a query.public DbQueryFactoryResult getQuery(QueryCreationContext queryCreationContext, SearchSort orderBy)
DbOrderByQueryFactory
SearchSort
.getQuery
in interface DbOrderByQueryFactory
queryCreationContext
- the context of the query creation call; used to indicate that permissions should be
ignored for "admin queries"orderBy
- the search sort (from the order by) for which this factory is generating a query.Copyright © 2002-2016 Atlassian. All Rights Reserved.