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

    public class WeavingURLClassLoader
    extends org.aspectj.weaver.bcel.ExtensibleURLClassLoader

### Field Summary

Fields
`static java.lang.String` `WEAVING_ASPECT_PATH`
`static java.lang.String` `WEAVING_CLASS_PATH`

### Constructor Summary

Constructors
Constructor and 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
`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 WeavingAdaptor
`java.net.URL[]` `getAspectURLs()` Implement method from WeavingClassLoader
`protected byte[]` `getBytes(java.lang.String name)` Override to find classes generated by WeavingAdaptor

### Methods inherited from class org.aspectj.weaver.bcel.ExtensibleURLClassLoader

`findClass`

### Methods inherited from class java.net.URLClassLoader

`close, definePackage, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance`

### Methods inherited from class java.security.SecureClassLoader

`defineClass, defineClass`

### Methods inherited from class java.lang.ClassLoader

`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`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### 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 class `org.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 class `org.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 class `org.aspectj.weaver.bcel.ExtensibleURLClassLoader`
Throws:
  `java.io.IOException`

#### getAspectURLs

    public java.net.URL[] getAspectURLs()

Implement method from WeavingClassLoader

#### acceptClass

    public void acceptClass(java.lang.String name,
                            byte[] classBytes,
                            byte[] weavedBytes)