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  }