public class EclipseClassLoadingHook extends Object implements ClassLoadingHook, HookConfigurator
| Constructor and Description |
|---|
EclipseClassLoadingHook() |
| 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.
|
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(). |
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.
|
void |
recordClassDefine(String name,
Class<?> clazz,
byte[] classbytes,
ClasspathEntry classpathEntry,
BundleEntry entry,
ClasspathManager manager) |
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 void recordClassDefine(String name, Class<?> clazz, byte[] classbytes, ClasspathEntry classpathEntry, BundleEntry entry, ClasspathManager manager)
public 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 void addHooks(HookRegistry hookRegistry)
HookConfiguratoraddHooks in interface HookConfiguratorhookRegistry - the hook registry used to add hookspublic 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 classloaderCopyright © 2007–2016 The Apache Software Foundation. All rights reserved.