1   /*
2    * SPDX-FileCopyrightText: none
3    * SPDX-License-Identifier: CC0-1.0
4    */
5   
6   package gov.nist.secauto.metaschema.databind.codegen;
7   
8   import gov.nist.secauto.metaschema.core.model.IModelDefinition;
9   
10  import edu.umd.cs.findbugs.annotations.NonNull;
11  
12  public interface IGeneratedDefinitionClass extends IGeneratedClass {
13  
14    /**
15     * Get the Module definition associated with this class.
16     *
17     * @return the definition
18     */
19    @NonNull
20    IModelDefinition getDefinition();
21  
22    /**
23     * Indicates if the class represents a root Module assembly which can be the
24     * top-level element/property of an XML, JSON, or YAML instance.
25     *
26     * @return {@code true} if the class is a root assembly, or {@code false}
27     *         otherwise
28     */
29    boolean isRootClass();
30  }