1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.schemagen.json;
7   
8   import gov.nist.secauto.metaschema.core.model.IDefinition;
9   
10  import java.util.Map;
11  
12  import edu.umd.cs.findbugs.annotations.NonNull;
13  
14  public interface IDefinitionJsonSchema<D extends IDefinition>
15      extends IDefineableJsonSchema {
16    @NonNull
17    D getDefinition();
18  
19    void gatherDefinitions(
20        @NonNull Map<IKey, IDefinitionJsonSchema<?>> gatheredDefinitions,
21        @NonNull IJsonGenerationState state);
22  
23    @NonNull
24    IKey getKey();
25  }