public abstract class AbstractUserCapabilityFunction extends AbstractJqlFunction
This function expects one or two arguments. The first argument is the capability requested, typically a permission or role etc, The second argument is the user, if this is not supplied the current logged in user will be used.
Constructor and Description |
---|
AbstractUserCapabilityFunction(UserUtil userUtil) |
Modifier and Type | Method and Description |
---|---|
protected abstract List<QueryLiteral> |
getFunctionValuesList(QueryCreationContext queryCreationContext,
FunctionOperand operand,
ApplicationUser user,
String capability)
Get the function return values based on the actual user and capability.
|
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.
|
protected abstract MessageSet |
validateCapability(String capability,
I18nHelper i18n)
Check the capability requested.
|
getFunctionName, getI18n, getModuleDescriptor, init, isList, validateNumberOfArgs
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDataType
protected final UserUtil userUtil
public AbstractUserCapabilityFunction(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
protected abstract MessageSet validateCapability(String capability, I18nHelper i18n)
capability
- The name of the capability being checked. This will be the name of something like a permission
or rolei18n
- I18HelperMessageSet
which must not be null, but may be empty when there are no
errors.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, String capability)
queryCreationContext
- the context of query creationoperand
- the operand to get values fromuser
- the user. This value may be the searcher or a user the searcher is enquiring on behalf of.
If the 2nd parameter (a User) of the function is supplied then the capability of
that user is quueried.
The functionality to run this for a user other than the logged in user has been removed
until decisions can be made regarding http://jira.atlassian.com/browse/JRA-21476capability
- the capability being requestedprotected abstract String getUserNotFoundMessageKey()
Copyright © 2002-2015 Atlassian. All Rights Reserved.