Class EarliestUnreleasedVersionFunction

All Implemented Interfaces:
ClauseSanitisingJqlFunction, JqlFunction

public class EarliestUnreleasedVersionFunction extends AbstractVersionsFunction
Function that produces the last released version for any specified projects. The versions are sequenced in the the user specified order (not the release date).

Projects are resolved by project key first, then name, then id. Only Versions from Projects which the current user can browse will be returned.

Since:
v4.3
  • Field Details

    • FUNCTION_EARLIEST_UNRELEASED_VERSION

      public static final String FUNCTION_EARLIEST_UNRELEASED_VERSION
      See Also:
  • Constructor Details

  • Method Details

    • getValues

      @Nonnull public 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
      Overrides:
      getValues in class AbstractVersionsFunction
      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.
    • getAllVersions

      protected Collection<Version> getAllVersions(ApplicationUser user)
      Specified by:
      getAllVersions in class AbstractVersionsFunction
      Returns:
      all the versions relevant to this function.
    • getVersionsForProject

      protected Collection<Version> getVersionsForProject(Long projectId)
      Specified by:
      getVersionsForProject in class AbstractVersionsFunction
      Parameters:
      projectId - the id of the Project which the versions belong to
      Returns:
      all the versions relevant to this function and the specified project