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