Package com.atlassian.jira.jql.operand
Interface JqlOperandResolver
- All Known Implementing Classes:
DefaultJqlOperandResolver
public interface JqlOperandResolver
Responsible for validating
Operands and extracting the
QueryLiteral values from them.- Since:
- v4.0
-
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.booleanisEmptyOperand(Operand operand) Returns true if the operand represents an EMPTY operand.booleanisFunctionOperand(Operand operand) Returns true if the passed operand is a function call.booleanisListOperand(Operand operand) Returns true if the passed operand returns a list of values.booleanisValidOperand(Operand operand) Returns true if the operand is one which is known about.sanitiseFunctionOperand(ApplicationUser searcher, FunctionOperand operand) 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)
-
Method Details
-
validate
-
getValues
List<QueryLiteral> getValues(ApplicationUser searcher, Operand operand, TerminalClause terminalClause) Return the values contained within the passed operand.- 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
List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, Operand operand, TerminalClause terminalClause) Return the values contained within the passed operand.- 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
Validates the operand against its handler.- 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
MessageSetcontaining any errors reported. Note: if the operand is unknown, an error message will be added to the message set returned. Never null.
-
sanitiseFunctionOperand
Sanitise a function operand for the specified user, so that information is not leaked.- Parameters:
searcher- the user performing the searchoperand- the operand to sanitise; will only be sanitised if valid- Returns:
- the sanitised operand; never null.
-
getSingleValue
Returns the single value contained within the passed operand. If the operand contains more than one value, an exception is thrown.- 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.
- Throws:
IllegalArgumentException- if the operand contains more than one value.
-
isEmptyOperand
Returns true if the operand represents an EMPTY operand.- Parameters:
operand- the operand to check if it is a EMPTY operand- Returns:
- true if the operand is an EMPTY operand, false otherwise.
-
isFunctionOperand
Returns true if the passed operand is a function call.- Parameters:
operand- the operand to check. Cannot be null.- Returns:
- true of the passed operand is a function operand, false otherwise.
-
isListOperand
Returns true if the passed operand returns a list of values.- Parameters:
operand- the operand to check. Cannot be null.- Returns:
- true if the passed operand returns a list of values or false otherwise.
-
isValidOperand
Returns true if the operand is one which is known about. This is:SingleValueOperandsMultiValueOperandsEmptyOperandsFunctionOperands registered asJqlFunctions
- Parameters:
operand- the operand; cannot be null.- Returns:
- true if it is known, false otherwise.
-