Top Description Interfaces Classes
[default module]

Package org.codehaus.commons.compiler

Annotations
@NotNullByDefault
Imports
org.codehaus.commons.nullanalysis.NotNullByDefault

This package declares interfaces for the implementation of an org.codehaus.commons.compiler.IExpressionEvaluator, an org.codehaus.commons.compiler.IScriptEvaluator, an org.codehaus.commons.compiler.IClassBodyEvaluator and an org.codehaus.commons.compiler.ISimpleCompiler. All of these adhere to the syntax of the Java programming language.

There are (at least) two implementations of these interfaces available:

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 org.codehaus.commons.compiler.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

Modifier and TypeInterface and Description
public interface
ErrorHandler

Processes an error issued by the compiler.

public interface
IClassBodyEvaluator

Parses a class body and returns it as a Class object ready for use with java.lang.reflect.

public interface
ICompiler

A simplified substitute for the javac tool.

public interface
public interface
ICookable

An entity that processes a sequence of characters (a "document").

public interface
IExpressionEvaluator

An engine that evaluates expressions in JVM bytecode.

public interface
public interface
IScriptEvaluator

An engine that executes a script in JVM bytecode.

public interface
ISimpleCompiler

A simplified Java compiler that can compile only a single compilation unit.

public interface
WarningHandler

Processes a warning issued by the compiler.

Class Summary

Modifier and TypeClass and Description
public abstract class
AbstractCompiler

A base class and wrapper for Compiler that implements all redundant API methods.

public abstract class
AbstractCompilerFactory

Base class for a simple ICompilerFactory.

public abstract class
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.

public class
CompileException

Representation of an error condition during compilation.

public class
CompilerFactoryFactory

Utility class that finds implementations of ICompilerFactorys.

public abstract class
Cookable

Base class for a simple ICookable.

public class
InternalCompilerException

Indicates an event that is probably related to a bug in JANINO.

public class
LocatedException

An Exception that is associated with an optional Location in a source file.

public class
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.

public abstract class
public class
Sandbox

Executes a PrivilegedAction or PrivilegedExceptionAction in a context with restricted permissions.