|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.atlassian.jira.plugin.jql.function.AbstractJqlFunction com.atlassian.jira.plugin.jql.function.AbstractSingleVersionFunction
public abstract class AbstractSingleVersionFunction
An abstract class for the versions system field flag functions that return a single version only.
Field Summary | |
---|---|
protected IndexInfoResolver<Project> |
projectIndexInfoResolver
|
Constructor Summary | |
---|---|
AbstractSingleVersionFunction(NameResolver<Project> projectResolver,
PermissionManager permissionManager)
|
Method Summary | |
---|---|
protected IndexInfoResolver<Project> |
createIndexInfoResolver(NameResolver<Project> projectResolver)
|
JiraDataType |
getDataType()
Provides the JiraDataType that this function handles and creates values for. |
int |
getMinimumNumberOfExpectedArguments()
This method must return the number of arguments that the function expects to perform its operation correctly. |
List<QueryLiteral> |
getValues(QueryCreationContext queryCreationContext,
FunctionOperand operand,
TerminalClause terminalClause)
Gets the unexpanded values provided by the user on input. |
protected abstract Version |
getVersionForProject(Long projectId)
|
FunctionOperand |
sanitiseOperand(com.atlassian.crowd.embedded.api.User searcher,
FunctionOperand operand)
Sanitise a function operand for the specified user, so that information is not leaked. |
MessageSet |
validate(User 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, validateNumberOfArgs |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final IndexInfoResolver<Project> projectIndexInfoResolver
Constructor Detail |
---|
public AbstractSingleVersionFunction(NameResolver<Project> projectResolver, PermissionManager permissionManager)
Method Detail |
---|
public MessageSet validate(User searcher, FunctionOperand operand, TerminalClause terminalClause)
JqlFunction
Important note:
For backward compatibility this method still uses User
.
This will be converted to use User
in a future version of JIRA.
validate
in interface JqlFunction
searcher
- the user performing the searchoperand
- the operand to validateterminalClause
- the terminal clause that contains the operand
public List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, 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.
getValues
in interface JqlFunction
queryCreationContext
- the context of query creationoperand
- the operand to get values fromterminalClause
- the terminal clause that contains the operand
public FunctionOperand sanitiseOperand(com.atlassian.crowd.embedded.api.User searcher, FunctionOperand operand)
ClauseSanitisingJqlFunction
sanitiseOperand
in interface ClauseSanitisingJqlFunction
searcher
- the user performing the searchoperand
- the operand to sanitise; will only be sanitised if valid
public int getMinimumNumberOfExpectedArguments()
JqlFunction
getMinimumNumberOfExpectedArguments
in interface JqlFunction
public JiraDataType getDataType()
JqlFunction
JiraDataType
that 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.DATE
then we know that we can provide
values for any clauses that also specify a data type of DATE.
getDataType
in interface JqlFunction
JiraDataTypes
protected IndexInfoResolver<Project> createIndexInfoResolver(NameResolver<Project> projectResolver)
protected abstract Version getVersionForProject(Long projectId)
projectId
- the id of the Project
which the versions belong to
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |