1
2
3
4
5
6 package gov.nist.secauto.metaschema.schemagen.json.impl;
7
8 import com.fasterxml.jackson.databind.node.ObjectNode;
9
10 import gov.nist.secauto.metaschema.core.model.IFlagDefinition;
11 import gov.nist.secauto.metaschema.core.util.ObjectUtils;
12
13 import java.util.Set;
14 import java.util.stream.Stream;
15
16 import edu.umd.cs.findbugs.annotations.NonNull;
17
18
19
20
21
22 public class JsonSchemaDefinitionFlag
23 extends AbstractJsonSchemaDefinition<IFlagDefinition> {
24
25
26
27
28
29
30
31
32
33
34 public JsonSchemaDefinitionFlag(
35 @NonNull IFlagDefinition definition,
36 @NonNull IJsonGenerationState state) {
37 super(definition, state);
38 }
39
40 @Override
41 public Stream<IJsonSchemaDefinable> collectDefinitions(
42 Set<IJsonSchemaDefinitionAssembly> visited,
43 IJsonGenerationState state) {
44 return ObjectUtils.notNull(Stream.of(this));
45 }
46
47 @Override
48 public String generateDefinitionName(IJsonGenerationState state) {
49 return state.generateJsonSchemaDefinitionName(getDefinition(), null, null);
50 }
51
52 @Override
53 public void generateBody(ObjectNode node, IJsonGenerationState state) {
54 IDataTypeJsonSchema schema = state.getDataTypeSchemaForDefinition(getDefinition());
55 schema.generateJsonSchemaOrDefinitionRef(node, state);
56 }
57 }