|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.codehaus.aspectwerkz.AspectSystem
Represents the aspect runtime system.
Manages the different parts of the runtime system and provides and API to
access and manage the system.
[0d, 1d, 2d] (3 SystemDefs, all defined in this classloader) / \ [0r, 1r, 2r, 3d] \ (3 reused, one more defined) [0r, 1r, 2r, 3d] (one more defined, not the same)This composition strategy allow to avoid global static repository, but is tight to following ClassLoader parent hierarchy. If an AspectManager is added at runtime, it should be added in the whole child hierarchy. TODO TODO: caution when addding a new SystemDefinition in between. TODO: move the remote proxy elsewhere unless defining classloader is needed.
Method Summary | |
void |
enteringControlFlow(PointcutType pointcutType,
MethodInfo methodInfo,
ClassInfo withinInfo)
Registers entering of a control flow join point. |
void |
exitingControlFlow(PointcutType pointcutType,
MethodInfo methodInfo,
ClassInfo withinInfo)
Registers exiting from a control flow join point. |
AspectManager |
getAspectManager(int aspectManagerIndex)
Returns an AspectManager by its index. |
AspectManager |
getAspectManager(String uuid)
Returns an AspectManager by its uuid |
AspectManager[] |
getAspectManagers()
Returns the aspect managers for this system. |
ClassLoader |
getDefiningClassLoader()
Returns the classloader which defines this AspectSystem |
void |
initialize()
Initializes the system. |
boolean |
isInControlFlowOf(CflowExpressionVisitorRuntime expression,
ExpressionContext expressionContext)
Checks if we are in the control flow of a join point picked out by a specific pointcut expression. |
void |
propagateAspectManagers(AspectManager[] block,
int blockSizeBefore)
Propagates the aspect managers. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
public ClassLoader getDefiningClassLoader()
public AspectManager getAspectManager(int aspectManagerIndex)
aspectManagerIndex
-
public AspectManager getAspectManager(String uuid)
uuid
-
DefinitionException
- (runtime exception) if not foundpublic void initialize()
public AspectManager[] getAspectManagers()
public void enteringControlFlow(PointcutType pointcutType, MethodInfo methodInfo, ClassInfo withinInfo)
pointcutType
- the pointcut typemethodInfo
- the method infowithinInfo
- the within infopublic void exitingControlFlow(PointcutType pointcutType, MethodInfo methodInfo, ClassInfo withinInfo)
pointcutType
- the pointcut typemethodInfo
- the method infowithinInfo
- the within infopublic boolean isInControlFlowOf(CflowExpressionVisitorRuntime expression, ExpressionContext expressionContext)
expression
- the cflow expression runtime visitorexpressionContext
- the join point expression context whose pointcut contains cflows sub expression(s)
public void propagateAspectManagers(AspectManager[] block, int blockSizeBefore)
block
- blockSizeBefore
-
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |