Package com.atlassian.jira.jql.operand
Class DefaultJqlOperandResolver
java.lang.Object
com.atlassian.jira.jql.operand.DefaultJqlOperandResolver
- All Implemented Interfaces:
JqlOperandResolver
@InjectableComponent
public final class DefaultJqlOperandResolver
extends Object
implements JqlOperandResolver
Default implementation of the
JqlOperandResolver
interface.- Since:
- v4.0
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultJqlOperandResolver
(JqlFunctionHandlerRegistry registry, I18nHelper.BeanFactory factory, QueryCache queryCache) -
Method Summary
Modifier and TypeMethodDescriptiongetSingleValue
(ApplicationUser user, Operand operand, TerminalClause clause) Returns the single value contained within the passed operand.getValues
(QueryCreationContext queryCreationContext, Operand operand, TerminalClause terminalClause) Return the values contained within the passed operand.getValues
(ApplicationUser searcher, Operand operand, TerminalClause terminalClause) Return the values contained within the passed operand.boolean
isEmptyOperand
(Operand operand) Returns true if the operand represents an EMPTY operand.boolean
isFunctionOperand
(Operand operand) Returns true if the passed operand is a function call.boolean
isListOperand
(Operand operand) Returns true if the passed operand returns a list of values.boolean
isValidOperand
(Operand operand) Returns true if the operand is one which is known about.sanitiseFunctionOperand
(ApplicationUser searcher, FunctionOperand funcOperand) Sanitise a function operand for the specified user, so that information is not leaked.validate
(ApplicationUser user, Operand operand, TerminalClause terminalClause) Validates the operand against its handler.validate
(ApplicationUser searcher, Operand operand, WasClause clause)
-
Constructor Details
-
DefaultJqlOperandResolver
public DefaultJqlOperandResolver(JqlFunctionHandlerRegistry registry, I18nHelper.BeanFactory factory, QueryCache queryCache)
-
-
Method Details
-
getValues
public List<QueryLiteral> getValues(ApplicationUser searcher, Operand operand, TerminalClause terminalClause) Description copied from interface:JqlOperandResolver
Return the values contained within the passed operand.- Specified by:
getValues
in interfaceJqlOperandResolver
- Parameters:
searcher
- the user performing the searchoperand
- the operand whose values should be returned. Must not be null.terminalClause
- the terminal clause that contained the operand- Returns:
- a list of the values in the literal. May return null on an error.
-
getValues
public List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, Operand operand, TerminalClause terminalClause) Description copied from interface:JqlOperandResolver
Return the values contained within the passed operand.- Specified by:
getValues
in interfaceJqlOperandResolver
- Parameters:
queryCreationContext
- the context of query creationoperand
- the operand whose values should be returned. Must not be null.terminalClause
- the terminal clause that contained the operand- Returns:
- a list of the values in the literal. May return null on an error.
-
validate
Description copied from interface:JqlOperandResolver
Validates the operand against its handler.- Specified by:
validate
in interfaceJqlOperandResolver
- Parameters:
user
- the user who is validating. May be null.operand
- the operand to be validated. Must not be null.terminalClause
- the terminal clause that contained the operand- Returns:
- a
MessageSet
containing any errors reported. Note: if the operand is unknown, an error message will be added to the message set returned. Never null.
-
validate
- Specified by:
validate
in interfaceJqlOperandResolver
-
sanitiseFunctionOperand
public FunctionOperand sanitiseFunctionOperand(ApplicationUser searcher, FunctionOperand funcOperand) Description copied from interface:JqlOperandResolver
Sanitise a function operand for the specified user, so that information is not leaked.- Specified by:
sanitiseFunctionOperand
in interfaceJqlOperandResolver
- Parameters:
searcher
- the user performing the searchfuncOperand
- the operand to sanitise; will only be sanitised if valid- Returns:
- the sanitised operand; never null.
-
getSingleValue
Description copied from interface:JqlOperandResolver
Returns the single value contained within the passed operand. If the operand contains more than one value, an exception is thrown.- Specified by:
getSingleValue
in interfaceJqlOperandResolver
- Parameters:
user
- the user who is retrieving the values. May be null.operand
- the operand whose values should be returned. Must not be null.clause
- the terminal clause that contained the operand- Returns:
- the single value present in the operand, or null if there is no value.
-
isEmptyOperand
Description copied from interface:JqlOperandResolver
Returns true if the operand represents an EMPTY operand.- Specified by:
isEmptyOperand
in interfaceJqlOperandResolver
- Parameters:
operand
- the operand to check if it is a EMPTY operand- Returns:
- true if the operand is an EMPTY operand, false otherwise.
-
isFunctionOperand
Description copied from interface:JqlOperandResolver
Returns true if the passed operand is a function call.- Specified by:
isFunctionOperand
in interfaceJqlOperandResolver
- Parameters:
operand
- the operand to check. Cannot be null.- Returns:
- true of the passed operand is a function operand, false otherwise.
-
isListOperand
Description copied from interface:JqlOperandResolver
Returns true if the passed operand returns a list of values.- Specified by:
isListOperand
in interfaceJqlOperandResolver
- Parameters:
operand
- the operand to check. Cannot be null.- Returns:
- true if the passed operand returns a list of values or false otherwise.
-
isValidOperand
Description copied from interface:JqlOperandResolver
Returns true if the operand is one which is known about. This is:SingleValueOperand
sMultiValueOperand
sEmptyOperand
sFunctionOperand
s registered asJqlFunction
s
- Specified by:
isValidOperand
in interfaceJqlOperandResolver
- Parameters:
operand
- the operand; cannot be null.- Returns:
- true if it is known, false otherwise.
-