public class JavaSourceIClassLoader extends IClassLoader
IClassLoader
finds, scans and parses compilation units.
Notice that it does not compile them!
ANNO_java_lang_Override, CTOR_java_lang_StringBuilder__java_lang_String, METH_java_lang_Iterable__iterator, METH_java_lang_String__concat__java_lang_String, METH_java_lang_String__valueOf__boolean, METH_java_lang_String__valueOf__char, METH_java_lang_String__valueOf__double, METH_java_lang_String__valueOf__float, METH_java_lang_String__valueOf__int, METH_java_lang_String__valueOf__java_lang_Object, METH_java_lang_String__valueOf__long, METH_java_lang_StringBuilder__append__java_lang_String, METH_java_lang_StringBuilder__toString, METH_java_util_Iterator__hasNext, METH_java_util_Iterator__next, TYPE_java_io_Serializable, TYPE_java_lang_AssertionError, TYPE_java_lang_Boolean, TYPE_java_lang_Byte, TYPE_java_lang_Character, TYPE_java_lang_Class, TYPE_java_lang_Cloneable, TYPE_java_lang_Double, TYPE_java_lang_Error, TYPE_java_lang_Exception, TYPE_java_lang_Float, TYPE_java_lang_Integer, TYPE_java_lang_Iterable, TYPE_java_lang_Long, TYPE_java_lang_Object, TYPE_java_lang_RuntimeException, TYPE_java_lang_Short, TYPE_java_lang_String, TYPE_java_lang_StringBuilder, TYPE_java_lang_Throwable, TYPE_java_util_Iterator
Constructor and Description |
---|
JavaSourceIClassLoader(ResourceFinder sourceFinder,
String optionalCharacterEncoding,
IClassLoader optionalParentIClassLoader) |
Modifier and Type | Method and Description |
---|---|
protected Java.CompilationUnit |
findCompilationUnit(String className)
Finds the Java™ source file for the named class through the configured 'source resource finder' and
parses it.
|
IClass |
findIClass(String fieldDescriptor)
|
Set<UnitCompiler> |
getUnitCompilers()
Returns the set of
UnitCompiler s that were created so far. |
void |
setCharacterEncoding(String optionalCharacterEncoding) |
void |
setCompileErrorHandler(ErrorHandler optionalCompileErrorHandler) |
void |
setSourceFinder(ResourceFinder pathResourceFinder) |
void |
setWarningHandler(WarningHandler optionalWarningHandler) |
createJavacLikePathIClassLoader, defineIClass, loadIClass, postConstruct
public JavaSourceIClassLoader(ResourceFinder sourceFinder, String optionalCharacterEncoding, IClassLoader optionalParentIClassLoader)
public Set<UnitCompiler> getUnitCompilers()
UnitCompiler
s that were created so far.public void setSourceFinder(ResourceFinder pathResourceFinder)
pathResourceFinder
- The source pathpublic void setCharacterEncoding(String optionalCharacterEncoding)
optionalCharacterEncoding
- The name of the charset that is used to read source files, or null
to
use the platform's 'default charset'public void setCompileErrorHandler(ErrorHandler optionalCompileErrorHandler)
public void setWarningHandler(WarningHandler optionalWarningHandler)
public IClass findIClass(String fieldDescriptor) throws ClassNotFoundException
IClassLoader
IClass
by descriptor; return null
if a class
for that descriptor
could not be found.
Similar ClassLoader.findClass(java.lang.String)
, this method
must
IClass
object from somewhere for the given type
IClassLoader.defineIClass(IClass)
with that IClass
object as
the argument
IClass
object
The format of a descriptor
is defined in JVMS 4.3.2. Typical
descriptors are:
I
(Integer)
Lpkg1/pkg2/Cls;
(Class declared in package)
Lpkg1/pkg2/Outer$Inner;
Member class
Notice that this method is never called from more than one thread at a time. In other words, implementations of this method need not be synchronized.
findIClass
in class IClassLoader
fieldDescriptor
- Field descriptor of the IClass
to load, e.g. "Lpkg1/pkg2/Outer$Inner;"null
if a class with that descriptor could not be foundClassNotFoundException
- An exception was raised while loading the IClass
protected Java.CompilationUnit findCompilationUnit(String className) throws IOException, CompileException
null
iff the source file could not be foundIOException
CompileException
Copyright © 2001–2016. All rights reserved.