Interface IWeavingContext

All Known Implementing Classes:
DefaultWeavingContext

public interface IWeavingContext
This class adds support to AspectJ for an OSGi environment
Author:
David Knibb
  • 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