IExpressionEvaluator, an IScriptEvaluator, an
IClassBodyEvaluator and an ISimpleCompiler.See: Description
| Interface | Description |
|---|---|
| AbstractJavaSourceClassLoader.ProtectionDomainFactory | |
| ErrorHandler |
Processes an error issued by the compiler.
|
| IClassBodyEvaluator |
Parses a class body and returns it as a
Class object ready for use with
java.lang.reflect. |
| ICompiler |
A simplified substitute for the javac tool.
|
| ICompilerFactory |
An entity that produces implementations of
IExpressionEvaluator, IScriptEvaluator, IClassBodyEvaluator, ISimpleCompiler or AbstractJavaSourceClassLoader. |
| ICookable |
An entity that processes a sequence of characters (a "document").
|
| IExpressionEvaluator |
An engine that evaluates expressions in JVM bytecode.
|
| IMultiCookable | |
| IScriptEvaluator |
An engine that executes a script in JVM bytecode.
|
| ISimpleCompiler |
A simplified Java compiler that can compile only a single compilation unit.
|
| WarningHandler |
Processes a warning issued by the compiler.
|
| Class | Description |
|---|---|
| AbstractCompiler |
A base class and wrapper for
Compiler that implements all redundant API methods. |
| 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 |
Immutable representation of the location of a character in a document, as defined by an (optional) file name, a
line number and a column number.
|
| MultiCookable |
Implements all methods of
IMultiCookable, except for IMultiCookable.cook(String[], Reader[]). |
| Sandbox |
Executes a
PrivilegedAction or PrivilegedExceptionAction in a context with restricted permissions. |
| Exception | Description |
|---|---|
| CompileException |
Representation of an error condition during compilation.
|
| InternalCompilerException |
Indicates an event that is probably related to a bug in JANINO.
|
| LocatedException |
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: A lightweight, stand-alone implementation that implements Java 1.4 and most of Java
5. Runs on all JREs starting at version 1.3.
org.codehaus.commons.compiler.jdk: Uses the javax.tools.JavaCompiler API that is available
since Java 1.6. Requires a JDK (not just a JRE).
Notice: Implementations may or may not be prone to "Java injection", i.e. it may or may not be possible to, e.g.,
break out of the "expression" scope of an IExpressionEvaluator by providing
a "bogus" expression text. The documentation of each implementation should state clearly whether or not it is
prone to Java injection.
Copyright © 2022. All rights reserved.