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.String
WEAVING_ASPECT_PATH
static java.lang.String
WEAVING_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 void
acceptClass(java.lang.String name, byte[] classBytes, byte[] weavedBytes)
protected void
addURL(java.net.URL url)
protected java.lang.Class
defineClass(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:
addURL
in classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader
-
defineClass
protected java.lang.Class defineClass(java.lang.String name, byte[] b, java.security.CodeSource cs) throws java.io.IOException
Override to weave class using WeavingAdaptor- Overrides:
defineClass
in classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader
- Throws:
java.io.IOException
-
getBytes
protected byte[] getBytes(java.lang.String name) throws java.io.IOException
Override to find classes generated by WeavingAdaptor- Overrides:
getBytes
in classorg.aspectj.weaver.bcel.ExtensibleURLClassLoader
- Throws:
java.io.IOException
-
getAspectURLs
public java.net.URL[] getAspectURLs()
Implement method from WeavingClassLoader- Specified by:
getAspectURLs
in interfaceorg.aspectj.weaver.tools.WeavingClassLoader
-
acceptClass
public void acceptClass(java.lang.String name, byte[] classBytes, byte[] weavedBytes)
- Specified by:
acceptClass
in interfaceorg.aspectj.weaver.tools.GeneratedClassHandler
-
-