001/*
002 * SPDX-FileCopyrightText: none
003 * SPDX-License-Identifier: CC0-1.0
004 */
005
006package gov.nist.secauto.metaschema.databind.model;
007
008import gov.nist.secauto.metaschema.core.model.IContainerModelAssembly;
009
010import java.util.Collection;
011import java.util.Map;
012
013import javax.xml.namespace.QName;
014
015import edu.umd.cs.findbugs.annotations.NonNull;
016import edu.umd.cs.findbugs.annotations.Nullable;
017
018public interface IBoundContainerModelAssembly extends IContainerModelAssembly {
019  @Override
020  @NonNull
021  IBoundDefinitionModelAssembly getOwningDefinition();
022
023  @Override
024  @NonNull
025  Collection<? extends IBoundInstanceModel<?>> getModelInstances();
026
027  @Override
028  @NonNull
029  Collection<? extends IBoundInstanceModelNamed<?>> getNamedModelInstances();
030
031  @Override
032  @Nullable
033  IBoundInstanceModelNamed<?> getNamedModelInstanceByName(QName name);
034
035  @Override
036  @NonNull
037  Collection<? extends IBoundInstanceModelField<?>> getFieldInstances();
038
039  @Override
040  @Nullable
041  IBoundInstanceModelField<?> getFieldInstanceByName(QName name);
042
043  @Override
044  @NonNull
045  Collection<? extends IBoundInstanceModelAssembly> getAssemblyInstances();
046
047  @Override
048  @Nullable
049  IBoundInstanceModelAssembly getAssemblyInstanceByName(QName name);
050
051  @Override
052  IBoundInstanceModelChoiceGroup getChoiceGroupInstanceByName(String name);
053
054  @Override
055  Map<String, ? extends IBoundInstanceModelChoiceGroup> getChoiceGroupInstances();
056}