1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package gov.nist.secauto.metaschema.core.model.xml;
28
29 import gov.nist.secauto.metaschema.core.datatype.markup.MarkupLine;
30 import gov.nist.secauto.metaschema.core.datatype.markup.MarkupMultiline;
31 import gov.nist.secauto.metaschema.core.model.AbstractFlagInstance;
32 import gov.nist.secauto.metaschema.core.model.IFlagContainer;
33 import gov.nist.secauto.metaschema.core.model.IFlagDefinition;
34 import gov.nist.secauto.metaschema.core.model.MetaschemaModelConstants;
35 import gov.nist.secauto.metaschema.core.model.xml.xmlbeans.FlagReferenceType;
36 import gov.nist.secauto.metaschema.core.util.CollectionUtil;
37 import gov.nist.secauto.metaschema.core.util.ObjectUtils;
38
39 import java.util.Map;
40 import java.util.Set;
41
42 import javax.xml.namespace.QName;
43
44 import edu.umd.cs.findbugs.annotations.NonNull;
45
46 class XmlFlagInstance
47 extends AbstractFlagInstance {
48 @NonNull
49 private final FlagReferenceType xmlFlag;
50
51
52
53
54
55
56
57
58
59
60 public XmlFlagInstance(@NonNull FlagReferenceType xmlFlag, @NonNull IFlagContainer parent) {
61 super(parent);
62 this.xmlFlag = xmlFlag;
63 }
64
65
66
67
68
69
70 protected FlagReferenceType getXmlFlag() {
71 return xmlFlag;
72 }
73
74 @Override
75 public IFlagDefinition getDefinition() {
76
77 return ObjectUtils.requireNonNull(getContainingDefinition().getContainingModule()
78 .getScopedFlagDefinitionByName(getName()));
79 }
80
81 @Override
82 public String getFormalName() {
83 return getXmlFlag().isSetFormalName() ? getXmlFlag().getFormalName() : null;
84 }
85
86 @SuppressWarnings("null")
87 @Override
88 public MarkupLine getDescription() {
89 return getXmlFlag().isSetDescription() ? MarkupStringConverter.toMarkupString(getXmlFlag().getDescription()) : null;
90 }
91
92 @Override
93 public Map<QName, Set<String>> getProperties() {
94 return ModelFactory.toProperties(CollectionUtil.listOrEmpty(getXmlFlag().getPropList()));
95 }
96
97 @SuppressWarnings("null")
98 @Override
99 public String getName() {
100 return getXmlFlag().getRef();
101 }
102
103 @SuppressWarnings("null")
104 @Override
105 public MarkupMultiline getRemarks() {
106 return getXmlFlag().isSetRemarks() ? MarkupStringConverter.toMarkupString(getXmlFlag().getRemarks()) : null;
107 }
108
109 @Override
110 public boolean isRequired() {
111 return getXmlFlag().isSetRequired() ? getXmlFlag().getRequired() : MetaschemaModelConstants.DEFAULT_FLAG_REQUIRED;
112 }
113
114 @Override
115 public String getUseName() {
116 return getXmlFlag().isSetUseName() ? getXmlFlag().getUseName() : null;
117 }
118
119 @Override
120 public Object getValue(@NonNull Object parentValue) {
121
122 return null;
123 }
124 }