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.IModule;
009
010import java.util.Collection;
011
012import edu.umd.cs.findbugs.annotations.NonNull;
013
014/**
015 * Provides information about a generated Java class that represents a Module
016 * module.
017 */
018public interface IGeneratedModuleClass extends IGeneratedClass {
019
020  /**
021   * Get the associated Module module data.
022   *
023   * @return the module data
024   */
025  @NonNull
026  IModule getModule();
027
028  /**
029   * Get the Java package name associated with the Module module.
030   *
031   * @return the package name
032   */
033  @NonNull
034  String getPackageName();
035
036  /**
037   * Get the collection of generated classes representing definitions associated
038   * with the Module module.
039   *
040   * @return the collection of definition classes
041   */
042  @NonNull
043  Collection<IGeneratedDefinitionClass> getGeneratedDefinitionClasses();
044}