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.BcelWeakClassLoaderReferenceloaderRef
-
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.StringgetBundleIdFromURL(java.net.URL url)In an OSGi environment, determin which bundle a URL originated from.java.lang.ClassLoadergetClassLoader()java.lang.StringgetClassLoaderName()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.StringgetFile(java.net.URL url)Format a URLjava.lang.StringgetId()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.StringgetSuffix()booleanisLocallyDefined(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.IOExceptionSame as ClassLoader.getResources()- Specified by:
getResourcesin 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:IWeavingContextIn an OSGi environment, determin which bundle a URL originated from. In a non-OSGi environment, implementors should returnnull.- Specified by:
getBundleIdFromURLin interfaceIWeavingContext- Returns:
- null as we are not in an OSGi environment (therefore no bundles)
-
getClassLoaderName
public java.lang.String getClassLoaderName()
Description copied from interface:IWeavingContextIn an environment with multiple class loaders allows each to be identified using something safer and possibly shorter than toString- Specified by:
getClassLoaderNamein interfaceIWeavingContext- Returns:
- classname@hashcode
-
getClassLoader
public java.lang.ClassLoader getClassLoader()
- Specified by:
getClassLoaderin interfaceIWeavingContext
-
getFile
public java.lang.String getFile(java.net.URL url)
Description copied from interface:IWeavingContextFormat a URL- Specified by:
getFilein interfaceIWeavingContext- Returns:
- filename
-
getId
public java.lang.String getId()
Description copied from interface:IWeavingContextIn an environment with multiple class loaders allows messages to identified according to the weaving context- Specified by:
getIdin interfaceIWeavingContext- Returns:
- unqualifiedclassname@hashcode
-
getSuffix
public java.lang.String getSuffix()
-
isLocallyDefined
public boolean isLocallyDefined(java.lang.String classname)
Description copied from interface:IWeavingContextReturn 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:
isLocallyDefinedin 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:
getDefinitionsin interfaceIWeavingContext- Parameters:
weaver-loader-- Returns:
- List containing 0 or more Definition instances
-
-