Package org.evrete.api
Interface JavaSourceCompiler
public interface JavaSourceCompiler
A plain source Java compiler for current RuntimeContext.
Compiled classes are automatically added to the current context's classloader and become available
for subsequent compilation tasks, both explicit and implicit (e.g., compiling literal conditions or actions).
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfacestatic interface -
Method Summary
Modifier and TypeMethodDescriptiondefault Class<?> <S extends JavaSourceCompiler.ClassSource>
Collection<JavaSourceCompiler.Result<S>> compile(Collection<S> sources) This method tries to resolve every source's package and class names and calls thecompile(Collection)afterwardsvoiddefineClass(String binaryName, byte[] classBytes)
-
Method Details
-
compile
Map<String,Class<?>> compile(Set<String> sources) throws org.evrete.runtime.compiler.CompilationException This method tries to resolve every source's package and class names and calls the
compile(Collection)afterwards- Parameters:
sources- Java sources to compile- Returns:
- map that associates sources and their respective compilation results
- Throws:
org.evrete.runtime.compiler.CompilationException- if compilation failed
-
compile
<S extends JavaSourceCompiler.ClassSource> Collection<JavaSourceCompiler.Result<S>> compile(Collection<S> sources) throws org.evrete.runtime.compiler.CompilationException - Parameters:
sources- Java sources to compile- Returns:
- compiled classes.
- Throws:
org.evrete.runtime.compiler.CompilationException- if compilation failed
-
compile
- Parameters:
source- plain Java source code- Returns:
- compiled class
- Throws:
org.evrete.runtime.compiler.CompilationException- if compilation failed
-
defineClass
- Parameters:
binaryName- class binary nameclassBytes- class bytes
-