Interface IFeatureContainerFlag<FI extends IFlagInstance>

Type Parameters:
FI - the flag instance Java type
All Superinterfaces:
IAttributable, IContainer, IDefaultable, IDefinition, IDescribable, IFeatureValueConstrained, IJsonNamed, IModelDefinition, IModelElement, IModelElementVisitable, INamed, INamedModelElement, IValueConstrained
All Known Subinterfaces:
IBoundDefinitionModel<ITEM>, IBoundDefinitionModelAssembly, IBoundDefinitionModelComplex, IBoundDefinitionModelField<ITEM>, IBoundDefinitionModelFieldComplex, IBoundInstanceModelFieldScalar
All Known Implementing Classes:
AbstractGlobalAssemblyDefinition, AbstractGlobalFieldDefinition, AbstractInlineAssemblyDefinition, AbstractInlineFieldDefinition

public interface IFeatureContainerFlag<FI extends IFlagInstance> extends IModelDefinition
Represents a definition that may contain flags.
  • Method Details

    • getFlagContainer

      @NonNull IContainerFlagSupport<FI> getFlagContainer()
      Lazy initialize the flag instances associated with this definition.
      Returns:
      the flag container
    • getFlagInstanceByName

      @Nullable default FI getFlagInstanceByName(Integer index)
      Description copied from interface: IModelDefinition
      Retrieves a flag instance, by the flag's effective name-based qualified name index.
      Specified by:
      getFlagInstanceByName in interface IModelDefinition
      Parameters:
      index - the flag's name-based qualified name index
      Returns:
      the matching flag instance, or null if there is no flag matching the specified name
    • getFlagInstances

      @NonNull default Collection<? extends FI> getFlagInstances()
      Description copied from interface: IModelDefinition
      Retrieves the flag instances for all flags defined on the containing definition.
      Specified by:
      getFlagInstances in interface IModelDefinition
      Returns:
      the flags
    • getJsonKey

      default FI getJsonKey()
      Description copied from interface: IModelDefinition
      Retrieves the flag instance to use as the property name for the containing object in JSON whose value will be the object containing the flag.
      Specified by:
      getJsonKey in interface IModelDefinition
      Returns:
      the flag instance if a JSON key is configured, or null otherwise