public class AnnotationPointcut extends NameBindingPointcut
Matches any join point where the subject of the join point has an annotation matching the annotationTypePattern:
Join Point Kind - Subject
================================
method call - the target method
method execution - the method
constructor call - the constructor
constructor execution - the constructor
get - the target field
set - the target field
adviceexecution - the advice
initialization - the constructor
preinitialization - the constructor
staticinitialization - the type being initialized
handler - the declared type of the handled exception
Pointcut.StateAND, ANNOTATION, ARGS, ATARGS, ATTHIS_OR_TARGET, ATWITHIN, ATWITHINCODE, CFLOW, CONCRETE, EMPTY_STRING_ARRAY, HANDLER, hasBeenParameterized, IF, IF_FALSE, IF_TRUE, KINDED, lastMatchedShadowId, m_ignoreUnboundBindingForNames, NONE, NOT, OR, pointcutKind, REFERENCE, RESOLVED, state, SYMBOLIC, THIS_OR_TARGET, USER_EXTENSION, WITHIN, WITHINCODEend, sourceContext, start| Constructor and Description |
|---|
AnnotationPointcut(ExactAnnotationTypePattern type) |
AnnotationPointcut(ExactAnnotationTypePattern type,
ShadowMunger munger) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.Object |
accept(PatternNodeVisitor visitor,
java.lang.Object data) |
void |
buildDeclarationText() |
protected Pointcut |
concretize1(ResolvedType inAspect,
ResolvedType declaringType,
IntMap bindings)
Resolves and removes ReferencePointcuts, replacing with basic ones
|
int |
couldMatchKinds()
The set of ShadowKinds that this Pointcut could possibly match - an int whose bits are set according to the Kinds specified
in Shadow.java
|
boolean |
equals(java.lang.Object other) |
FuzzyBoolean |
fastMatch(FastMatchInfo info)
Could I match any shadows in the code defined within this type?
|
protected Test |
findResidueInternal(Shadow shadow,
ExposedState state) |
ExactAnnotationTypePattern |
getAnnotationTypePattern() |
java.util.List<BindingPattern> |
getBindingAnnotationTypePatterns() |
java.util.List<BindingTypePattern> |
getBindingTypePatterns() |
int |
hashCode() |
protected FuzzyBoolean |
matchInternal(Shadow shadow) |
Pointcut |
parameterizeWith(java.util.Map typeVariableMap,
World w) |
static Pointcut |
read(VersionedDataInputStream s,
ISourceContext context) |
protected void |
resolveBindings(IScope scope,
Bindings bindings) |
java.lang.String |
toString() |
void |
write(CompressingDataOutputStream s) |
exposeStateForVarassertState, check, concretize, concretize, concretize, findResidue, fromString, getPointcutKind, getTypeVariablesInScope, isDeclare, makeMatchesNothing, match, postRead, resolve, setTypeVariablesInScope, shouldCopyLocationForConcretizecopyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocationpublic AnnotationPointcut(ExactAnnotationTypePattern type)
public AnnotationPointcut(ExactAnnotationTypePattern type, ShadowMunger munger)
public ExactAnnotationTypePattern getAnnotationTypePattern()
public int couldMatchKinds()
PointcutcouldMatchKinds in class Pointcutpublic Pointcut parameterizeWith(java.util.Map typeVariableMap, World w)
parameterizeWith in class Pointcutpublic FuzzyBoolean fastMatch(FastMatchInfo info)
Pointcutprotected FuzzyBoolean matchInternal(Shadow shadow)
matchInternal in class Pointcutprotected void resolveBindings(IScope scope, Bindings bindings)
resolveBindings in class Pointcutprotected Pointcut concretize1(ResolvedType inAspect, ResolvedType declaringType, IntMap bindings)
Pointcutconcretize1 in class PointcutinAspect - the aspect to resolve relative tobindings - a Map from formal index in the current lexical context -> formal index in the concrete advice that will run
This must always return a new Pointcut object (even if the concretized Pointcut is identical to the resolved one).
That behavior is assumed in many places. XXX fix implementors to handle stateprotected Test findResidueInternal(Shadow shadow, ExposedState state)
findResidueInternal in class Pointcutpublic java.util.List<BindingPattern> getBindingAnnotationTypePatterns()
getBindingAnnotationTypePatterns in class NameBindingPointcutpublic java.util.List<BindingTypePattern> getBindingTypePatterns()
getBindingTypePatterns in class NameBindingPointcutpublic void write(CompressingDataOutputStream s) throws java.io.IOException
write in class PatternNodejava.io.IOExceptionpublic static Pointcut read(VersionedDataInputStream s, ISourceContext context) throws java.io.IOException
java.io.IOExceptionpublic boolean equals(java.lang.Object other)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic void buildDeclarationText()
public java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
accept in class PatternNode