Interface FieldConfigManager

All Known Implementing Classes:
FieldConfigManagerImpl

@PublicApi public interface FieldConfigManager
See Also:
  • Method Details

    • getFieldConfig

      FieldConfig getFieldConfig(Long configId)
      Retrieve field configuration by database ID.
      Parameters:
      configId - the database id
      Returns:
      the FieldConfig object
    • createFieldConfig

      FieldConfig createFieldConfig(FieldConfig newConfig, List<FieldConfigItemType> configurationItemTypes)
    • updateFieldConfig

      FieldConfig updateFieldConfig(FieldConfig newConfig)
    • createWithDefaultValues

      FieldConfig createWithDefaultValues(ConfigurableField field)
    • removeConfigsForConfigScheme

      void removeConfigsForConfigScheme(Long fieldConfigSchemeId)
      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.

      Parameters:
      fieldConfigSchemeId - the scheme id of the fieldConfigScheme the fieldConfigs are exclusive to.