Interface IWeavingContext

All Known Implementing Classes:
DefaultWeavingContext

public interface IWeavingContext
This class adds support to AspectJ for an OSGi environment
Author:
David Knibb
  • Method Summary

    Modifier and Type
    Method
    Description
    Deprecated.
    use getFile() or getClassLoaderName()
     
    In an environment with multiple class loaders allows each to be identified using something safer and possibly shorter than toString
    Allow custom parsing of aop.xml or alternative mechanism for providing Definitions
    getFile​(URL url)
    Format a URL
    In an environment with multiple class loaders allows messages to identified according to the weaving context
    Allows the standard ClassLoader.getResources() mechanisms to be replaced with a different implementation.
    boolean
    isLocallyDefined​(String classname)
    Return true if the classloader associated with this weaving context is the one that will define the class with the specified name.
  • Method Details

    • getResources

      Enumeration<URL> getResources(String name) throws IOException
      Allows the standard ClassLoader.getResources() mechanisms to be replaced with a different implementation. In an OSGi environment, this will allow for filtering to take place on the results of ClassLoader.getResources(). In a non-OSGi environment, ClassLoader.getResources should be returned.
      Parameters:
      name - the name of the resource to search for
      Returns:
      an enumeration containing all of the matching resources found
      Throws:
      IOException
    • getBundleIdFromURL

      String getBundleIdFromURL(URL url)
      Deprecated.
      use getFile() or getClassLoaderName()
      In an OSGi environment, determine which bundle a URL originated from. In a non-OSGi environment, implementors should return null.
      Parameters:
      url -
      Returns:
    • getClassLoaderName

      String getClassLoaderName()
      In an environment with multiple class loaders allows each to be identified using something safer and possibly shorter than toString
      Returns:
      name of the associated class loader
    • getClassLoader

      ClassLoader getClassLoader()
    • getFile

      String getFile(URL url)
      Format a URL
      Returns:
      filename
    • getId

      String getId()
      In an environment with multiple class loaders allows messages to identified according to the weaving context
      Returns:
      short name
    • isLocallyDefined

      boolean isLocallyDefined(String classname)
      Return true if the classloader associated with this weaving context is the one that will define the class with the specified name. In a delegating classloader hierarchy this might check the parent won't define it and the child will - in OSGi it will do something else.
      Parameters:
      classname - name of the class, eg. "java.lang.String"
      Returns:
      true if the associated classloader will define the class
    • getDefinitions

      List<Definition> getDefinitions(ClassLoader loader, WeavingAdaptor adaptor)
      Allow custom parsing of aop.xml or alternative mechanism for providing Definitions
      Parameters:
      loader -
      adaptor -
      Returns:
      List containing 0 or more Definition instances