Package org.aspectj.weaver.loadtime
Class DefaultWeavingContext
- java.lang.Object
-
- org.aspectj.weaver.loadtime.DefaultWeavingContext
-
- All Implemented Interfaces:
IWeavingContext
public class DefaultWeavingContext extends java.lang.Object implements IWeavingContext
Use in non-OSGi environment- Author:
- David Knibb
-
-
Field Summary
Fields Modifier and Type Field Description protected org.aspectj.weaver.bcel.BcelWeakClassLoaderReference
loaderRef
-
Constructor Summary
Constructors Constructor Description DefaultWeavingContext(java.lang.ClassLoader loader)
Construct a new WeavingContext to use the specified ClassLoader This is the constructor which should be used.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getBundleIdFromURL(java.net.URL url)
In an OSGi environment, determin which bundle a URL originated from.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 toStringjava.util.List<Definition>
getDefinitions(java.lang.ClassLoader loader, WeavingAdaptor adaptor)
Simply call weaving adaptor back to parse aop.xmljava.lang.String
getFile(java.net.URL url)
Format a URLjava.lang.String
getId()
In an environment with multiple class loaders allows messages to identified according to the weaving contextjava.util.Enumeration<java.net.URL>
getResources(java.lang.String name)
Same as ClassLoader.getResources()java.lang.String
getSuffix()
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
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException
Same as ClassLoader.getResources()- Specified by:
getResources
in interfaceIWeavingContext
- 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
public java.lang.String getBundleIdFromURL(java.net.URL url)
Description copied from interface:IWeavingContext
In an OSGi environment, determin which bundle a URL originated from. In a non-OSGi environment, implementors should returnnull
.
- Specified by:
getBundleIdFromURL
in interfaceIWeavingContext
- Returns:
- null as we are not in an OSGi environment (therefore no bundles)
-
getClassLoaderName
public java.lang.String getClassLoaderName()
Description copied from interface:IWeavingContext
In an environment with multiple class loaders allows each to be identified using something safer and possibly shorter than toString- Specified by:
getClassLoaderName
in interfaceIWeavingContext
- Returns:
- classname@hashcode
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
- Specified by:
getClassLoader
in interfaceIWeavingContext
-
getFile
public java.lang.String getFile(java.net.URL url)
Description copied from interface:IWeavingContext
Format a URL- Specified by:
getFile
in interfaceIWeavingContext
- Returns:
- filename
-
getId
public java.lang.String getId()
Description copied from interface:IWeavingContext
In an environment with multiple class loaders allows messages to identified according to the weaving context- Specified by:
getId
in interfaceIWeavingContext
- Returns:
- unqualifiedclassname@hashcode
-
getSuffix
public java.lang.String getSuffix()
-
isLocallyDefined
public boolean isLocallyDefined(java.lang.String classname)
Description copied from interface:IWeavingContext
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.- Specified by:
isLocallyDefined
in interfaceIWeavingContext
- Parameters:
classname
- name of the class, eg. "java.lang.String"- Returns:
- true if the associated classloader will define the class
-
getDefinitions
public java.util.List<Definition> getDefinitions(java.lang.ClassLoader loader, WeavingAdaptor adaptor)
Simply call weaving adaptor back to parse aop.xml- Specified by:
getDefinitions
in interfaceIWeavingContext
- Parameters:
weaver
-loader
-- Returns:
- List containing 0 or more Definition instances
-
-