public interface IProduction
Information about Java classes generated for a collection of Module modules.
-
Method Summary
Modifier and TypeMethodDescriptionStream<? extends IGeneratedClass>Get a stream of all Java classes generated as part of this production, including module, definition, and package-info classes.Get a stream of all definition Java classes generated as part of this production.getModuleProduction(dev.metaschema.core.model.IModule module) Get information about the Java classes generated for the provided Modulemodule.Get information about the Java classes generated for each Module module in the collection.static IProductionof(Collection<? extends dev.metaschema.core.model.IModule> modules, IBindingConfiguration bindingConfiguration, Path classDir) Create a new production for the provided set of Modulemodules.
-
Method Details
-
getModuleProductions
Get information about the Java classes generated for each Module module in the collection.- Returns:
- the Java class information for each module
-
getModuleProduction
@Nullable IGeneratedModuleClass getModuleProduction(@NonNull dev.metaschema.core.model.IModule module) Get information about the Java classes generated for the provided Modulemodule.- Parameters:
module- the Module module to get information for- Returns:
- the Java class information for the module or
nullif this production did not involve generating classes for the provided module
-
getGlobalDefinitionClasses
Get a stream of all definition Java classes generated as part of this production.This will include each unique class generated for all Module modules associated with this production.
- Returns:
- the stream of generated Java classes
-
getGeneratedClasses
Get a stream of all Java classes generated as part of this production, including module, definition, and package-info classes.- Returns:
- the stream of generated Java classes
-
of
@NonNull static IProduction of(@NonNull Collection<? extends dev.metaschema.core.model.IModule> modules, @NonNull IBindingConfiguration bindingConfiguration, @NonNull Path classDir) throws IOException Create a new production for the provided set of Modulemodules.- Parameters:
modules- the Module modules to generate and compile classes forbindingConfiguration- binding customizations that can be used to set namespaces, class names, and other aspects of generated classesclassDir- the directory to generate and compile classes in- Returns:
- the production information
- Throws:
IOException- if an error occurred while generating or compiling the classes
-