Interface INamedModelInstanceGrouped

All Superinterfaces:
IAttributable, IDefaultable, IDescribable, IGroupable, IInstance, IJsonNamed, IModelElement, IModelElementVisitable, IModelInstance, INamed, INamedInstance, INamedModelElement, INamedModelInstance
All Known Subinterfaces:
IAssemblyInstanceGrouped, IBoundInstanceModelGroupedAssembly, IBoundInstanceModelGroupedField, IBoundInstanceModelGroupedNamed, IFieldInstanceGrouped

public interface INamedModelInstanceGrouped extends INamedModelInstance
Represents an arbitrary grouping of Metaschema model instances.
  • Method Details

    • getParentContainer

      IChoiceGroupInstance getParentContainer()
      Description copied from interface: IInstance
      Get the parent model definition that serves as the container of this instance.
      Specified by:
      getParentContainer in interface IInstance
      Specified by:
      getParentContainer in interface IModelInstance
      Returns:
      the container
    • getContainingDefinition

      default IAssemblyDefinition getContainingDefinition()
      Description copied from interface: IInstance
      Retrieve the Metaschema module definition on which the instance was declared.
      Specified by:
      getContainingDefinition in interface IInstance
      Specified by:
      getContainingDefinition in interface IModelInstance
      Returns:
      the Metaschema module definition on which the instance was declared
    • getDiscriminatorValue

      @Nullable String getDiscriminatorValue()
      Get the discriminator JSON property name to use to identify the type of a given instance object.
      Returns:
      the discriminator property name or null if the effective name should be used instead
    • getEffectiveDisciminatorValue

      @NonNull default String getEffectiveDisciminatorValue()
      Get the effective discriminator JSON property name to use to identify the type of a given instance object.
      Returns:
      the discriminator property name
    • getEffectiveJsonKey

      @Nullable default IFlagInstance getEffectiveJsonKey()
      Description copied from interface: INamedModelInstance
      Get the JSON key flag instance for this model instance, if one is configured.
      Specified by:
      getEffectiveJsonKey in interface INamedModelInstance
      Returns:
      the JSON key flag instance or null if no JSON key is configured
    • getJsonKey

      @Nullable default IFlagInstance getJsonKey()
      Description copied from interface: INamedModelInstance
      Get the JSON key associated with this instance.
      Specified by:
      getJsonKey in interface INamedModelInstance
      Returns:
      the configured JSON key or null if no JSON key is configured
    • getMinOccurs

      default int getMinOccurs()
      Description copied from interface: IGroupable
      Get the minimum cardinality for this associated instance. This value must be less than or equal to the maximum cardinality returned by IGroupable.getMaxOccurs().
      Specified by:
      getMinOccurs in interface IGroupable
      Returns:
      0 or a positive integer value
      See Also:
    • getMaxOccurs

      default int getMaxOccurs()
      Description copied from interface: IGroupable
      Get the maximum cardinality for this associated instance. This value must be greater than or equal to the minimum cardinality returned by IGroupable.getMinOccurs(), or -1 if unbounded.
      Specified by:
      getMaxOccurs in interface IGroupable
      Returns:
      a positive integer value or -1 if unbounded
      See Also: