org.aspectj.weaver.patterns
Class AnnotationTypePattern

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.AnnotationTypePattern
All Implemented Interfaces:
IHasPosition, IHasSourceLocation
Direct Known Subclasses:
AndAnnotationTypePattern, AnyAnnotationTypePattern, ExactAnnotationTypePattern, NotAnnotationTypePattern, OrAnnotationTypePattern, WildAnnotationTypePattern

public abstract class AnnotationTypePattern
extends PatternNode


Field Summary
static byte AND
           
static AnnotationTypePattern ANY
           
static byte ANY_KEY
           
static byte BINDING
           
static byte BINDINGFIELD
           
static byte BINDINGFIELD2
           
static AnnotationTypePattern ELLIPSIS
           
static byte ELLIPSIS_KEY
           
static byte EXACT
           
static byte EXACTFIELD
           
static AnnotationTypePattern[] NONE
           
static byte NOT
           
static byte OR
           
static byte WILD
           
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
protected AnnotationTypePattern()
          TODO: write, read, equals & hashCode both in annotation hierarchy and in altered TypePattern hierarchy
 
Method Summary
 FuzzyBoolean fastMatches(AnnotatedElement annotated)
           
 boolean isAny()
           
 boolean isForParameterAnnotationMatch()
           
abstract  FuzzyBoolean matches(AnnotatedElement annotated)
           
abstract  FuzzyBoolean matches(AnnotatedElement annotated, ResolvedType[] parameterAnnotations)
           
abstract  AnnotationTypePattern parameterizeWith(java.util.Map typeVariableMap, World w)
           
static AnnotationTypePattern read(VersionedDataInputStream s, ISourceContext context)
           
 AnnotationTypePattern remapAdviceFormals(IntMap bindings)
           
abstract  void resolve(World world)
           
 AnnotationTypePattern resolveBindings(IScope scope, Bindings bindings, boolean allowBinding)
          This can modify in place, or return a new TypePattern if the type changes.
 void setForParameterAnnotationMatch()
           
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
accept, copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, write, writeLocation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ANY

public static final AnnotationTypePattern ANY

ELLIPSIS

public static final AnnotationTypePattern ELLIPSIS

NONE

public static final AnnotationTypePattern[] NONE

EXACT

public static final byte EXACT
See Also:
Constant Field Values

BINDING

public static final byte BINDING
See Also:
Constant Field Values

NOT

public static final byte NOT
See Also:
Constant Field Values

OR

public static final byte OR
See Also:
Constant Field Values

AND

public static final byte AND
See Also:
Constant Field Values

ELLIPSIS_KEY

public static final byte ELLIPSIS_KEY
See Also:
Constant Field Values

ANY_KEY

public static final byte ANY_KEY
See Also:
Constant Field Values

WILD

public static final byte WILD
See Also:
Constant Field Values

EXACTFIELD

public static final byte EXACTFIELD
See Also:
Constant Field Values

BINDINGFIELD

public static final byte BINDINGFIELD
See Also:
Constant Field Values

BINDINGFIELD2

public static final byte BINDINGFIELD2
See Also:
Constant Field Values
Constructor Detail

AnnotationTypePattern

protected AnnotationTypePattern()
TODO: write, read, equals & hashCode both in annotation hierarchy and in altered TypePattern hierarchy

Method Detail

matches

public abstract FuzzyBoolean matches(AnnotatedElement annotated)

matches

public abstract FuzzyBoolean matches(AnnotatedElement annotated,
                                     ResolvedType[] parameterAnnotations)

fastMatches

public FuzzyBoolean fastMatches(AnnotatedElement annotated)

remapAdviceFormals

public AnnotationTypePattern remapAdviceFormals(IntMap bindings)

resolve

public abstract void resolve(World world)

parameterizeWith

public abstract AnnotationTypePattern parameterizeWith(java.util.Map typeVariableMap,
                                                       World w)

isAny

public boolean isAny()

resolveBindings

public AnnotationTypePattern resolveBindings(IScope scope,
                                             Bindings bindings,
                                             boolean allowBinding)
This can modify in place, or return a new TypePattern if the type changes.


read

public static AnnotationTypePattern read(VersionedDataInputStream s,
                                         ISourceContext context)
                                  throws java.io.IOException
Throws:
java.io.IOException

setForParameterAnnotationMatch

public void setForParameterAnnotationMatch()

isForParameterAnnotationMatch

public boolean isForParameterAnnotationMatch()