|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.apache.jdo.impl.enhancer.EnhancerClassLoader
Implements a ClassLoader which automatically enchances the .class files according to the EnhancerMetaData information in the jar archive.
| Nested Class Summary |
| Nested classes inherited from class java.lang.ClassLoader |
|
| Field Summary | |
private java.security.AccessControlContext |
acc
|
private boolean |
debug
|
static java.lang.String |
DO_TIMING_STATISTICS
|
private boolean |
doTiming
|
private ClassFileEnhancer |
enhancer
|
private EnhancerMetaData |
metaData
|
private java.io.PrintWriter |
out
|
private java.lang.ref.WeakReference |
outByteCodeRef
|
private java.util.Properties |
settings
|
private sun.misc.URLClassPath |
ucp
|
static java.lang.String |
VERBOSE_LEVEL
|
static java.lang.String |
VERBOSE_LEVEL_DEBUG
|
static java.lang.String |
VERBOSE_LEVEL_QUIET
|
static java.lang.String |
VERBOSE_LEVEL_VERBOSE
|
static java.lang.String |
VERBOSE_LEVEL_WARN
|
| Fields inherited from class java.security.SecureClassLoader |
|
| Fields inherited from class java.lang.ClassLoader |
|
| Constructor Summary | |
|
EnhancerClassLoader(java.lang.String classpath,
EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
Creates a new EnhancerClassLoader for the specified url. |
|
EnhancerClassLoader(java.lang.String classpath,
java.util.Properties settings,
java.io.PrintWriter out)
Creates a new EnhancerClassLoader for the specified url. |
protected |
EnhancerClassLoader(java.net.URL[] urls)
Creates a new EnhancerClassLoader for the specified url. |
protected |
EnhancerClassLoader(java.net.URL[] urls,
java.lang.ClassLoader loader)
Creates a new EnhancerClassLoader for the specified url. |
|
EnhancerClassLoader(java.net.URL[] urls,
EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
Creates a new EnhancerClassLoader for the specified url. |
|
EnhancerClassLoader(java.net.URL[] urls,
java.util.Properties settings,
java.io.PrintWriter out)
Creates a new EnhancerClassLoader for the specified url. |
| Method Summary | |
protected void |
addURL(java.net.URL url)
Appends the specified URL to the list of URLs to search for classes and resources. |
(package private) static void |
affirm(boolean cond)
|
private void |
checkUCP(java.net.URL[] urls)
|
private java.lang.Class |
defineClass(java.lang.String name,
sun.misc.Resource res)
Defines a Class using the class bytes obtained from the specified Resource. |
private byte[] |
enhance(java.lang.String name,
byte[] data,
int off,
int len)
|
private java.lang.Class |
findAndEnhanceClass(java.lang.String name)
Finds and loads the class with the specified name from the URL search path. |
private void |
init(EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
Initialize the EnhancingClassLoader |
private boolean |
isSealed(java.lang.String name,
java.util.jar.Manifest man)
Returns true if the specified package name is sealed according to the given manifest. |
java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
|
private void |
message()
|
private void |
message(java.lang.Exception e)
|
private void |
message(java.lang.String s)
|
static java.net.URL[] |
pathToURLs(java.lang.String classpath)
|
| Methods inherited from class java.net.URLClassLoader |
definePackage, findClass, findResource, findResources, getPermissions, getURLs, newInstance, newInstance |
| Methods inherited from class java.security.SecureClassLoader |
defineClass |
| Methods inherited from class java.lang.ClassLoader |
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final java.lang.String DO_TIMING_STATISTICS
public static final java.lang.String VERBOSE_LEVEL
public static final java.lang.String VERBOSE_LEVEL_QUIET
public static final java.lang.String VERBOSE_LEVEL_WARN
public static final java.lang.String VERBOSE_LEVEL_VERBOSE
public static final java.lang.String VERBOSE_LEVEL_DEBUG
private boolean debug
private boolean doTiming
private java.io.PrintWriter out
private ClassFileEnhancer enhancer
private EnhancerMetaData metaData
private java.util.Properties settings
private java.lang.ref.WeakReference outByteCodeRef
private final sun.misc.URLClassPath ucp
private final java.security.AccessControlContext acc
| Constructor Detail |
protected EnhancerClassLoader(java.net.URL[] urls)
urls - the classpath to search
protected EnhancerClassLoader(java.net.URL[] urls,
java.lang.ClassLoader loader)
urls - the classpath to search
public EnhancerClassLoader(java.lang.String classpath,
java.util.Properties settings,
java.io.PrintWriter out)
classpath - the classpath to search
public EnhancerClassLoader(java.net.URL[] urls,
java.util.Properties settings,
java.io.PrintWriter out)
urls - the classpath to search
public EnhancerClassLoader(java.lang.String classpath,
EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
classpath - the classpath to search
public EnhancerClassLoader(java.net.URL[] urls,
EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
urls - the classpath to search| Method Detail |
public static java.net.URL[] pathToURLs(java.lang.String classpath)
static final void affirm(boolean cond)
private final void message()
private final void message(java.lang.String s)
private final void message(java.lang.Exception e)
protected void addURL(java.net.URL url)
url - the URL to be added to the search path of URLsprivate void checkUCP(java.net.URL[] urls)
private void init(EnhancerMetaData metaData,
java.util.Properties settings,
java.io.PrintWriter out)
public java.lang.Class loadClass(java.lang.String name,
boolean resolve)
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
private java.lang.Class findAndEnhanceClass(java.lang.String name)
throws java.lang.ClassNotFoundException
name - the name of the class
java.lang.ClassNotFoundException - if the class could not be found
private java.lang.Class defineClass(java.lang.String name,
sun.misc.Resource res)
throws java.io.IOException,
java.lang.ClassNotFoundException
java.io.IOException
java.lang.ClassNotFoundException
private byte[] enhance(java.lang.String name,
byte[] data,
int off,
int len)
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
private boolean isSealed(java.lang.String name,
java.util.jar.Manifest man)
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||