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.IContainerModelGrouped;
009
010import java.util.Collection;
011
012import javax.xml.namespace.QName;
013
014import edu.umd.cs.findbugs.annotations.NonNull;
015import edu.umd.cs.findbugs.annotations.Nullable;
016
017public interface IBoundContainerModelChoiceGroup extends IContainerModelGrouped {
018
019  @Override
020  @NonNull
021  Collection<? extends IBoundInstanceModelGroupedNamed> getModelInstances();
022
023  @Override
024  @NonNull
025  Collection<? extends IBoundInstanceModelGroupedNamed> getNamedModelInstances();
026
027  @Override
028  IBoundInstanceModelGroupedNamed getNamedModelInstanceByName(QName name);
029
030  @Override
031  @NonNull
032  Collection<? extends IBoundInstanceModelGroupedField> getFieldInstances();
033
034  @Override
035  @Nullable
036  IBoundInstanceModelGroupedField getFieldInstanceByName(QName name);
037
038  @Override
039  @NonNull
040  Collection<? extends IBoundInstanceModelGroupedAssembly> getAssemblyInstances();
041
042  @Override
043  @Nullable
044  IBoundInstanceModelGroupedAssembly getAssemblyInstanceByName(QName name);
045}