com.atlassian.jira.plugin.jql.function
Class LinkedIssuesFunction

java.lang.Object
  extended by com.atlassian.jira.plugin.jql.function.AbstractJqlFunction
      extended by com.atlassian.jira.plugin.jql.function.LinkedIssuesFunction
All Implemented Interfaces:
ClauseSanitisingJqlFunction, JqlFunction

public class LinkedIssuesFunction
extends AbstractJqlFunction
implements ClauseSanitisingJqlFunction

Returns the issue ids of issues linked to the specified issue which the user can see.

This function can only be used if Issue Linking is enabled.

Function usage: linkedIssues ( issuekey [, linkDescription ]* )

Since:
v4.0

Field Summary
static java.lang.String FUNCTION_LINKED_ISSUES
           
 
Constructor Summary
LinkedIssuesFunction(JqlIssueSupport jqlIssueSupport, IssueLinkTypeManager issueLinkTypeManager, IssueLinkManager issueLinkManager, PermissionManager permissionManager)
           
 
Method Summary
 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.
 java.util.List<QueryLiteral> getValues(QueryCreationContext queryCreationContext, FunctionOperand operand, TerminalClause terminalClause)
          Gets the unexpanded values provided by the user on input.
 FunctionOperand sanitiseOperand(com.opensymphony.user.User searcher, FunctionOperand operand)
          Sanitise a function operand for the specified user, so that information is not leaked.
 MessageSet validate(com.opensymphony.user.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

FUNCTION_LINKED_ISSUES

public static final java.lang.String FUNCTION_LINKED_ISSUES
See Also:
Constant Field Values
Constructor Detail

LinkedIssuesFunction

public LinkedIssuesFunction(JqlIssueSupport jqlIssueSupport,
                            IssueLinkTypeManager issueLinkTypeManager,
                            IssueLinkManager issueLinkManager,
                            PermissionManager permissionManager)
Method Detail

validate

public MessageSet validate(com.opensymphony.user.User searcher,
                           FunctionOperand operand,
                           TerminalClause terminalClause)
Description copied from interface: JqlFunction
Will validate the function operand's arguments and report back any errors.

Specified by:
validate in interface JqlFunction
Parameters:
searcher - the user performing the search
operand - the operand to validate
terminalClause - 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 java.util.List<QueryLiteral> getValues(QueryCreationContext queryCreationContext,
                                              FunctionOperand operand,
                                              TerminalClause terminalClause)
Description copied from interface: 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 QueryLiterals 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.

Specified by:
getValues in interface JqlFunction
Parameters:
queryCreationContext - the context of query creation
operand - the operand to get values from
terminalClause - the terminal clause that contains the operand
Returns:
a List of objects that represent this Operands raw values. Cannot be null.

getMinimumNumberOfExpectedArguments

public int getMinimumNumberOfExpectedArguments()
Description copied from interface: JqlFunction
This 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:
getMinimumNumberOfExpectedArguments in interface JqlFunction
Returns:
the number of arguments that the function expects to perform its operation correctly. Must be >=0.

getDataType

public JiraDataType getDataType()
Description copied from interface: JqlFunction
Provides the 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.

Specified by:
getDataType in interface JqlFunction
Returns:
the JiraDataType that this function produces values for. Cannot be null.
See Also:
JiraDataTypes

sanitiseOperand

public FunctionOperand sanitiseOperand(com.opensymphony.user.User searcher,
                                       FunctionOperand operand)
Description copied from interface: ClauseSanitisingJqlFunction
Sanitise a function operand for the specified user, so that information is not leaked.

Specified by:
sanitiseOperand in interface ClauseSanitisingJqlFunction
Parameters:
searcher - the user performing the search
operand - the operand to sanitise; will only be sanitised if valid
Returns:
the sanitised operand; never null.


Copyright © 2002-2010 Atlassian. All Rights Reserved.