|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jpox.JDOClassLoaderResolver
public class JDOClassLoaderResolver
A basic implementation of a ClassLoaderResolver for JDO. A ClassLoaderResolver provides a series of methods for resolving classes from their names. It supports up to 3 class loaders.
| Field Summary | |
|---|---|
protected java.util.Map |
loadedClasses
Cache for loaded classes |
protected static Localiser |
LOCALISER
Localisation utility for output messages |
protected java.lang.ClassLoader |
pmContextLoader
ClassLoader initialised by the PM creation. |
protected int |
pmContextLoaderHashCode
Hash code cache for performance improvement |
protected java.lang.ClassLoader |
registeredLoader
ClassLoader registered to load runtime created classes. |
protected int |
registeredLoaderHashCode
Hash code cache for performance improvement |
protected java.util.Map |
unloadedClasses
Cache for loaded classes |
| Constructor Summary | |
|---|---|
JDOClassLoaderResolver()
Constructor for non-PersistenceManager cases so there is no PM context loader. |
|
JDOClassLoaderResolver(java.lang.ClassLoader pmLoader)
Constructor for PersistenceManager cases. |
|
| Method Summary | |
|---|---|
java.lang.Class |
classForName(java.lang.String name)
JDO's Class Loading mechanism (Spec 1.0.1 Chapter 12.5). |
java.lang.Class |
classForName(java.lang.String name,
boolean initialize)
JDO's Class Loading mechanism (Spec 1.0.1 Chapter 12.5) |
java.lang.Class |
classForName(java.lang.String name,
java.lang.ClassLoader primary)
JDO's Class Loading mechanism (Spec 1.0.1 Chapter 12.5). |
java.lang.Class |
classForName(java.lang.String name,
java.lang.ClassLoader primary,
boolean initialize)
JDO's Class Loading mechanism (Spec 1.0.1 Chapter 12.5) |
java.net.URL |
getResource(java.lang.String resourceName)
Finds the resource with the given name. |
java.util.Enumeration |
getResources(java.lang.String resourceName)
Finds all the resources with the given name. |
boolean |
isAssignableFrom(java.lang.Class class_1,
java.lang.String class_name_2)
Utility to check the assignability of 2 classes in accordance with JDO's Class Loading mechanism. |
boolean |
isAssignableFrom(java.lang.String class_name_1,
java.lang.Class class_2)
Utility to check the assignability of 2 classes in accordance with JDO's Class Loading mechanism. |
boolean |
isAssignableFrom(java.lang.String class_name_1,
java.lang.String class_name_2)
Utility to check the assignability of 2 classes in accordance with JDO's Class Loading mechanism. |
void |
registerClassLoader(java.lang.ClassLoader loader)
ClassLoader registered to load classes created at runtime |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected static final Localiser LOCALISER
protected final java.lang.ClassLoader pmContextLoader
protected int pmContextLoaderHashCode
protected java.lang.ClassLoader registeredLoader
protected int registeredLoaderHashCode
protected java.util.Map loadedClasses
protected java.util.Map unloadedClasses
| Constructor Detail |
|---|
public JDOClassLoaderResolver(java.lang.ClassLoader pmLoader)
pmLoader - Loader from PM initialisation time.public JDOClassLoaderResolver()
| Method Detail |
|---|
public java.lang.Class classForName(java.lang.String name,
java.lang.ClassLoader primary)
classForName in interface ClassLoaderResolvername - Name of the Class to be loadedprimary - primary ClassLoader to use (or null)
ClassNotResolvedException - if the class can't be found in the classpath
public java.lang.Class classForName(java.lang.String name,
java.lang.ClassLoader primary,
boolean initialize)
classForName in interface ClassLoaderResolvername - Name of the Class to be loadedprimary - the primary ClassLoader to use (or null)initialize - whether to initialize the class or not.
ClassNotResolvedException - if the class can't be found in the classpathpublic java.lang.Class classForName(java.lang.String name)
classForName in interface ClassLoaderResolvername - Name of the Class to be loaded
public java.lang.Class classForName(java.lang.String name,
boolean initialize)
classForName in interface ClassLoaderResolvername - Name of the Class to be loadedinitialize - whether to initialize the class or not.
ClassNotResolvedException - if the class can't be found in the classpath
public boolean isAssignableFrom(java.lang.String class_name_1,
java.lang.String class_name_2)
isAssignableFrom in interface ClassLoaderResolverclass_name_1 - Name of first classclass_name_2 - Name of second class
public boolean isAssignableFrom(java.lang.String class_name_1,
java.lang.Class class_2)
isAssignableFrom in interface ClassLoaderResolverclass_name_1 - Name of first classclass_2 - Second class
public boolean isAssignableFrom(java.lang.Class class_1,
java.lang.String class_name_2)
isAssignableFrom in interface ClassLoaderResolverclass_1 - First classclass_name_2 - Name of second class
public void registerClassLoader(java.lang.ClassLoader loader)
registerClassLoader in interface ClassLoaderResolverloader - The ClassLoader in which classes are defined
public java.util.Enumeration getResources(java.lang.String resourceName)
throws java.io.IOException
getResources in interface ClassLoaderResolverresourceName - the resource name. If resourceName starts with "/", remove it before searching.
java.io.IOException - If I/O errors occurClassLoader.getResources(java.lang.String)public java.net.URL getResource(java.lang.String resourceName)
getResource in interface ClassLoaderResolverresourceName - the path to resource name relative to the classloader root path. If resourceName starts with "/", remove it before searching.
java.io.IOException - If I/O errors occurClassLoader.getResource(java.lang.String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||