@PublicApi public interface


Known Indirect Subclasses


This interface is designed for plugins to consume (call its methods).

Clients of @PublicApi can expect that programs compiled against a given version will remain binary compatible with later versions of the @PublicApi as per each product's API policy as long as the client does not implement/extend @PublicApi interfaces or classes (refer to each product's API policy for the exact guarantee---usually binary compatibility is guaranteed at least across minor versions).

Note: since @PublicApi interfaces and classes are not designed to be implemented or extended by clients, we may perform certain types of binary-incompatible changes to these classes and interfaces, but these will not affect well-behaved clients that do not extend/implement these types (in general, only classes and interfaces annotated with @PublicSpi are safe to extend/implement).

Class Overview

Manager for field configurations.

See Also


Public Methods
FieldConfig createFieldConfig(FieldConfig newConfig, List<FieldConfigItemType> configurationItemTypes)
FieldConfig createWithDefaultValues(ConfigurableField field)
FieldConfig getFieldConfig(Long configId)
Retrieve field configuration by database ID.
void removeConfigsForConfigScheme(Long fieldConfigSchemeId)
Removes FieldConfig objects that are only associated to the specified FieldConfigScheme.
FieldConfig updateFieldConfig(FieldConfig newConfig)

Public Methods

public FieldConfig createFieldConfig (FieldConfig newConfig, List<FieldConfigItemType> configurationItemTypes)

public FieldConfig createWithDefaultValues (ConfigurableField field)

public FieldConfig getFieldConfig (Long configId)

Retrieve field configuration by database ID.

configId the database id
  • the FieldConfig object

public 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.

fieldConfigSchemeId the scheme id of the fieldConfigScheme the fieldConfigs are exclusive to.

public FieldConfig updateFieldConfig (FieldConfig newConfig)