janino.net

org.codehaus.commons.compiler
Interface ISimpleCompiler

All Superinterfaces:
ICookable
All Known Implementing Classes:
ClassBodyEvaluator, ClassBodyEvaluator, ExpressionEvaluator, ExpressionEvaluator, ScriptEvaluator, ScriptEvaluator, SimpleCompiler, SimpleCompiler

public interface ISimpleCompiler
extends ICookable

A simplified Java™ compiler that can compile only a single compilation unit. (A "compilation unit" is the document stored in a ".java" file.)

Opposed to a normal ".java" file, you can declare multiple public classes here.

To set up an ISimpleCompiler object, proceed as follows:

  1. Create an ISimpleCompiler-implementing object
  2. Optionally set an alternate parent class loader through ICookable.setParentClassLoader(ClassLoader).
  3. Call any of the ICookable.cook(String, Reader) methods to scan, parse, compile and load the compilation unit into the JVM.
  4. Call getClassLoader() to obtain a that you can use to access the compiled classes.


Field Summary
 
Fields inherited from interface org.codehaus.commons.compiler.ICookable
BOOT_CLASS_LOADER, SYSTEM_PROPERTY_SOURCE_DEBUGGING_DIR, SYSTEM_PROPERTY_SOURCE_DEBUGGING_ENABLE
 
Method Summary
  getClassLoader()
          Returns a object through which the previously compiled classes can be accessed.
 
Methods inherited from interface org.codehaus.commons.compiler.ICookable
cook, cook, cook, cook, cook, cook, cook, cook, cookFile, cookFile, cookFile, cookFile, setCompileErrorHandler, setDebuggingInformation, setParentClassLoader, setWarningHandler
 

Method Detail

getClassLoader

 getClassLoader()
Returns a object through which the previously compiled classes can be accessed. This can be used for subsequent ISimpleCompilers in order to compile compilation units that use types (e.g. declare derived types) declared in the previous one.

This method must only be called after exactly on of the ICookable.cook(String, java.io.Reader) methods was called.


janino.net

Copyright @2023 . janino. All Rights Reserved .