Package org.codehaus.commons.compiler
This package declares interfaces for the implementation of an
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 thejavax.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.-
Interface Summary Interface Description AbstractJavaSourceClassLoader.ProtectionDomainFactory ErrorHandler Processes an error issued by the compiler.IClassBodyEvaluator Parses a class body and returns it as aClass
object ready for use with java.lang.reflect.ICompilerFactory An entity that produces implementations ofIExpressionEvaluator
,IScriptEvaluator
,IClassBodyEvaluator
,ISimpleCompiler
orAbstractJavaSourceClassLoader
.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.WarningHandler Processes a warning issued by the compiler. -
Class Summary Class Description AbstractCompilerFactory Base class for a simpleICompilerFactory
.AbstractJavaSourceClassLoader AClassLoader
that, unlike usualClassLoader
s, 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 ofICompilerFactory
s.Cookable Base class for a simpleICookable
.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 Summary Exception Description CompileException An exception that reflects an error during compilation.LocatedException UncheckedCompileException A wrapper for aCompileException
that extendsRuntimeException
and is thus unchecked.