org.aspectj.org.eclipse.jdt.internal.core.search.matching
Class TypeReferencePattern

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.core.search.SearchPattern
      extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
          extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.IntersectingPattern
              extended by org.aspectj.org.eclipse.jdt.internal.core.search.matching.TypeReferencePattern
All Implemented Interfaces:
IIndexConstants
Direct Known Subclasses:
DeclarationOfReferencedTypesPattern

public class TypeReferencePattern
extends IntersectingPattern


Field Summary
protected  char[] currentCategory
           
protected  int currentSegment
           
protected  char[] qualification
           
protected  char[][] segments
           
 int segmentsSize
           
protected  char[] simpleName
           
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
fineGrain, MATCH_COMPATIBILITY_MASK, MATCH_MODE_MASK
 
Fields inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
focus, kind, mustResolve, R_CAMELCASE_MATCH, R_CAMELCASE_SAME_PART_COUNT_MATCH, R_CASE_SENSITIVE, R_EQUIVALENT_MATCH, R_ERASURE_MATCH, R_EXACT_MATCH, R_FULL_MATCH, R_PATTERN_MATCH, R_PREFIX_MATCH, R_REGEXP_MATCH
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.core.search.indexing.IIndexConstants
AND_PATTERN, ANNOT_REF_PATTERN, ANNOTATION_REF, ANNOTATION_TYPE_SUFFIX, CLASS_AND_ENUM_SUFFIX, CLASS_AND_INTERFACE_SUFFIX, CLASS_SUFFIX, CONSTRUCTOR_DECL, CONSTRUCTOR_PATTERN, CONSTRUCTOR_REF, COUNTS, DEFAULT_CONSTRUCTOR, ENUM_SUFFIX, FIELD_DECL, FIELD_PATTERN, INTERFACE_AND_ANNOTATION_SUFFIX, INTERFACE_SUFFIX, LOCAL_VAR_PATTERN, METHOD_DECL, METHOD_PATTERN, METHOD_REF, OBJECT, ONE_STAR, ONE_STAR_CHAR, ONE_ZERO, ONE_ZERO_CHAR, OR_PATTERN, PARAMETER_SEPARATOR, PKG_DECL_PATTERN, PKG_REF_PATTERN, REF, SECONDARY_SUFFIX, SEPARATOR, SUPER_REF, SUPER_REF_PATTERN, TYPE_DECL, TYPE_DECL_PATTERN, TYPE_PARAM_PATTERN, TYPE_REF_PATTERN, TYPE_SUFFIX, ZERO_CHAR
 
Constructor Summary
TypeReferencePattern(char[] qualification, char[] simpleName, int matchRule)
           
TypeReferencePattern(char[] qualification, char[] simpleName, IType type, int matchRule)
           
TypeReferencePattern(char[] qualification, char[] simpleName, IType type, int limitTo, int matchRule)
           
TypeReferencePattern(char[] qualification, char[] simpleName, java.lang.String typeSignature, char typeSuffix, int matchRule)
           
TypeReferencePattern(char[] qualification, char[] simpleName, java.lang.String typeSignature, int matchRule)
           
TypeReferencePattern(char[] qualification, char[] simpleName, java.lang.String typeSignature, int limitTo, char typeSuffix, int matchRule)
           
 
Method Summary
 void decodeIndexKey(char[] key)
          Decode the given index key in this pattern.
 SearchPattern getBlankPattern()
          Returns a blank pattern that can be used as a record to decode an index key.
 char[][] getIndexCategories()
          Returns an array of index categories to consider for this index query.
 char[] getIndexKey()
          Returns a key to find in relevant index categories, if null then all index entries are matched.
protected  boolean hasNextQuery()
          Returns whether another query must be done.
 boolean matchesDecodedKey(SearchPattern decodedPattern)
          Returns whether this pattern matches the given pattern (representing a decoded index key).
protected  java.lang.StringBuffer print(java.lang.StringBuffer output)
           
protected  void resetQuery()
          Resets the query and prepares this pattern to be queried.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.IntersectingPattern
findIndexMatches
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.search.matching.JavaSearchPattern
getFineGrainFlagString, hasSignatures, hasTypeArguments, hasTypeParameters, toString
 
Methods inherited from class org.aspectj.org.eclipse.jdt.core.search.SearchPattern
acceptMatch, acceptMatch, camelCaseMatch, camelCaseMatch, camelCaseMatch, camelCaseMatch, createAndPattern, createOrPattern, createPattern, createPattern, createPattern, currentPattern, getMatchingRegions, getMatchRule, isPolymorphicSearch, matchesName, queryIn, validateMatchRule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

qualification

protected char[] qualification

simpleName

protected char[] simpleName

currentCategory

protected char[] currentCategory

segmentsSize

public int segmentsSize

segments

protected char[][] segments

currentSegment

protected int currentSegment
Constructor Detail

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            int matchRule)

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            java.lang.String typeSignature,
                            int matchRule)

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            java.lang.String typeSignature,
                            char typeSuffix,
                            int matchRule)

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            java.lang.String typeSignature,
                            int limitTo,
                            char typeSuffix,
                            int matchRule)

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            IType type,
                            int matchRule)

TypeReferencePattern

public TypeReferencePattern(char[] qualification,
                            char[] simpleName,
                            IType type,
                            int limitTo,
                            int matchRule)
Method Detail

decodeIndexKey

public void decodeIndexKey(char[] key)
Description copied from class: SearchPattern
Decode the given index key in this pattern. The decoded index key is used by SearchPattern.matchesDecodedKey(SearchPattern) to find out if the corresponding index entry should be considered.

This method should be re-implemented in subclasses that need to decode an index key.

Overrides:
decodeIndexKey in class SearchPattern
Parameters:
key - the given index key

getBlankPattern

public SearchPattern getBlankPattern()
Description copied from class: SearchPattern
Returns a blank pattern that can be used as a record to decode an index key.

Implementors of this method should return a new search pattern that is going to be used to decode index keys.

Overrides:
getBlankPattern in class JavaSearchPattern
Returns:
a new blank pattern
See Also:
SearchPattern.decodeIndexKey(char[])

getIndexKey

public char[] getIndexKey()
Description copied from class: SearchPattern
Returns a key to find in relevant index categories, if null then all index entries are matched. The key will be matched according to some match rule. These potential matches will be further narrowed by the match locator, but precise match locating can be expensive, and index query should be as accurate as possible so as to eliminate obvious false hits.

This method should be re-implemented in subclasses that need to narrow down the index query.

Overrides:
getIndexKey in class SearchPattern
Returns:
an index key from this pattern, or null if all index entries are matched.

getIndexCategories

public char[][] getIndexCategories()
Description copied from class: SearchPattern
Returns an array of index categories to consider for this index query. These potential matches will be further narrowed by the match locator, but precise match locating can be expensive, and index query should be as accurate as possible so as to eliminate obvious false hits.

This method should be re-implemented in subclasses that need to narrow down the index query.

Overrides:
getIndexCategories in class SearchPattern
Returns:
an array of index categories

hasNextQuery

protected boolean hasNextQuery()
Description copied from class: IntersectingPattern
Returns whether another query must be done.

Specified by:
hasNextQuery in class IntersectingPattern

matchesDecodedKey

public boolean matchesDecodedKey(SearchPattern decodedPattern)
Description copied from class: SearchPattern
Returns whether this pattern matches the given pattern (representing a decoded index key).

This method should be re-implemented in subclasses that need to narrow down the index query.

Overrides:
matchesDecodedKey in class SearchPattern
Parameters:
decodedPattern - a pattern representing a decoded index key
Returns:
whether this pattern matches the given pattern

resetQuery

protected void resetQuery()
Description copied from class: IntersectingPattern
Resets the query and prepares this pattern to be queried.

Specified by:
resetQuery in class IntersectingPattern

print

protected java.lang.StringBuffer print(java.lang.StringBuffer output)
Overrides:
print in class JavaSearchPattern