Class AbstractCustomFieldOperationsHandler<T>

java.lang.Object
com.atlassian.jira.issue.customfields.impl.rest.AbstractCustomFieldOperationsHandler<T>
All Implemented Interfaces:
RestFieldOperationsHandler
Direct Known Subclasses:
CascadingSelectCustomFieldOperationsHandler, DateCustomFieldOperationsHandler, DateTimeCustomFieldOperationsHandler, GroupCustomFieldOperationsHandler, LabelsCustomFieldOperationsHandler, MultiGroupCustomFieldOperationsHandler, MultiSelectCustomFieldOperationsHandler, MultiUserCustomFieldOperationsHandler, NumberCustomFieldOperationsHandler, ProjectCustomFieldOperationsHandler, SelectCustomFieldOperationsHandler, TextCustomFieldOperationsHandler, UserCustomFieldOperationsHandler

@PublicSpi public abstract class AbstractCustomFieldOperationsHandler<T> extends Object implements RestFieldOperationsHandler
Since:
v5.0
  • Field Details

  • Constructor Details

  • Method Details

    • getSupportedOperations

      public Set<String> getSupportedOperations()
      Description copied from interface: RestFieldOperationsHandler
      Returns a list of operation names which are supported by this field.
      Specified by:
      getSupportedOperations in interface RestFieldOperationsHandler
      Returns:
      a set of supported Operations
    • getInitialValue

      protected abstract T getInitialValue(Issue issue, ErrorCollection errors)
      compute the "currentValue" to be passed to applyOperation()
    • getInitialCreateValue

      protected abstract T getInitialCreateValue(IssueContext issueCtx)
      compute the "currentValue" to be passed to applyOperation()
    • finaliseOperation

      protected abstract void finaliseOperation(T finalValue, IssueInputParameters parameters, ErrorCollection errors)
      takes the value returnd by a call to applyOperation() and puts it into the inputparams
    • updateIssueInputParameters

      public ErrorCollection updateIssueInputParameters(IssueContext issueCtx, Issue issue, String fieldId, IssueInputParameters inputParameters, List<FieldOperationHolder> operations)
      Description copied from interface: RestFieldOperationsHandler
      This method has to set the field value(s) in the IssueInputParameters based on the operations. The issue service will validate the new field values in the IssueInputParameters, thus all permission checks are done by the issue service.
      Specified by:
      updateIssueInputParameters in interface RestFieldOperationsHandler
      Parameters:
      issueCtx - the Issue Context , i.e. Project IssueType
      issue - the issue (may be null when creating an issue)
      fieldId - The Id of the field being processed.
      inputParameters - the inputparameters containing all updatd field values.
      operations - the operations to perform for this field. Has to be one of the supported operations.
      Returns:
      contains errors, if there was a problem when setting the field values on the IssueInputParameters. No errors if it was able to update the IssueInputParameters.
    • handleSetOperation

      protected T handleSetOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
    • handleRemoveOperation

      protected T handleRemoveOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
    • handleAddOperation

      protected T handleAddOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
    • applyOperation

      protected T applyOperation(IssueContext issueCtx, Issue issue, StandardOperation operation, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
      gets called (perhaps multiple times) to apply the given operation to the given currentValuye, retyrning the new value