org.aspectj.weaver.loadtime
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
 java.lang.String getBundleIdFromURL(java.net.URL url)
          Deprecated. use getFile() or getClassLoaderName()
 java.lang.ClassLoader getClassLoader()
           
 java.lang.String getClassLoaderName()
          In an environment with multiple class loaders allows each to be identified using something safer and possibly shorter than toString
 java.util.List getDefinitions(java.lang.ClassLoader loader, WeavingAdaptor adaptor)
          Allow custom parsing of aop.xml or alternative mechanism for providing Definitions
 java.lang.String getFile(java.net.URL url)
          Format a URL
 java.lang.String getId()
          In an environment with multiple class loaders allows messages to identified according to the weaving context
 java.util.Enumeration getResources(java.lang.String name)
          Allows the standard ClassLoader.getResources() mechanisms to be replaced with a different implementation.
 boolean isLocallyDefined(java.lang.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 Detail

getResources

java.util.Enumeration getResources(java.lang.String name)
                                   throws java.io.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:
java.io.IOException

getBundleIdFromURL

java.lang.String getBundleIdFromURL(java.net.URL url)
Deprecated. use getFile() or getClassLoaderName()

In an OSGi environment, determin which bundle a URL originated from. In a non-OSGi environment, implementors should return null.

Parameters:
url -
Returns:

getClassLoaderName

java.lang.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

java.lang.ClassLoader getClassLoader()

getFile

java.lang.String getFile(java.net.URL url)
Format a URL

Returns:
filename

getId

java.lang.String getId()
In an environment with multiple class loaders allows messages to identified according to the weaving context

Returns:
short name

isLocallyDefined

boolean isLocallyDefined(java.lang.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

java.util.List getDefinitions(java.lang.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