org.aspectj.weaver.tools
Interface PointcutExpression

All Known Implementing Classes:
PointcutExpressionImpl

public interface PointcutExpression

Represents an AspectJ pointcut expression and provides convenience methods to determine whether or not the pointcut matches join points specified in terms of the java.lang.reflect interfaces.


Method Summary
 boolean couldMatchJoinPointsInType(java.lang.Class aClass)
          Determine whether or not this pointcut could ever match a join point in the given class.
 java.lang.String getPointcutExpression()
          Return a string representation of this pointcut expression.
 ShadowMatch matchesAdviceExecution(java.lang.reflect.Method anAdviceMethod)
          Determine whether or not this pointcut matches the execution of a given piece of advice.
 ShadowMatch matchesConstructorCall(java.lang.reflect.Constructor aConstructor, java.lang.Class callerType)
          Determine whether or not this pointcut matches a method call to the given constructor, made outside of the scope of any method or constructor, but within the callerType.
 ShadowMatch matchesConstructorCall(java.lang.reflect.Constructor aConstructor, java.lang.reflect.Member withinCode)
          Determine whether or not this pointcut matches a method call to the given constructor, made during the execution of the given method or constructor.
 ShadowMatch matchesConstructorExecution(java.lang.reflect.Constructor aConstructor)
          Determine whether or not this pointcut matches the execution of a given constructor.
 ShadowMatch matchesFieldGet(java.lang.reflect.Field aField, java.lang.Class withinType)
          Determine whether or not this pointcut matches a get of the given field outside of the scope of any method or constructor, but within the given type (for example, during static initialization).
 ShadowMatch matchesFieldGet(java.lang.reflect.Field aField, java.lang.reflect.Member withinCode)
          Determine whether or not this pointcut matches a get of the given field from within the given method or constructor.
 ShadowMatch matchesFieldSet(java.lang.reflect.Field aField, java.lang.Class withinType)
          Determine whether or not this pointcut matches a set of the given field outside of the scope of any method or constructor, but within the given type (for example, during static initialization).
 ShadowMatch matchesFieldSet(java.lang.reflect.Field aField, java.lang.reflect.Member withinCode)
          Determine whether or not this pointcut matches a set of the given field from within the given method or constructor.
 ShadowMatch matchesHandler(java.lang.Class exceptionType, java.lang.Class handlingType)
          Determine whether or not this pointcut matches the execution of a given exception handler outside of the scope of any method or constructor, but within the handling type.
 ShadowMatch matchesHandler(java.lang.Class exceptionType, java.lang.reflect.Member withinCode)
          Determine whether or not this pointcut matches the execution of a given exception handler within the given method or constructor
 ShadowMatch matchesInitialization(java.lang.reflect.Constructor aConstructor)
          Determine whether or not this pointcut matches the initialization of an object initiated by a call to the given constructor.
 ShadowMatch matchesMethodCall(java.lang.reflect.Method aMethod, java.lang.Class callerType)
          Determine whether or not this pointcut matches a method call to the given method, made outside of the scope of any method or constructor, but within the callerType (for example, during static initialization of the type).
 ShadowMatch matchesMethodCall(java.lang.reflect.Method aMethod, java.lang.reflect.Member withinCode)
          Determine whether or not this pointcut matches a method call to the given method, made during the execution of the given method or constructor.
 ShadowMatch matchesMethodExecution(java.lang.reflect.Method aMethod)
          Determine whether or not this pointcut matches the execution of a given method.
 ShadowMatch matchesPreInitialization(java.lang.reflect.Constructor aConstructor)
          Determine whether or not this pointcut matches the pre-initialization of an object initiated by a call to the given constructor.
 ShadowMatch matchesStaticInitialization(java.lang.Class aClass)
          Determine whether or not this pointcut matches the static initialization of the given class.
 boolean mayNeedDynamicTest()
          Returns true iff this pointcut contains any expression that might necessitate a dynamic test at some join point (e.g.
 void setMatchingContext(MatchingContext aMatchContext)
          Set the matching context to be used for subsequent calls to match.
 

Method Detail

setMatchingContext

void setMatchingContext(MatchingContext aMatchContext)
Set the matching context to be used for subsequent calls to match.

See Also:
MatchingContext

couldMatchJoinPointsInType

boolean couldMatchJoinPointsInType(java.lang.Class aClass)
Determine whether or not this pointcut could ever match a join point in the given class.

Parameters:
aClass - the candidate class
Returns:
true iff this pointcut may match a join point within(aClass), and false otherwise

mayNeedDynamicTest

boolean mayNeedDynamicTest()
Returns true iff this pointcut contains any expression that might necessitate a dynamic test at some join point (e.g. args)


matchesMethodExecution

ShadowMatch matchesMethodExecution(java.lang.reflect.Method aMethod)
Determine whether or not this pointcut matches the execution of a given method.

Parameters:
aMethod - the method being executed
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing the execution of the method.

matchesConstructorExecution

ShadowMatch matchesConstructorExecution(java.lang.reflect.Constructor aConstructor)
Determine whether or not this pointcut matches the execution of a given constructor.

Parameters:
aConstructor - the constructor being executed
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing the execution of the constructor.

matchesStaticInitialization

ShadowMatch matchesStaticInitialization(java.lang.Class aClass)
Determine whether or not this pointcut matches the static initialization of the given class.

Parameters:
aClass - the class being statically initialized
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matchs join points representing the static initialization of the given type

matchesAdviceExecution

ShadowMatch matchesAdviceExecution(java.lang.reflect.Method anAdviceMethod)
Determine whether or not this pointcut matches the execution of a given piece of advice.

Parameters:
anAdviceMethod - a method representing the advice being executed
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing the execution of the advice.

matchesInitialization

ShadowMatch matchesInitialization(java.lang.reflect.Constructor aConstructor)
Determine whether or not this pointcut matches the initialization of an object initiated by a call to the given constructor.

Parameters:
aConstructor - the constructor initiating the initialization
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing initialization via the given constructor.

matchesPreInitialization

ShadowMatch matchesPreInitialization(java.lang.reflect.Constructor aConstructor)
Determine whether or not this pointcut matches the pre-initialization of an object initiated by a call to the given constructor.

Parameters:
aConstructor - the constructor initiating the initialization
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing pre-initialization via the given constructor.

matchesMethodCall

ShadowMatch matchesMethodCall(java.lang.reflect.Method aMethod,
                              java.lang.reflect.Member withinCode)
Determine whether or not this pointcut matches a method call to the given method, made during the execution of the given method or constructor.

Parameters:
aMethod - the method being called
withinCode - the Method or Constructor from within which the call is made
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing a call to this method during the execution of the given member.

matchesMethodCall

ShadowMatch matchesMethodCall(java.lang.reflect.Method aMethod,
                              java.lang.Class callerType)
Determine whether or not this pointcut matches a method call to the given method, made outside of the scope of any method or constructor, but within the callerType (for example, during static initialization of the type).

Parameters:
aMethod - the method being called
callerType - the declared type of the caller
receiverType - the declared type of the recipient of the call
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing a call to this method during the execution of the given member.

matchesConstructorCall

ShadowMatch matchesConstructorCall(java.lang.reflect.Constructor aConstructor,
                                   java.lang.reflect.Member withinCode)
Determine whether or not this pointcut matches a method call to the given constructor, made during the execution of the given method or constructor.

Parameters:
aConstructor - the constructor being called
withinCode - the Method or Constructor from within which the call is made
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing a call to this constructor during the execution of the given member.

matchesConstructorCall

ShadowMatch matchesConstructorCall(java.lang.reflect.Constructor aConstructor,
                                   java.lang.Class callerType)
Determine whether or not this pointcut matches a method call to the given constructor, made outside of the scope of any method or constructor, but within the callerType.

Parameters:
aConstructor - the cosstructor being called
callerType - the declared type of the caller
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing a call to this constructor during the execution of the given member.

matchesHandler

ShadowMatch matchesHandler(java.lang.Class exceptionType,
                           java.lang.reflect.Member withinCode)
Determine whether or not this pointcut matches the execution of a given exception handler within the given method or constructor

Parameters:
exceptionType - the static type of the exception being handled
withinCode - the method or constructor in which the catch block is declared
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing the handling of the given exception

matchesHandler

ShadowMatch matchesHandler(java.lang.Class exceptionType,
                           java.lang.Class handlingType)
Determine whether or not this pointcut matches the execution of a given exception handler outside of the scope of any method or constructor, but within the handling type.

Parameters:
exceptionType - the static type of the exception being handled
handlingType - the type in which the handler block is executing
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches join points representing the handling of the given exception

matchesFieldSet

ShadowMatch matchesFieldSet(java.lang.reflect.Field aField,
                            java.lang.reflect.Member withinCode)
Determine whether or not this pointcut matches a set of the given field from within the given method or constructor.

Parameters:
aField - the field being updated
withinCode - the Method or Constructor owning the call site
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches field set join points for the given field and call site.

matchesFieldSet

ShadowMatch matchesFieldSet(java.lang.reflect.Field aField,
                            java.lang.Class withinType)
Determine whether or not this pointcut matches a set of the given field outside of the scope of any method or constructor, but within the given type (for example, during static initialization).

Parameters:
aField - the field being updated
withinType - the type owning the call site
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches field set join points for the given field and call site.

matchesFieldGet

ShadowMatch matchesFieldGet(java.lang.reflect.Field aField,
                            java.lang.reflect.Member withinCode)
Determine whether or not this pointcut matches a get of the given field from within the given method or constructor.

Parameters:
aField - the field being updated
withinCode - the Method or Constructor owning the call site
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches field get join points for the given field and call site.

matchesFieldGet

ShadowMatch matchesFieldGet(java.lang.reflect.Field aField,
                            java.lang.Class withinType)
Determine whether or not this pointcut matches a get of the given field outside of the scope of any method or constructor, but within the given type (for example, during static initialization).

Parameters:
aField - the field being accessed
withinType - the type owning the call site
Returns:
a ShadowMatch indicating whether the pointcut always, sometimes, or never matches field get join points for the given field and call site.

getPointcutExpression

java.lang.String getPointcutExpression()
Return a string representation of this pointcut expression.