Package org.aspectj.weaver.loadtime
Class ClassLoaderWeavingAdaptor
- java.lang.Object
-
- org.aspectj.weaver.tools.WeavingAdaptor
-
- org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor
-
- All Implemented Interfaces:
org.aspectj.bridge.IMessageContext
public class ClassLoaderWeavingAdaptor extends WeavingAdaptor
- Author:
- Alexandre Vasseur, Andy Clement, Abraham Nevado, David Knibb, John Kew
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.aspectj.weaver.tools.WeavingAdaptor
WeavingAdaptor.WeavingAdaptorMessageHolder, WeavingAdaptor.WeavingAdaptorMessageWriter
-
-
Field Summary
-
Fields inherited from class org.aspectj.weaver.tools.WeavingAdaptor
activeProtectionDomain, bcelWorld, cache, delegateForCurrentClass, generatedClasses, generatedClassHandler, SHOW_WEAVE_INFO_PROPERTY, TRACE_MESSAGES_PROPERTY, verbose, weaver, WEAVING_ADAPTOR_VERBOSE
-
-
Constructor Summary
Constructors Constructor Description ClassLoaderWeavingAdaptor()ClassLoaderWeavingAdaptor(java.lang.ClassLoader deprecatedLoader, IWeavingContext deprecatedContext)Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanaccept(java.lang.String className, byte[] bytes)Determine whether a type should be accepted for weaving, by checking it against any includes/excludes.voidflushGeneratedClasses()Flush the generated classes cachevoidflushGeneratedClassesFor(java.lang.String className)Remove generated classes based on the supplied className.booleangeneratedClassesExistFor(java.lang.String className)Check to see if any classes are stored in the generated classes cache.java.lang.StringgetContextId()protected java.lang.StringgetDumpDir()java.lang.StringgetNamespace()voidinitialize(java.lang.ClassLoader classLoader, IWeavingContext context)protected voidlint(java.lang.String name, java.lang.String[] infos)protected booleanshouldDump(java.lang.String className, boolean before)-
Methods inherited from class org.aspectj.weaver.tools.WeavingAdaptor
addURL, createMessageHandler, debug, disable, dump, enable, ensureDelegateInitialized, error, error, getFullClassPath, getMessageHandler, getMessageHolder, info, initializeCache, isEnabled, setActiveProtectionDomain, setMessageHandler, warn, warn, weaveClass, weaveClass
-
-
-
-
Constructor Detail
-
ClassLoaderWeavingAdaptor
public ClassLoaderWeavingAdaptor()
-
ClassLoaderWeavingAdaptor
@Deprecated public ClassLoaderWeavingAdaptor(java.lang.ClassLoader deprecatedLoader, IWeavingContext deprecatedContext)Deprecated.We don't need a reference to the class loader and using it during construction can cause problems with recursion. It also makes sense to supply the weaving context during initialization to.
-
-
Method Detail
-
initialize
public void initialize(java.lang.ClassLoader classLoader, IWeavingContext context)
-
lint
protected void lint(java.lang.String name, java.lang.String[] infos)
-
getContextId
public java.lang.String getContextId()
- Specified by:
getContextIdin interfaceorg.aspectj.bridge.IMessageContext- Overrides:
getContextIdin classWeavingAdaptor
-
accept
protected boolean accept(java.lang.String className, byte[] bytes)Determine whether a type should be accepted for weaving, by checking it against any includes/excludes.- Overrides:
acceptin classWeavingAdaptor- Parameters:
className- the name of the type to possibly acceptbytes- the bytecode for the type (in case we need to look inside, eg. annotations)- Returns:
- true if it should be accepted for weaving
-
shouldDump
protected boolean shouldDump(java.lang.String className, boolean before)- Overrides:
shouldDumpin classWeavingAdaptor
-
getDumpDir
protected java.lang.String getDumpDir()
- Overrides:
getDumpDirin classWeavingAdaptor- Returns:
- the directory in which to dump - default is _ajdump but it
-
getNamespace
public java.lang.String getNamespace()
- Returns:
- Returns the key.
-
generatedClassesExistFor
public boolean generatedClassesExistFor(java.lang.String className)
Check to see if any classes are stored in the generated classes cache. Then flush the cache if it is not empty- Parameters:
className- TODO- Returns:
- true if a class has been generated and is stored in the cache
-
flushGeneratedClasses
public void flushGeneratedClasses()
Flush the generated classes cache
-
flushGeneratedClassesFor
public void flushGeneratedClassesFor(java.lang.String className)
Remove generated classes based on the supplied className. This will remove any entries related to this name - so the class itself plus and inner classes.- Parameters:
className- a slashed classname (e.g. com/foo/Bar)
-
-