Class 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
    • 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 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

        close, findClass
      • Methods inherited from class java.net.URLClassLoader

        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, 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
      • 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
        Specified by:
        getAspectURLs in interface org.aspectj.weaver.tools.WeavingClassLoader
      • acceptClass

        public void acceptClass​(java.lang.String name,
                                byte[] classBytes,
                                byte[] weavedBytes)
        Specified by:
        acceptClass in interface org.aspectj.weaver.tools.GeneratedClassHandler