Package 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
Modifier and TypeMethodDescriptionboolean
couldMatchJoinPointsInType(Class aClass)
Determine whether or not this pointcut could ever match a join point in the given class.Return a string representation of this pointcut expression.matchesAdviceExecution(Method anAdviceMethod)
Determine whether or not this pointcut matches the execution of a given piece of advice.matchesConstructorCall(Constructor aConstructor, 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.matchesConstructorCall(Constructor aConstructor, 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.matchesConstructorExecution(Constructor aConstructor)
Determine whether or not this pointcut matches the execution of a given constructor.matchesFieldGet(Field aField, 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).matchesFieldGet(Field aField, Member withinCode)
Determine whether or not this pointcut matches a get of the given field from within the given method or constructor.matchesFieldSet(Field aField, 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).matchesFieldSet(Field aField, Member withinCode)
Determine whether or not this pointcut matches a set of the given field from within the given method or constructor.matchesHandler(Class exceptionType, 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.matchesHandler(Class exceptionType, Member withinCode)
Determine whether or not this pointcut matches the execution of a given exception handler within the given method or constructormatchesInitialization(Constructor aConstructor)
Determine whether or not this pointcut matches the initialization of an object initiated by a call to the given constructor.matchesMethodCall(Method aMethod, 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).matchesMethodCall(Method aMethod, 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.matchesMethodExecution(Method aMethod)
Determine whether or not this pointcut matches the execution of a given method.matchesPreInitialization(Constructor aConstructor)
Determine whether or not this pointcut matches the pre-initialization of an object initiated by a call to the given constructor.matchesStaticInitialization(Class aClass)
Determine whether or not this pointcut matches the static initialization of the given class.boolean
Returns true iff this pointcut contains any expression that might necessitate a dynamic test at some join point (e.g. args)void
setMatchingContext(MatchingContext aMatchContext)
Set the matching context to be used for subsequent calls to match.
-
Method Details
-
setMatchingContext
Set the matching context to be used for subsequent calls to match.- See Also:
MatchingContext
-
couldMatchJoinPointsInType
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
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
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
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
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
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
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
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 calledwithinCode
- 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
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 calledcallerType
- 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 method during the execution of the given member.
-
matchesConstructorCall
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 calledwithinCode
- 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
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 calledcallerType
- 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
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 handledwithinCode
- 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
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 handledhandlingType
- 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
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 updatedwithinCode
- 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
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 updatedwithinType
- 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
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 updatedwithinCode
- 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
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 accessedwithinType
- 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
String getPointcutExpression()Return a string representation of this pointcut expression.
-