com.atlassian.jira.issue.customfields.impl.rest
Class AbstractCustomFieldOperationsHandler<T>

java.lang.Object
  extended by 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 Summary
protected  CustomField field
           
protected  I18nHelper i18nHelper
           
 
Constructor Summary
AbstractCustomFieldOperationsHandler(CustomField field)
          Deprecated. @since 5.0-RC2 Use the constructor AbstractCustomFieldOperationsHandler(CustomField field, I18nHelper i18nHelper)
AbstractCustomFieldOperationsHandler(CustomField field, I18nHelper i18nHelper)
          Constructor.
 
Method Summary
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
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
protected abstract  T getInitialCreateValue(IssueContext issueCtx)
          compute the "currentValue" to be passed to applyOperation()
protected abstract  T getInitialValue(Issue issue, ErrorCollection errors)
          compute the "currentValue" to be passed to applyOperation()
 Set<String> getSupportedOperations()
          Returns a list of operation names which are supported by this field.
protected  T handleAddOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
           
protected  T handleRemoveOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
           
protected  T handleSetOperation(IssueContext issueCtx, Issue issue, T currentFieldValue, JsonData operationValue, ErrorCollection errors)
           
 ErrorCollection updateIssueInputParameters(IssueContext issueCtx, Issue issue, String fieldId, IssueInputParameters inputParameters, List<FieldOperationHolder> operations)
          This method has to set the field value(s) in the IssueInputParameters based on the operations.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

field

protected final CustomField field

i18nHelper

protected final I18nHelper i18nHelper
Constructor Detail

AbstractCustomFieldOperationsHandler

public AbstractCustomFieldOperationsHandler(CustomField field,
                                            I18nHelper i18nHelper)
Constructor.

Parameters:
field - Field the handler is for.
i18nHelper - I18nHelper

AbstractCustomFieldOperationsHandler

public AbstractCustomFieldOperationsHandler(CustomField field)
Deprecated. @since 5.0-RC2 Use the constructor AbstractCustomFieldOperationsHandler(CustomField field, I18nHelper i18nHelper)

Constructor.

Parameters:
field - Field the handler is for.
Method Detail

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



Copyright © 2002-2013 Atlassian. All Rights Reserved.