1
2
3
4
5
6 package gov.nist.secauto.metaschema.core.model;
7
8 import java.util.Collection;
9
10 import javax.xml.namespace.QName;
11
12 import edu.umd.cs.findbugs.annotations.NonNull;
13
14 public interface IFeatureContainerModelGrouped<
15 NMI extends INamedModelInstanceGrouped,
16 FI extends IFieldInstanceGrouped,
17 AI extends IAssemblyInstanceGrouped>
18 extends IContainerModelGrouped, IFeatureContainerModel<NMI, NMI, FI, AI> {
19
20
21
22
23
24 @Override
25 @NonNull
26 IContainerModelSupport<NMI, NMI, FI, AI> getModelContainer();
27
28 @Override
29 default boolean hasChildren() {
30 return !getModelContainer().getModelInstances().isEmpty();
31 }
32
33 @Override
34 default Collection<NMI> getModelInstances() {
35 return getModelContainer().getModelInstances();
36 }
37
38 @Override
39 default NMI getNamedModelInstanceByName(QName name) {
40 return getModelContainer().getNamedModelInstanceMap().get(name);
41 }
42
43 @SuppressWarnings("null")
44 @Override
45 default Collection<NMI> getNamedModelInstances() {
46 return getModelContainer().getNamedModelInstanceMap().values();
47 }
48
49 @Override
50 default FI getFieldInstanceByName(QName name) {
51 return getModelContainer().getFieldInstanceMap().get(name);
52 }
53
54 @SuppressWarnings("null")
55 @Override
56 default Collection<FI> getFieldInstances() {
57 return getModelContainer().getFieldInstanceMap().values();
58 }
59
60 @Override
61 default AI getAssemblyInstanceByName(QName name) {
62 return getModelContainer().getAssemblyInstanceMap().get(name);
63 }
64
65 @SuppressWarnings("null")
66 @Override
67 default Collection<AI> getAssemblyInstances() {
68 return getModelContainer().getAssemblyInstanceMap().values();
69 }
70 }