public class DevClassLoadingHook extends Object implements ClassLoadingHook, HookConfigurator, KeyedElement
| Constructor and Description |
|---|
DevClassLoadingHook() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
addClassPathEntry(ArrayList<ClasspathEntry> cpEntries,
String cp,
ClasspathManager hostmanager,
BaseData sourcedata,
ProtectionDomain sourcedomain)
Gets called by a classpath manager when looking for ClasspathEntry objects.
|
void |
addHooks(HookRegistry hookRegistry)
Adds hooks to the specified hook registry.
|
boolean |
compare(KeyedElement other)
Compares this element with a specified element
|
BaseClassLoader |
createClassLoader(ClassLoader parent,
ClassLoaderDelegate delegate,
BundleProtectionDomain domain,
BaseData data,
String[] bundleclasspath)
Gets called by a base data during
BundleData.createClassLoader(ClassLoaderDelegate, BundleProtectionDomain, String[]). |
String |
findLibrary(BaseData data,
String libName)
Gets called by a base data during
BundleData.findLibrary(String). |
ClassLoader |
getBundleClassLoaderParent()
Gets called by the adaptor during
FrameworkAdaptor.getBundleClassLoaderParent(). |
Object |
getKey()
Returns the key for this element
|
int |
getKeyHashCode()
Returns the hash code of the key
|
void |
initializedClassLoader(BaseClassLoader baseClassLoader,
BaseData data)
Gets called by a classpath manager at the end of
ClasspathManager.initialize(). |
byte[] |
processClass(String name,
byte[] classbytes,
ClasspathEntry classpathEntry,
BundleEntry entry,
ClasspathManager manager)
Gets called by a classpath manager before defining a class.
|
public static final String KEY
public static final int HASHCODE
public byte[] processClass(String name, byte[] classbytes, ClasspathEntry classpathEntry, BundleEntry entry, ClasspathManager manager)
ClassLoadingHookprocessClass in interface ClassLoadingHookname - the name of the class being definedclassbytes - the bytes of the class being definedclasspathEntry - the ClasspathEntry where the class bytes have been read from.entry - the BundleEntry source of the class bytesmanager - the class path manager used to define the requested classpublic boolean addClassPathEntry(ArrayList<ClasspathEntry> cpEntries, String cp, ClasspathManager hostmanager, BaseData sourcedata, ProtectionDomain sourcedomain)
ClassLoadingHookaddClassPathEntry in interface ClassLoadingHookcpEntries - the list of ClasspathEntry objects currently available for the requested classpathcp - the name of the requested classpathhostmanager - the classpath manager the requested ClasspathEntry is forsourcedata - the source bundle data of the requested ClasspathEntrysourcedomain - the source domain of the requested ClasspathEntrypublic String findLibrary(BaseData data, String libName)
ClassLoadingHookBundleData.findLibrary(String).
A base data will call this method for each configured class loading hook until one
class loading hook returns a non-null value. If no class loading hook returns
a non-null value then the base data will return null.findLibrary in interface ClassLoadingHookdata - the base data to find a native library for.libName - the name of the native library.public ClassLoader getBundleClassLoaderParent()
ClassLoadingHookFrameworkAdaptor.getBundleClassLoaderParent().
The adaptor will call this method for each configured class loading hook until one
class loading hook returns a non-null value. If no class loading hook returns
a non-null value then the adaptor will perform the default behavior.getBundleClassLoaderParent in interface ClassLoadingHookpublic BaseClassLoader createClassLoader(ClassLoader parent, ClassLoaderDelegate delegate, BundleProtectionDomain domain, BaseData data, String[] bundleclasspath)
ClassLoadingHookBundleData.createClassLoader(ClassLoaderDelegate, BundleProtectionDomain, String[]).
The BaseData will call this method for each configured class loading hook until one data
hook returns a non-null value. If no class loading hook returns a non-null value then a
default implemenation of BundleClassLoader will be created.createClassLoader in interface ClassLoadingHookparent - the parent classloader for the BundleClassLoaderdelegate - the delegate for the bundle classloaderdomain - the domian for the bundle classloaderdata - the BundleData for the BundleClassLoaderbundleclasspath - the classpath for the bundle classloaderpublic void initializedClassLoader(BaseClassLoader baseClassLoader, BaseData data)
ClassLoadingHookClasspathManager.initialize().
The classpath manager will call this method for each configured class loading hook after it
has been initialized.initializedClassLoader in interface ClassLoadingHookbaseClassLoader - the newly created bundle classloaderdata - the BundleData associated with the bundle classloaderpublic void addHooks(HookRegistry hookRegistry)
HookConfiguratoraddHooks in interface HookConfiguratorhookRegistry - the hook registry used to add hookspublic boolean compare(KeyedElement other)
KeyedElementcompare in interface KeyedElementother - the element to compare withpublic Object getKey()
KeyedElementgetKey in interface KeyedElementpublic int getKeyHashCode()
KeyedElementgetKeyHashCode in interface KeyedElementCopyright © 2007–2016 The Apache Software Foundation. All rights reserved.