IExpressionEvaluator, an IScriptEvaluator, an
IClassBodyEvaluator and an ISimpleCompiler.See: Description
| Interface | Description |
|---|---|
| AbstractJavaSourceClassLoader.ProtectionDomainFactory | |
| IClassBodyEvaluator |
Parses a class body and returns it as a
Class object ready for use with
java.lang.reflect. |
| ICompilerFactory |
An entity that produces implementations of
IExpressionEvaluator, IScriptEvaluator, IClassBodyEvaluator, ISimpleCompiler or AbstractJavaSourceClassLoader. |
| ICookable |
"Cooking" means scanning a sequence of characters and turning them into some
JVM-executable artifact.
|
| IExpressionEvaluator |
An engine that evaluates expressions in Java™ bytecode.
|
| IScriptEvaluator |
An engine that executes a script in Java™ bytecode.
|
| ISimpleCompiler |
A simplified Java™ compiler that can compile only a single compilation unit.
|
| Class | Description |
|---|---|
| AbstractCompilerFactory |
Base class for a simple
ICompilerFactory. |
| AbstractJavaSourceClassLoader |
A
ClassLoader that, unlike usual ClassLoaders, does not load byte code, but reads Java™ source
code and then scans, parses, compiles and loads it into the virtual machine. |
| CompilerFactoryFactory |
Utility class that finds implementations of
ICompilerFactorys. |
| Cookable |
Base class for a simple
ICookable. |
| Location |
Represents the location of a character in a document, as defined by an optional file name, a
line number and a column number.
|
| PrimitiveWrapper |
A helper class that wraps primitive values in their wrapper classes.
|
| Exception | Description |
|---|---|
| CompileException |
An exception that reflects an error during compilation.
|
| LocatedException |
An
Exception that is associated with an optional Location in a source file. |
IExpressionEvaluator, an IScriptEvaluator, an
IClassBodyEvaluator and an ISimpleCompiler. All of these adhere to the syntax of the Java ™ programming
language.
There are (at least) two implementations of these interfaces available:
org.codehaus.janino, available at janino.net: A lightweight,
stand-alone implementation that implements Java 1.4 and half of Java 5. Runs on all JREs starting at version 1.3.
org.codehaus.commons.compiler.jdk, also available at janino.net:
Uses the javax.tools.JavaCompiler API that is available since Java 1.6. Requires a JDK (not just a
JRE).
IExpressionEvaluator by providing a
"bogus" expression text. The documentation of each implementation should state clearly whether or not it is prone to
Java injection.