Package org.kie.memorycompiler
Interface JavaCompiler
- All Known Implementing Classes:
AbstractJavaCompiler,NativeJavaCompiler
public interface JavaCompiler
The general compiler interface. All compilers implementing
this interface should read the resources from the reader
and store the java class files into the ResourceStore.
The actual compilation language does not matter. But the
contract is that the result of the compilation will be a
class file.
If possible the compiler should notify the optional
CompilationProblemHandler as soon as a problem is found.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptioncompile(String[] pResourcePaths, ResourceReader pReader, ResourceStore pStore) uses the default compiler settings and the current classloadercompile(String[] pResourcePaths, ResourceReader pReader, ResourceStore pStore, ClassLoader pClassLoader) uses the default compiler settingscompile(String[] pResourcePaths, ResourceReader pReader, ResourceStore pStore, ClassLoader pClassLoader, JavaCompilerSettings pSettings) Compiles the java resources "some/path/to/MyJava.java" read through the ResourceReader and then stores the resulting classes in the ResourceStore under "some/path/to/MyJava.class".factory method to create the underlying default settingsstatic JavaCompilerstatic JavaCompilercreateEclipseCompiler(String javaVersion) static JavaCompilerstatic JavaCompilercreateNativeCompiler(String javaVersion) static JavaCompilervoidsetJavaCompilerSettings(JavaCompilerSettings javaCompilerSettings) default voidsetSourceFolder(String sourceFolder)
-
Field Details
-
DUMP_GENERATED_CLASSES
static final boolean DUMP_GENERATED_CLASSES- See Also:
-
-
Method Details
-
getCompiler
-
createNativeCompiler
-
createNativeCompiler
-
createEclipseCompiler
-
createEclipseCompiler
-
setSourceFolder
-
createDefaultSettings
JavaCompilerSettings createDefaultSettings()factory method to create the underlying default settings -
setJavaCompilerSettings
-
compile
uses the default compiler settings and the current classloader -
compile
CompilationResult compile(String[] pResourcePaths, ResourceReader pReader, ResourceStore pStore, ClassLoader pClassLoader) uses the default compiler settings -
compile
CompilationResult compile(String[] pResourcePaths, ResourceReader pReader, ResourceStore pStore, ClassLoader pClassLoader, JavaCompilerSettings pSettings) Compiles the java resources "some/path/to/MyJava.java" read through the ResourceReader and then stores the resulting classes in the ResourceStore under "some/path/to/MyJava.class". Note: As these are resource path you always have to use "/" The result of the compilation run including detailed error information is returned as CompilationResult. If you need to get notified already during the compilation process you can register a CompilationProblemHandler. Note: Not all compilers might support this notification mechanism.- Parameters:
pResourcePaths-pReader-pStore-pClassLoader-pSettings-- Returns:
- always a CompilationResult
-