org.aspectj.weaver.patterns
Class ExactAnnotationTypePattern

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.AnnotationTypePattern
          extended by org.aspectj.weaver.patterns.ExactAnnotationTypePattern
All Implemented Interfaces:
IHasPosition, IHasSourceLocation
Direct Known Subclasses:
BindingAnnotationFieldTypePattern, BindingAnnotationTypePattern, ExactAnnotationFieldTypePattern

public class ExactAnnotationTypePattern
extends AnnotationTypePattern

Matches an annotation of a given type


Field Summary
protected  UnresolvedType annotationType
           
protected  boolean bindingPattern
           
protected  java.lang.String formalName
           
protected  boolean resolved
           
 
Fields inherited from class org.aspectj.weaver.patterns.AnnotationTypePattern
AND, ANY, ANY_KEY, BINDING, BINDINGFIELD, BINDINGFIELD2, ELLIPSIS, ELLIPSIS_KEY, EXACT, EXACTFIELD, NONE, NOT, OR, WILD
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
protected ExactAnnotationTypePattern(java.lang.String formalName)
           
  ExactAnnotationTypePattern(UnresolvedType annotationType, java.util.Map<java.lang.String,java.lang.String> annotationValues)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean equals(java.lang.Object obj)
           
 FuzzyBoolean fastMatches(AnnotatedElement annotated)
           
 UnresolvedType getAnnotationType()
           
 java.util.Map<java.lang.String,java.lang.String> getAnnotationValues()
           
 ResolvedType getResolvedAnnotationType()
           
 int hashCode()
           
 FuzzyBoolean matches(AnnotatedElement annotated)
           
 FuzzyBoolean matches(AnnotatedElement annotated, ResolvedType[] parameterAnnotations)
           
 FuzzyBoolean matchesRuntimeType(AnnotatedElement annotated)
           
protected  java.lang.String maybeGetSimpleName()
           
 AnnotationTypePattern parameterizeWith(java.util.Map typeVariableMap, World w)
           
static AnnotationTypePattern read(VersionedDataInputStream s, ISourceContext context)
           
 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.
 java.lang.String toString()
           
protected  void verifyIsAnnotationType(ResolvedType type, IScope scope)
           
 void write(CompressingDataOutputStream s)
           
 
Methods inherited from class org.aspectj.weaver.patterns.AnnotationTypePattern
isAny, isForParameterAnnotationMatch, remapAdviceFormals, setForParameterAnnotationMatch
 
Methods inherited from class org.aspectj.weaver.patterns.PatternNode
copyLocationFrom, getEnd, getFileName, getSourceContext, getSourceLocation, getStart, readLocation, setLocation, traverse, writeLocation
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

annotationType

protected UnresolvedType annotationType

formalName

protected java.lang.String formalName

resolved

protected boolean resolved

bindingPattern

protected boolean bindingPattern
Constructor Detail

ExactAnnotationTypePattern

public ExactAnnotationTypePattern(UnresolvedType annotationType,
                                  java.util.Map<java.lang.String,java.lang.String> annotationValues)

ExactAnnotationTypePattern

protected ExactAnnotationTypePattern(java.lang.String formalName)
Method Detail

getResolvedAnnotationType

public ResolvedType getResolvedAnnotationType()

getAnnotationType

public UnresolvedType getAnnotationType()

getAnnotationValues

public java.util.Map<java.lang.String,java.lang.String> getAnnotationValues()

fastMatches

public FuzzyBoolean fastMatches(AnnotatedElement annotated)
Overrides:
fastMatches in class AnnotationTypePattern

matches

public FuzzyBoolean matches(AnnotatedElement annotated)
Specified by:
matches in class AnnotationTypePattern

matches

public FuzzyBoolean matches(AnnotatedElement annotated,
                            ResolvedType[] parameterAnnotations)
Specified by:
matches in class AnnotationTypePattern

matchesRuntimeType

public FuzzyBoolean matchesRuntimeType(AnnotatedElement annotated)

resolve

public void resolve(World world)
Specified by:
resolve in class AnnotationTypePattern

resolveBindings

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

Overrides:
resolveBindings in class AnnotationTypePattern

parameterizeWith

public AnnotationTypePattern parameterizeWith(java.util.Map typeVariableMap,
                                              World w)
Specified by:
parameterizeWith in class AnnotationTypePattern

maybeGetSimpleName

protected java.lang.String maybeGetSimpleName()

verifyIsAnnotationType

protected void verifyIsAnnotationType(ResolvedType type,
                                      IScope scope)

write

public void write(CompressingDataOutputStream s)
           throws java.io.IOException
Specified by:
write in class PatternNode
Throws:
java.io.IOException

read

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

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

accept

public java.lang.Object accept(PatternNodeVisitor visitor,
                               java.lang.Object data)
Specified by:
accept in class PatternNode