1
2
3
4
5
6 package gov.nist.secauto.metaschema.databind.model;
7
8 import gov.nist.secauto.metaschema.core.model.IBoundObject;
9 import gov.nist.secauto.metaschema.core.model.IContainerFlagSupport;
10 import gov.nist.secauto.metaschema.core.model.IFeatureDefinitionInstanceInlined;
11 import gov.nist.secauto.metaschema.core.util.ObjectUtils;
12 import gov.nist.secauto.metaschema.databind.model.info.IFeatureScalarItemValueHandler;
13 import gov.nist.secauto.metaschema.databind.model.info.IItemReadHandler;
14 import gov.nist.secauto.metaschema.databind.model.info.IItemWriteHandler;
15
16 import java.io.IOException;
17
18 public interface IBoundInstanceModelFieldScalar
19 extends IBoundInstanceModelField<Object>,
20 IBoundDefinitionModelField<Object>, IFeatureScalarItemValueHandler,
21 IFeatureDefinitionInstanceInlined<IBoundDefinitionModelField<Object>, IBoundInstanceModelFieldScalar> {
22
23
24 @Override
25 default IBoundDefinitionModelField<Object> getDefinition() {
26 return IFeatureDefinitionInstanceInlined.super.getDefinition();
27 }
28
29 @Override
30 default IBoundInstanceModelFieldScalar getInlineInstance() {
31 return IFeatureDefinitionInstanceInlined.super.getInlineInstance();
32 }
33
34 @Override
35 IBoundDefinitionModelAssembly getContainingDefinition();
36
37 @Override
38 default IContainerFlagSupport<IBoundInstanceFlag> getFlagContainer() {
39 return IContainerFlagSupport.empty();
40 }
41
42 @Override
43 default IBoundInstanceFlag getJsonKey() {
44
45 return null;
46 }
47
48 @Override
49 default IBoundInstanceFlag getItemJsonKey(Object item) {
50
51 return null;
52 }
53
54 @Override
55 default Object getFieldValue(Object item) {
56
57 return item;
58 }
59
60 @Override
61 default String getJsonValueKeyName() {
62
63 return null;
64 }
65
66 @Override
67 default IBoundInstanceFlag getJsonValueKeyFlagInstance() {
68
69 return null;
70 }
71
72 @Override
73 default Object readItem(IBoundObject parent, IItemReadHandler handler) throws IOException {
74 return handler.readItemField(ObjectUtils.requireNonNull(parent, "parent"), this);
75 }
76
77 @Override
78 default void writeItem(Object item, IItemWriteHandler handler) throws IOException {
79 handler.writeItemField(item, this);
80 }
81 }