## org.aspectj.weaver.tools
Interface PointcutExpression

    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.