public class AspectJUrlClassLoader
extends org.aspectj.weaver.bcel.ExtensibleURLClassLoader
implements org.aspectj.weaver.tools.WeavingClassLoader
org.aspectj.weaver.loadtime.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 dynamiquesModifier 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.
|
definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
defineClass, defineClass
clearAssertionStatus, 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, setSigners
public 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.ExtensibleURLClassLoader
protected Class defineClass(String name, byte[] b, CodeSource cs) throws IOException
defineClass
in class org.aspectj.weaver.bcel.ExtensibleURLClassLoader
IOException
protected byte[] getBytes(String name) throws IOException
getBytes
in class org.aspectj.weaver.bcel.ExtensibleURLClassLoader
IOException
public URL[] getAspectURLs()
getAspectURLs
in interface org.aspectj.weaver.tools.WeavingClassLoader
public void acceptClass(String name, byte[] classBytes, byte[] weavedBytes)
acceptClass
in interface org.aspectj.weaver.tools.GeneratedClassHandler
public void deploy(Class<?> aspectClass)
public void prepare()
Copyright © 1999–2020 CodeLutin. All rights reserved.