Interface IFeatureFlagContainer<F extends IFlagInstance>
-
- All Superinterfaces:
IConstrained
,IContainer
,IDefinition
,gov.nist.secauto.metaschema.core.model.constraint.impl.IFeatureValueConstrained
,IFlagContainer
,IModelElement
,INamedModelElement
,IValueConstrained
public interface IFeatureFlagContainer<F extends IFlagInstance> extends IFlagContainer
-
-
Field Summary
-
Fields inherited from interface gov.nist.secauto.metaschema.core.model.IDefinition
DEFAULT_DEFINITION_MODEL_SCOPE
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description IFlagContainerSupport<F>
getFlagContainer()
Lazy initialize the flag instances associated with this definition.default F
getFlagInstanceByName(String name)
Retrieves a flag instance, by the flag's effective name, that is defined on the containing definition.default Collection<? extends F>
getFlagInstances()
Retrieves the flag instances for all flags defined on the containing definition.default F
getJsonKeyFlagInstance()
Retrieves the flag instance to use as as the property name for the containing object in JSON who's value will be the object containing the flag.-
Methods inherited from interface gov.nist.secauto.metaschema.core.model.IDefinition
getModuleScope, isInline, toCoordinates
-
Methods inherited from interface gov.nist.secauto.metaschema.core.model.constraint.impl.IFeatureValueConstrained
addConstraint, addConstraint, addConstraint, addConstraint, getAllowedValuesConstraints, getConstraints, getConstraintSupport, getExpectConstraints, getIndexHasKeyConstraints, getMatchesConstraints
-
Methods inherited from interface gov.nist.secauto.metaschema.core.model.IFlagContainer
getInlineInstance, getOwningDefinition, hasJsonKey, isSimple
-
Methods inherited from interface gov.nist.secauto.metaschema.core.model.IModelElement
getContainingModule, getModelType, getRemarks
-
Methods inherited from interface gov.nist.secauto.metaschema.core.model.INamedModelElement
getDescription, getEffectiveDescription, getEffectiveFormalName, getEffectiveName, getFormalName, getJsonName, getName, getProperties, getPropertyValues, getUseName, hasProperty, hasPropertyValue
-
-
-
-
Method Detail
-
getFlagContainer
@NonNull IFlagContainerSupport<F> getFlagContainer()
Lazy initialize the flag instances associated with this definition.- Returns:
- the flag container
-
getFlagInstanceByName
default F getFlagInstanceByName(String name)
Description copied from interface:IFlagContainer
Retrieves a flag instance, by the flag's effective name, that is defined on the containing definition.- Specified by:
getFlagInstanceByName
in interfaceIFlagContainer
- Parameters:
name
- the flag's name- Returns:
- the matching flag instance, or
null
if there is no flag matching the specified name
-
getFlagInstances
default Collection<? extends F> getFlagInstances()
Description copied from interface:IFlagContainer
Retrieves the flag instances for all flags defined on the containing definition.- Specified by:
getFlagInstances
in interfaceIFlagContainer
- Returns:
- the flags
-
getJsonKeyFlagInstance
default F getJsonKeyFlagInstance()
Description copied from interface:IFlagContainer
Retrieves the flag instance to use as as the property name for the containing object in JSON who's value will be the object containing the flag.- Specified by:
getJsonKeyFlagInstance
in interfaceIFlagContainer
- Returns:
- the flag instance if a JSON key is configured, or
null
otherwise - See Also:
IFlagContainer.hasJsonKey()
-
-