1
2
3
4
5
6 package dev.metaschema.core.mdm.impl;
7
8 import java.util.Collection;
9 import java.util.List;
10
11 import dev.metaschema.core.mdm.IDMFieldNodeItem;
12 import dev.metaschema.core.metapath.item.atomic.IAnyAtomicItem;
13 import dev.metaschema.core.metapath.item.node.IModelNodeItem;
14 import dev.metaschema.core.model.IFieldDefinition;
15 import dev.metaschema.core.model.IFieldInstance;
16 import dev.metaschema.core.qname.IEnhancedQName;
17 import dev.metaschema.core.util.CollectionUtil;
18 import edu.umd.cs.findbugs.annotations.NonNull;
19
20
21
22
23
24 public abstract class AbstractDMFieldNodeItem
25 extends AbstractDMModelNodeItem<IFieldDefinition, IFieldInstance>
26 implements IDMFieldNodeItem {
27 @NonNull
28 private IAnyAtomicItem value;
29
30
31
32
33
34
35
36 protected AbstractDMFieldNodeItem(@NonNull IAnyAtomicItem value) {
37
38 this.value = value;
39 }
40
41 @Override
42 public IAnyAtomicItem toAtomicItem() {
43 return value;
44 }
45
46
47
48
49
50
51
52 public void setValue(@NonNull IAnyAtomicItem value) {
53 this.value = getValueItemType().cast(value);
54 }
55
56
57
58
59
60
61
62
63
64
65 public void setValue(@NonNull Object value) {
66 this.value = getValueItemType().newItem(value);
67 }
68
69 @Override
70 public String stringValue() {
71 return toAtomicItem().asString();
72 }
73
74 @Override
75 protected String getValueSignature() {
76 return toAtomicItem().toSignature();
77 }
78
79 @Override
80 public Collection<? extends List<? extends IModelNodeItem<?, ?>>> getModelItems() {
81
82 return CollectionUtil.emptyList();
83 }
84
85 @Override
86 public List<? extends IModelNodeItem<?, ?>> getModelItemsByName(IEnhancedQName name) {
87
88 return CollectionUtil.emptyList();
89 }
90
91 }