001/* 002 * SPDX-FileCopyrightText: none 003 * SPDX-License-Identifier: CC0-1.0 004 */ 005 006package gov.nist.secauto.metaschema.databind.codegen; 007 008import gov.nist.secauto.metaschema.core.model.IModelDefinition; 009 010import edu.umd.cs.findbugs.annotations.NonNull; 011 012public interface IGeneratedDefinitionClass extends IGeneratedClass { 013 014 /** 015 * Get the Module definition associated with this class. 016 * 017 * @return the definition 018 */ 019 @NonNull 020 IModelDefinition getDefinition(); 021 022 /** 023 * Indicates if the class represents a root Module assembly which can be the 024 * top-level element/property of an XML, JSON, or YAML instance. 025 * 026 * @return {@code true} if the class is a root assembly, or {@code false} 027 * otherwise 028 */ 029 boolean isRootClass(); 030}