Class ModuleCompilerHelper

    • Method Detail

      • compileMetaschema

        @NonNull
        public static IProduction compileMetaschema​(@NonNull
                                                    IModule module,
                                                    @NonNull
                                                    Path classDir)
                                             throws IOException
        Generate and compile Java class, representing the provided Module module and its related definitions, using the default binding configuration.
        Parameters:
        module - the Module module to generate Java classes for
        classDir - the directory to generate the classes in
        Returns:
        information about the generated classes
        Throws:
        IOException - if an error occurred while generating or compiling the classes
      • compileModule

        @NonNull
        public static IProduction compileModule​(@NonNull
                                                IModule module,
                                                @NonNull
                                                Path classDir,
                                                @NonNull
                                                IBindingConfiguration bindingConfiguration)
                                         throws IOException
        Generate and compile Java class, representing the provided Module module and its related definitions, using the provided custom bindingConfiguration.
        Parameters:
        module - the Module module to generate Java classes for
        classDir - the directory to generate the classes in
        bindingConfiguration - configuration settings with directives that tailor the class generation
        Returns:
        information about the generated classes
        Throws:
        IOException - if an error occurred while generating or compiling the classes
      • newClassLoader

        @NonNull
        public static ClassLoader newClassLoader​(@NonNull
                                                 Path classDir,
                                                 @NonNull
                                                 ClassLoader parent)
        Create a new classloader capable of loading Java classes generated in the provided classDir.
        Parameters:
        classDir - the directory where generated Java classes have been compiled
        parent - the classloader to delegate to when the created class loader cannot load a class
        Returns:
        the new class loader