public abstract class AbstractUserBasedFunction extends AbstractJqlFunction
This function expects zero or one argument. If zero arguments are supplied the current logged in user will be used.
Constructor and Description |
---|
AbstractUserBasedFunction(UserUtil userUtil) |
Modifier and Type | Method and Description |
---|---|
protected abstract List<QueryLiteral> |
getFunctionValuesList(QueryCreationContext queryCreationContext,
FunctionOperand operand,
ApplicationUser user)
Get the function return values based on the actual user.
|
int |
getMinimumNumberOfExpectedArguments()
This method must return the number of arguments that the function expects to perform its operation correctly.
|
protected abstract String |
getUserNotFoundMessageKey()
Get the I18n message key for the error when the passed in user does not exist.
|
List<QueryLiteral> |
getValues(QueryCreationContext queryCreationContext,
FunctionOperand functionOperand,
TerminalClause terminalClause)
Gets the unexpanded values provided by the user on input.
|
MessageSet |
validate(ApplicationUser searcher,
FunctionOperand functionOperand,
TerminalClause terminalClause)
Will validate the function operand's arguments and report back any errors.
|
getFunctionName, getI18n, getModuleDescriptor, init, isList, validateNumberOfArgs
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDataType
protected final UserUtil userUtil
public AbstractUserBasedFunction(UserUtil userUtil)
public MessageSet validate(ApplicationUser searcher, FunctionOperand functionOperand, TerminalClause terminalClause)
JqlFunction
searcher
- the user performing the searchfunctionOperand
- the operand to validateterminalClause
- the terminal clause that contains the operandpublic int getMinimumNumberOfExpectedArguments()
JqlFunction
public List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand functionOperand, TerminalClause terminalClause)
JqlFunction
Gets the unexpanded values provided by the user on input. This is the output values that will later be transformed into index values.
For example, a function who returns all the released versions of a specified project should return QueryLiteral
s representing the ids of those versions. For correctness, always opt
to return the most specific identifier for the object; if you can return either the id (which is stored in the
index) or a string name (that would require resolving to get the index value), choose the id.
queryCreationContext
- the context of query creationfunctionOperand
- the operand to get values fromterminalClause
- the terminal clause that contains the operandprotected abstract List<QueryLiteral> getFunctionValuesList(QueryCreationContext queryCreationContext, FunctionOperand operand, ApplicationUser user)
queryCreationContext
- the context of query creationoperand
- the operand to get values fromuser
- the userprotected abstract String getUserNotFoundMessageKey()
Copyright © 2002-2015 Atlassian. All Rights Reserved.