public class AspectJUrlClassLoader
extends org.aspectj.weaver.bcel.ExtensibleURLClassLoader
implements org.aspectj.weaver.tools.WeavingClassLoader
WeavingURLClassLoader qui permet de définit
notre propre instance de adaptor pour, dans le cas d'IsisFish, permettre d'ajouter des aspects à l'execution.
Elle définie deux nouvelles méthodes:
deploy(Class) : qui permet de deployer un nouvel aspectprepare() : à appeler après l'ajout de tous les aspects dynamiques| Modifier and Type | Field and Description |
|---|---|
static String |
WEAVING_ASPECT_PATH |
static String |
WEAVING_CLASS_PATH |
| Constructor and Description |
|---|
AspectJUrlClassLoader(URL[] urls,
ClassLoader parent) |
| Modifier and Type | Method and Description |
|---|---|
void |
acceptClass(String name,
byte[] classBytes,
byte[] weavedBytes) |
protected void |
addURL(URL url) |
protected Class |
defineClass(String name,
byte[] b,
CodeSource cs)
Override to weave class using WeavingAdaptor
|
void |
deploy(Class<?> aspectClass) |
URL[] |
getAspectURLs()
Implement method from WeavingClassLoader
|
protected byte[] |
getBytes(String name)
Override to find classes generated by WeavingAdaptor
|
void |
prepare()
Mark classloader as configured with aspects and tell to prepare for
weaving.
|
close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstancedefineClass, defineClassclearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSignerspublic static final String WEAVING_CLASS_PATH
public static final String WEAVING_ASPECT_PATH
public AspectJUrlClassLoader(URL[] urls, ClassLoader parent)
protected void addURL(URL url)
addURL in class org.aspectj.weaver.bcel.ExtensibleURLClassLoaderprotected Class defineClass(String name, byte[] b, CodeSource cs) throws IOException
defineClass in class org.aspectj.weaver.bcel.ExtensibleURLClassLoaderIOExceptionprotected byte[] getBytes(String name) throws IOException
getBytes in class org.aspectj.weaver.bcel.ExtensibleURLClassLoaderIOExceptionpublic URL[] getAspectURLs()
getAspectURLs in interface org.aspectj.weaver.tools.WeavingClassLoaderpublic void acceptClass(String name, byte[] classBytes, byte[] weavedBytes)
acceptClass in interface org.aspectj.weaver.tools.GeneratedClassHandlerpublic void deploy(Class<?> aspectClass)
public void prepare()
Copyright © 1999–2015 CodeLutin. All rights reserved.