Class CascadeOptionFunction
java.lang.Object
com.atlassian.jira.plugin.jql.function.AbstractJqlFunction
com.atlassian.jira.plugin.jql.function.CascadeOptionFunction
- All Implemented Interfaces:
JqlFunction
A function that allows the user to select children of a specific parent option for cascading select fields.
Unlike most functions, this function requires knowledge of the field it was used with, so that it can figure out which options are valid for it to generate.
The function accepts either 1 or 2 arguments:
- One argument (parent) - returns all option ids for the specified option's child options.
- Two arguments (parent, child) - returns all option ids for the specified parent/child option combination.
- Two arguments (parent, "None") - returns all option ids for the specified parent option, and the negative option ids for the children of the parents.
- Since:
- v4.0
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCascadeOptionFunction(JqlSelectOptionsUtil jqlSelectOptionsUtil, SearchHandlerManager searchHandlerManager, CustomFieldManager customFieldManager, JqlCascadingSelectLiteralUtil jqlCascadingSelectLiteralUtil) -
Method Summary
Modifier and TypeMethodDescriptionProvides theJiraDataTypethat this function handles and creates values for.intThis method must return the number of arguments that the function expects to perform its operation correctly.getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, TerminalClause terminalClause) Note: this method returns unconvential query literals.validate(ApplicationUser searcher, FunctionOperand operand, TerminalClause terminalClause) Will validate the function operand's arguments and report back any errors.Methods inherited from class com.atlassian.jira.plugin.jql.function.AbstractJqlFunction
getFunctionName, getI18n, getModuleDescriptor, init, isList, validateNumberOfArgsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.atlassian.jira.plugin.jql.function.JqlFunction
getFunctionName, init, isList
-
Field Details
-
FUNCTION_CASCADE_OPTION
For building clauses containing this function- See Also:
-
EMPTY_VALUE
- See Also:
-
QUOTED_EMPTY_VALUE
- See Also:
-
-
Constructor Details
-
CascadeOptionFunction
public CascadeOptionFunction(JqlSelectOptionsUtil jqlSelectOptionsUtil, SearchHandlerManager searchHandlerManager, CustomFieldManager customFieldManager, JqlCascadingSelectLiteralUtil jqlCascadingSelectLiteralUtil)
-
-
Method Details
-
validate
public MessageSet validate(ApplicationUser searcher, FunctionOperand operand, TerminalClause terminalClause) Description copied from interface:JqlFunctionWill validate the function operand's arguments and report back any errors.- Specified by:
validatein interfaceJqlFunction- Parameters:
searcher- the user performing the searchoperand- the operand to validateterminalClause- the terminal clause that contains the operand- Returns:
- a MessageSet which will contain any validation errors or warnings or will be empty if there is nothing to report; never null.
-
getValues
public List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, TerminalClause terminalClause) Note: this method returns unconvential query literals. AllQueryLiterals returned will have Long values, but they may be either positive or negative. Positive values indicate that the option ids should be included in the results, whereas negative ids mean that they should be excluded.- Specified by:
getValuesin interfaceJqlFunction- Parameters:
queryCreationContext- the context of query creationoperand- the operand to get values fromterminalClause- the terminal clause that contains the operand- Returns:
- a list of query literals following the scheme described above; never null.
-
getMinimumNumberOfExpectedArguments
public int getMinimumNumberOfExpectedArguments()Description copied from interface:JqlFunctionThis method must return the number of arguments that the function expects to perform its operation correctly. If the function can accept a variable number of arguments this value should be the lower limit. It is perfectly legal for a function to take no arguments and return 0 for this method.- Specified by:
getMinimumNumberOfExpectedArgumentsin interfaceJqlFunction- Returns:
- the number of arguments that the function expects to perform its operation correctly. Must be >=0.
-
getDataType
Description copied from interface:JqlFunctionProvides theJiraDataTypethat this function handles and creates values for. This allows us to infer some information about how it will interact with other elements in the system.For example, if this returns
JiraDataTypes.DATEthen we know that we can provide values for any clauses that also specify a data type of DATE.- Specified by:
getDataTypein interfaceJqlFunction- Returns:
- the JiraDataType that this function produces values for. Cannot be null.
- See Also:
-