Class FieldConfigManagerImpl

java.lang.Object
com.atlassian.jira.issue.fields.config.manager.FieldConfigManagerImpl
All Implemented Interfaces:
FieldConfigManager

public class FieldConfigManagerImpl extends Object implements FieldConfigManager
  • Constructor Details

  • Method Details

    • getFieldConfig

      public FieldConfig getFieldConfig(Long configId)
      Description copied from interface: FieldConfigManager
      Retrieve field configuration by database ID.
      Specified by:
      getFieldConfig in interface FieldConfigManager
      Parameters:
      configId - the database id
      Returns:
      the FieldConfig object
    • createFieldConfig

      public FieldConfig createFieldConfig(FieldConfig newConfig, List<FieldConfigItemType> configurationItemTypes)
      Specified by:
      createFieldConfig in interface FieldConfigManager
    • createWithDefaultValues

      public FieldConfig createWithDefaultValues(ConfigurableField field)
      Specified by:
      createWithDefaultValues in interface FieldConfigManager
    • updateFieldConfig

      public FieldConfig updateFieldConfig(FieldConfig newConfig)
      Specified by:
      updateFieldConfig in interface FieldConfigManager
    • removeConfigsForConfigScheme

      public void removeConfigsForConfigScheme(Long fieldConfigSchemeId)
      Description copied from interface: FieldConfigManager
      Removes FieldConfig objects that are only associated to the specified FieldConfigScheme. In theory, a FieldConfig should only ever be associated to one FieldConfigScheme, but here we take a defensive approach.

      When FieldConfig objects are removed, their associated OptionSets and GenericConfigs are also removed.

      Note that the mapping from FieldConfig to FieldConfigScheme in FieldConfigSchemeIssueType is not removed until FieldConfigScheme#remove() is called. Thus, if someone calls FieldConfigSchemeManager#getFieldConfigScheme() after this method is called but before the FieldConfigScheme is removed, a NullPointerException will occur because the FieldConfig referenced by the mapping record no longer exists.

      Specified by:
      removeConfigsForConfigScheme in interface FieldConfigManager
      Parameters:
      fieldConfigSchemeId - the scheme id of the fieldConfigScheme the fieldConfigs are exclusive to.