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.metapath.item.node;
28
29 import gov.nist.secauto.metaschema.core.metapath.format.IPathFormatter;
30 import gov.nist.secauto.metaschema.core.metapath.item.IAtomicValuedItem;
31 import gov.nist.secauto.metaschema.core.model.IFlagDefinition;
32 import gov.nist.secauto.metaschema.core.model.IFlagInstance;
33
34 import java.net.URI;
35 import java.util.Collection;
36 import java.util.Collections;
37 import java.util.List;
38 import java.util.stream.Stream;
39
40 import edu.umd.cs.findbugs.annotations.NonNull;
41 import edu.umd.cs.findbugs.annotations.Nullable;
42
43 public interface IFlagNodeItem
44 extends IDefinitionNodeItem<IFlagDefinition, IFlagInstance>, IAtomicValuedItem {
45 @Override
46 default NodeItemType getNodeItemType() {
47 return NodeItemType.FLAG;
48 }
49
50 @Override
51 default IFlagNodeItem getNodeItem() {
52 return this;
53 }
54
55 @Override
56 IFlagDefinition getDefinition();
57
58 @Override
59 IFlagInstance getInstance();
60
61 @Override
62 @Nullable
63 default URI getBaseUri() {
64 INodeItem parent = getParentNodeItem();
65 return parent == null ? null : parent.getBaseUri();
66 }
67
68
69
70
71
72 @SuppressWarnings("null")
73 @Override
74 default Collection<? extends IFlagNodeItem> getFlags() {
75
76 return Collections.emptyList();
77 }
78
79
80
81
82 @Override
83 default IFlagNodeItem getFlagByName(@NonNull String name) {
84
85 return null;
86 }
87
88
89
90
91
92 @SuppressWarnings("null")
93 @Override
94 default @NonNull Stream<? extends IFlagNodeItem> flags() {
95
96 return Stream.empty();
97 }
98
99
100
101
102
103 @SuppressWarnings("null")
104 @Override
105 default @NonNull Collection<? extends List<? extends IModelNodeItem<?, ?>>> getModelItems() {
106
107 return Collections.emptyList();
108 }
109
110
111
112
113 @SuppressWarnings("null")
114 @Override
115 default List<? extends IModelNodeItem<?, ?>> getModelItemsByName(String name) {
116
117 return Collections.emptyList();
118 }
119
120
121
122
123
124 @SuppressWarnings("null")
125 @NonNull
126 @Override
127 default Stream<? extends IModelNodeItem<?, ?>> modelItems() {
128
129 return Stream.empty();
130 }
131
132 @Override
133 default @NonNull String format(@NonNull IPathFormatter formatter) {
134 return formatter.formatFlag(this);
135 }
136
137 @Override
138 default <RESULT, CONTEXT> RESULT accept(@NonNull INodeItemVisitor<RESULT, CONTEXT> visitor, CONTEXT context) {
139 return visitor.visitFlag(this, context);
140 }
141 }