org.codehaus.aspectwerkz.joinpoint.control
Class DefaultJoinPointController

java.lang.Object
  extended byorg.codehaus.aspectwerkz.joinpoint.control.AbstractJoinPointController
      extended byorg.codehaus.aspectwerkz.joinpoint.control.DefaultJoinPointController
All Implemented Interfaces:
JoinPointController, java.io.Serializable

public class DefaultJoinPointController
extends AbstractJoinPointController

Default controller following a linear execution model (adapted from MethodJoinPoint.proceed()). It is going through the pointcuts one by one. In each pointcut, each advice is executed one by one. Once the last advice on the last pointcut is executed, the original method of the target object gets invoked.

Author:
Jonas Bonér, Stefan Finkenzeller, Alexandre Vasseur
See Also:
Serialized Form

Constructor Summary
DefaultJoinPointController()
           
 
Method Summary
 JoinPointController deepCopy()
          Clones the controller
 java.lang.Object proceed(MethodJoinPoint joinPoint)
          Default implementation of a joinpoint controller that is being used if no other controller was specified for the join point.
 
Methods inherited from class org.codehaus.aspectwerkz.joinpoint.control.AbstractJoinPointController
addAdvice, clearAllRedundancies, clearRedundancy, equals, getAllAdvices, hashCode, purgePointcuts, removeAdvice
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultJoinPointController

public DefaultJoinPointController()
Method Detail

proceed

public java.lang.Object proceed(MethodJoinPoint joinPoint)
                         throws java.lang.Throwable
Default implementation of a joinpoint controller that is being used if no other controller was specified for the join point.

Steps linearly through each pointcut of the joinpoint. In each pointcut it executes its advices one by one. After the last advice in the last pointcut was executed, the original method is being invoked.

Specified by:
proceed in interface JoinPointController
Specified by:
proceed in class AbstractJoinPointController
Parameters:
joinPoint - The joinpoint using this controller
Returns:
The result of the invocation.
Throws:
java.lang.Throwable

deepCopy

public JoinPointController deepCopy()
Clones the controller

Specified by:
deepCopy in interface JoinPointController
Specified by:
deepCopy in class AbstractJoinPointController


Copyright (c) 2002-2004 The AspectWerkz Team. All Rights Reserved.