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.IModule;
9   
10  import java.util.Collection;
11  
12  import edu.umd.cs.findbugs.annotations.NonNull;
13  
14  /**
15   * Provides information about a generated Java class that represents a Module
16   * module.
17   */
18  public interface IGeneratedModuleClass extends IGeneratedClass {
19  
20    /**
21     * Get the associated Module module data.
22     *
23     * @return the module data
24     */
25    @NonNull
26    IModule getModule();
27  
28    /**
29     * Get the Java package name associated with the Module module.
30     *
31     * @return the package name
32     */
33    @NonNull
34    String getPackageName();
35  
36    /**
37     * Get the collection of generated classes representing definitions associated
38     * with the Module module.
39     *
40     * @return the collection of definition classes
41     */
42    @NonNull
43    Collection<IGeneratedDefinitionClass> getGeneratedDefinitionClasses();
44  }