Package org.aspectj.weaver.loadtime
Class WeavingURLClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.aspectj.weaver.bcel.ExtensibleURLClassLoader
-
- org.aspectj.weaver.loadtime.WeavingURLClassLoader
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,org.aspectj.weaver.tools.GeneratedClassHandler,org.aspectj.weaver.tools.WeavingClassLoader
public class WeavingURLClassLoader extends org.aspectj.weaver.bcel.ExtensibleURLClassLoader implements org.aspectj.weaver.tools.WeavingClassLoader
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringWEAVING_ASPECT_PATHstatic java.lang.StringWEAVING_CLASS_PATH
-
Constructor Summary
Constructors Constructor Description WeavingURLClassLoader(java.lang.ClassLoader parent)WeavingURLClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent)WeavingURLClassLoader(java.net.URL[] classURLs, java.net.URL[] aspectURLs, java.lang.ClassLoader parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacceptClass(java.lang.String name, byte[] classBytes, byte[] weavedBytes)protected voidaddURL(java.net.URL url)protected java.lang.ClassdefineClass(java.lang.String name, byte[] b, java.security.CodeSource cs)Override to weave class using WeavingAdaptorjava.net.URL[]getAspectURLs()Implement method from WeavingClassLoaderprotected byte[]getBytes(java.lang.String name)Override to find classes generated by WeavingAdaptor-
Methods inherited from class java.net.URLClassLoader
definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Field Detail
-
WEAVING_CLASS_PATH
public static final java.lang.String WEAVING_CLASS_PATH
- See Also:
- Constant Field Values
-
WEAVING_ASPECT_PATH
public static final java.lang.String WEAVING_ASPECT_PATH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
WeavingURLClassLoader
public WeavingURLClassLoader(java.lang.ClassLoader parent)
-
WeavingURLClassLoader
public WeavingURLClassLoader(java.net.URL[] urls, java.lang.ClassLoader parent)
-
WeavingURLClassLoader
public WeavingURLClassLoader(java.net.URL[] classURLs, java.net.URL[] aspectURLs, java.lang.ClassLoader parent)
-
-
Method Detail
-
addURL
protected void addURL(java.net.URL url)
- Overrides:
addURLin classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader
-
defineClass
protected java.lang.Class defineClass(java.lang.String name, byte[] b, java.security.CodeSource cs) throws java.io.IOExceptionOverride to weave class using WeavingAdaptor- Overrides:
defineClassin classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader- Throws:
java.io.IOException
-
getBytes
protected byte[] getBytes(java.lang.String name) throws java.io.IOExceptionOverride to find classes generated by WeavingAdaptor- Overrides:
getBytesin classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader- Throws:
java.io.IOException
-
getAspectURLs
public java.net.URL[] getAspectURLs()
Implement method from WeavingClassLoader- Specified by:
getAspectURLsin interfaceorg.aspectj.weaver.tools.WeavingClassLoader
-
acceptClass
public void acceptClass(java.lang.String name, byte[] classBytes, byte[] weavedBytes)- Specified by:
acceptClassin interfaceorg.aspectj.weaver.tools.GeneratedClassHandler
-
-