public class ClassLoaderLibrary extends AbstractClassLibrary
Normally you can generate your classLibrary like this:
ClassLibrary classLibrary = new ClassLibrary();
classLibrary.addDefaultLoader();
If you want full control over the classLoaders you might want to create your library like:
ClassLibrary classLibrary = new ClassLibrary( ClassLoader.getSystemClassLoader() )
AbstractClassLibrary.ClassLibraryFilter| Modifier and Type | Field and Description |
|---|---|
private java.util.List<java.lang.ClassLoader> |
classLoaders |
private boolean |
debugLexer |
private boolean |
debugParser |
private boolean |
defaultClassLoadersAdded |
private ErrorHandler |
errorHandler |
| Constructor and Description |
|---|
ClassLoaderLibrary(AbstractClassLibrary parent) |
ClassLoaderLibrary(AbstractClassLibrary parent,
java.lang.ClassLoader classLoader) |
| Modifier and Type | Method and Description |
|---|---|
void |
addClassLoader(java.lang.ClassLoader classLoader) |
void |
addDefaultLoader() |
protected boolean |
containsClassReference(java.lang.String name)
This method is used to detect if there's a match with this classname.
|
private void |
readObject(java.io.ObjectInputStream in) |
protected JavaClass |
resolveJavaClass(java.lang.String name)
The implementation should check it's sources to see if it can build a JavaClass Model If not, just return null;
Once found it will be mapped, so there's no need to keep a reference to this object.
|
protected JavaPackage |
resolveJavaPackage(java.lang.String name) |
void |
setDebugLexer(boolean debugLexer)
Set to
true to enable debug logging for the lexer |
void |
setDebugParser(boolean debugParser)
Set to
true to enable debug logging for the parser |
void |
setErrorHandler(ErrorHandler errorHandler) |
getJavaClass, getJavaClass, getJavaClasses, getJavaClasses, getJavaModules, getJavaPackage, getJavaPackages, getJavaPackages, getJavaSources, getJavaSources, getModelBuilder, getModelBuilder, getModelBuilderFactory, getModelWriterFactory, hasClassReference, setModelBuilderFactory, setModelWriterFactoryprivate transient java.util.List<java.lang.ClassLoader> classLoaders
private boolean defaultClassLoadersAdded
private boolean debugLexer
private boolean debugParser
private ErrorHandler errorHandler
public ClassLoaderLibrary(AbstractClassLibrary parent)
public ClassLoaderLibrary(AbstractClassLibrary parent, java.lang.ClassLoader classLoader)
public void addClassLoader(java.lang.ClassLoader classLoader)
public void addDefaultLoader()
protected JavaClass resolveJavaClass(java.lang.String name)
AbstractClassLibraryresolveJavaClass in class AbstractClassLibraryname - the fully qualified namenullprotected JavaPackage resolveJavaPackage(java.lang.String name)
resolveJavaPackage in class AbstractClassLibraryprivate void readObject(java.io.ObjectInputStream in)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOExceptionjava.lang.ClassNotFoundExceptionprotected boolean containsClassReference(java.lang.String name)
AbstractClassLibrarycontainsClassReference in class AbstractClassLibraryname - the fully qualified name of the classpublic void setDebugLexer(boolean debugLexer)
true to enable debug logging for the lexerdebugLexer - the debug logging flagpublic void setDebugParser(boolean debugParser)
true to enable debug logging for the parserdebugParser - the debug logging flagpublic void setErrorHandler(ErrorHandler errorHandler)