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, setModelWriterFactory
private 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)
AbstractClassLibrary
resolveJavaClass
in class AbstractClassLibrary
name
- the fully qualified namenull
protected JavaPackage resolveJavaPackage(java.lang.String name)
resolveJavaPackage
in class AbstractClassLibrary
private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
protected boolean containsClassReference(java.lang.String name)
AbstractClassLibrary
containsClassReference
in class AbstractClassLibrary
name
- 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)