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 }