org.aspectj.weaver.patterns
Class TypeVariablePattern

java.lang.Object
  extended by org.aspectj.weaver.patterns.PatternNode
      extended by org.aspectj.weaver.patterns.TypeVariablePattern
All Implemented Interfaces:
IHasPosition, IHasSourceLocation

public class TypeVariablePattern
extends PatternNode


Field Summary
 
Fields inherited from class org.aspectj.weaver.patterns.PatternNode
end, sourceContext, start
 
Constructor Summary
TypeVariablePattern(java.lang.String variableName)
          Create a named type variable with upper bound Object and no lower bounds.
TypeVariablePattern(java.lang.String variableName, TypePattern upperBound)
          Create a named type variable with the given upper bound and no lower bounds Use this constructor for the T extends Foo case
TypeVariablePattern(java.lang.String variableName, TypePattern upperLimit, TypePattern[] interfaceBounds, TypePattern lowerBound)
           
 
Method Summary
 java.lang.Object accept(PatternNodeVisitor visitor, java.lang.Object data)
           
 boolean equals(java.lang.Object obj)
           
 TypePattern[] getAdditionalInterfaceBounds()
           
 TypePattern getLowerBound()
           
 java.lang.String getName()
           
 TypePattern getRawTypePattern()
           
 TypePattern getUpperBound()
           
 boolean hasAdditionalInterfaceBounds()
           
 int hashCode()
           
 boolean hasLowerBound()
           
 boolean isAnythingPattern()
           
static TypeVariablePattern read(VersionedDataInputStream s, ISourceContext context)
           
 java.lang.String toString()
           
 void write(CompressingDataOutputStream s)
           
 
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
 

Constructor Detail

TypeVariablePattern

public TypeVariablePattern(java.lang.String variableName)
Create a named type variable with upper bound Object and no lower bounds. Use this constructor for the simple "T" case


TypeVariablePattern

public TypeVariablePattern(java.lang.String variableName,
                           TypePattern upperBound)
Create a named type variable with the given upper bound and no lower bounds Use this constructor for the T extends Foo case

Parameters:
variableName -
upperBound -

TypeVariablePattern

public TypeVariablePattern(java.lang.String variableName,
                           TypePattern upperLimit,
                           TypePattern[] interfaceBounds,
                           TypePattern lowerBound)
Method Detail

accept

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

getName

public java.lang.String getName()

isAnythingPattern

public boolean isAnythingPattern()

getRawTypePattern

public TypePattern getRawTypePattern()

getUpperBound

public TypePattern getUpperBound()

hasLowerBound

public boolean hasLowerBound()

getLowerBound

public TypePattern getLowerBound()

hasAdditionalInterfaceBounds

public boolean hasAdditionalInterfaceBounds()

getAdditionalInterfaceBounds

public TypePattern[] getAdditionalInterfaceBounds()

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

write

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

read

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