java.io.Closeable
, java.lang.AutoCloseable
Loader.NondelegatingLoader
public class Loader
extends java.net.URLClassLoader
Modifier and Type | Class | Description |
---|---|---|
static class |
Loader.NondelegatingLoader |
Version of bind-on-demand loader which will not delegate handling of
classes included in the binding definition.
|
Modifier and Type | Field | Description |
---|---|---|
private java.util.ArrayList |
m_bindings |
Binding definitions used by loader.
|
private java.util.HashMap |
m_classMap |
Map of classes modified by binding.
|
private boolean |
m_isBound |
Flag for bindings compiled into class code.
|
Constructor | Description |
---|---|
Loader() |
Default constructor.
|
Loader(java.net.URL[] paths) |
Constructor with classpath URLs supplied.
|
Loader(java.net.URL[] paths,
java.lang.ClassLoader parent) |
Constructor with classpath URLs and parent classloader supplied.
|
Modifier and Type | Method | Description |
---|---|---|
protected java.lang.Class |
findClass(java.lang.String name) |
Find and load class by name.
|
static java.net.URL[] |
getClassPaths() |
Method builds an array of URL for items in the class path.
|
protected boolean |
isBoundClass(java.lang.String name) |
Check if a class has been modified by a binding.
|
void |
loadBinding(java.lang.String fname,
java.lang.String sname,
java.io.InputStream is,
java.net.URL url) |
Load binding definition.
|
void |
loadFileBinding(java.lang.String path) |
Load binding definition from file path.
|
void |
loadResourceBinding(java.lang.String path) |
Load binding definition from file path.
|
void |
processBindings() |
Process the binding definitions.
|
void |
reset() |
Reset loader information.
|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
private java.util.ArrayList m_bindings
private boolean m_isBound
private java.util.HashMap m_classMap
public Loader(java.net.URL[] paths, java.lang.ClassLoader parent)
paths
- array of classpath URLsparent
- classloader used for delegation loadingpublic Loader(java.net.URL[] paths)
paths
- array of classpath URLspublic Loader() throws java.net.MalformedURLException
java.net.MalformedURLException
- on error in classpath URLspublic void reset()
public static java.net.URL[] getClassPaths() throws java.net.MalformedURLException
java.net.MalformedURLException
public void loadBinding(java.lang.String fname, java.lang.String sname, java.io.InputStream is, java.net.URL url) throws JiBXException, java.io.IOException
fname
- binding definition full namesname
- short form of name to use as the default name of the bindingis
- input stream for binding definition documenturl
- URL for binding definition (null
if not
available)java.lang.IllegalStateException
- if called after bindings have been
compiledjava.io.IOException
- if error reading the bindingJiBXException
- if error in processing the binding definitionpublic void loadFileBinding(java.lang.String path) throws JiBXException, java.io.IOException
path
- binding definition file pathjava.lang.IllegalStateException
- if called after bindings have been
compiledjava.io.IOException
- if error reading the fileJiBXException
- if error in processing the binding definitionpublic void loadResourceBinding(java.lang.String path) throws JiBXException, java.io.IOException
path
- binding definition file pathjava.lang.IllegalStateException
- if called after bindings have been
compiledjava.io.IOException
- if error reading the fileJiBXException
- if error in processing the binding definitionpublic void processBindings() throws JiBXException
JiBXException
- if error in processing the binding definitionprotected boolean isBoundClass(java.lang.String name)
name
- fully qualified package and class name to be foundtrue
if class modified by binding,
false
if notprotected java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundException
findClass
in class java.net.URLClassLoader
name
- fully qualified package and class name to be foundjava.lang.ClassNotFoundException
- if the class cannot be foundClassLoader.findClass(java.lang.String)