| java.lang.Object com.tc.aspectwerkz.aspect.container.AbstractAspectFactoryCompiler
All known Subclasses: com.tc.aspectwerkz.aspect.container.PerObjectFactoryCompiler, com.tc.aspectwerkz.aspect.container.LazyPerXFactoryCompiler, com.tc.aspectwerkz.aspect.container.PerJVMAspectFactoryCompiler,
AbstractAspectFactoryCompiler | abstract public class AbstractAspectFactoryCompiler implements Opcodes,TransformationConstants(Code) | | Create a factory class for different aspect life cycle models.
Each model ends in instantiating the aspect thru "new XAspect()" if there is no aspect container, or thru
keeping a reference to the container and delegating to it thru container.aspectOf(..).
The container itself is created with a one per factory basis (thus controlled by QName) thru
"new XContainer()" or "new XContainer(aspectClass, aopSystemClassLoader, String uuid, String aspectQName, Map aspectParam)"
Each model has the aspectOf(..) method, and the "hasAspect(..)" method.
PerObject has a bind(object) method suitable for perTarget / perThis, that delegates to a supposely implemented
interface in the target object itself (to avoid a map)
PerCflowX has a bind(thread) / unbind(thread) suitable for perCflow / perCflowBelow.
TODO: none is synchronized. AspectJ does not synchronize neither...
author: Alexandre Vasseur author: Jonas Bonér |
EMPTY_ARTIFACT_ARRAY | final static Artifact[] EMPTY_ARTIFACT_ARRAY(Code) | | |
m_aspectClassName | final protected String m_aspectClassName(Code) | | |
m_aspectClassSignature | final protected String m_aspectClassSignature(Code) | | |
m_aspectContainerClassName | final protected String m_aspectContainerClassName(Code) | | |
m_aspectFactoryClassName | protected String m_aspectFactoryClassName(Code) | | |
m_aspectQualifiedName | final protected String m_aspectQualifiedName(Code) | | |
m_hasAspectContainer | final protected boolean m_hasAspectContainer(Code) | | |
createAspectOf | abstract protected void createAspectOf()(Code) | | |
createHasAspect | abstract protected void createHasAspect()(Code) | | |
createOtherArtifacts | abstract protected void createOtherArtifacts()(Code) | | |
|
|