Interface IContainerModel

All Superinterfaces:
IContainer
All Known Subinterfaces:
IAssemblyDefinition, IBindingDefinitionModelAssembly, IBoundDefinitionModelAssembly, IBoundInstanceModelChoiceGroup, IChoiceGroupInstance, IChoiceInstance, IContainerModelAbsolute, IContainerModelAssembly, IContainerModelGrouped, IFeatureContainerModelAbsolute<MI,NMI,FI,AI>, IFeatureContainerModelAssembly<MI,NMI,FI,AI,CI,CGI>, IFeatureContainerModelGrouped<NMI,FI,AI>
All Known Implementing Classes:
AbstractChoiceGroupInstance, AbstractChoiceInstance, AbstractGlobalAssemblyDefinition, AbstractInlineAssemblyDefinition

public interface IContainerModel extends IContainer
Indicates that the Metaschema type that has a complex model that can contain field and assembly instances.
  • Method Details

    • hasChildren

      default boolean hasChildren()
      Description copied from interface: IContainer
      Identifies if the container allows child instances or not.

      This can be the case if the container has flags or a complex model with at least a choice, choice group, field, or assembly instance.

      Specified by:
      hasChildren in interface IContainer
      Returns:
      true if there are flags or a model, or false otherwise
    • getOwningDefinition

      @NonNull IAssemblyDefinition getOwningDefinition()
      Retrieve the Metaschema module definition containing this container.
      Returns:
      the containing Metaschema module definition
    • getModelInstances

      @NonNull Collection<? extends IModelInstance> getModelInstances()
      Get all model instances within the container.
      Returns:
      an ordered collection of model instances
    • getNamedModelInstances

      @NonNull Collection<? extends INamedModelInstance> getNamedModelInstances()
      Get all named model instances within the container.
      Returns:
      an ordered mapping of use name to model instance
    • getNamedModelInstanceByName

      @Nullable INamedModelInstance getNamedModelInstanceByName(Integer index)
      Get the model instance contained within the model with the associated use name.
      Parameters:
      index - the effective name-based qualified name index of the model instance
      Returns:
      the matching model instance, or null if no match was found
      See Also:
    • getFieldInstances

      @NonNull Collection<? extends IFieldInstance> getFieldInstances()
      Get all field instances within the container.
      Returns:
      a mapping of use name to field instance
    • getFieldInstanceByName

      @Nullable IFieldInstance getFieldInstanceByName(Integer index)
      Get the field instance contained within the model with the associated use name.
      Parameters:
      index - the use name-based qualified name index of the field instance
      Returns:
      the matching field instance, or null if no match was found
      See Also:
    • getAssemblyInstances

      @NonNull Collection<? extends IAssemblyInstance> getAssemblyInstances()
      Get all assembly instances within the container.
      Returns:
      a mapping of use name to assembly instance
    • getAssemblyInstanceByName

      @Nullable IAssemblyInstance getAssemblyInstanceByName(Integer index)
      Get the assembly instance contained within the model with the associated use name.
      Parameters:
      index - the effective name-based qualified name index of the assembly instance
      Returns:
      the matching assembly instance, or null if no match was found
      See Also: