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

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.SuperTypeReferencePattern
All Implemented Interfaces:
IIndexConstants

public class SuperTypeReferencePattern
extends JavaSearchPattern


Field Summary
static int ALL_SUPER_TYPES
           
protected static char[][] CATEGORIES
           
 char classOrInterface
           
 char[] enclosingTypeName
           
 int modifiers
           
static int ONLY_SUPER_CLASSES
           
static int ONLY_SUPER_INTERFACES
           
 char[] pkgName
           
 char[] simpleName
           
 char superClassOrInterface
           
 char[] superQualification
           
protected  int superRefKind
           
 char[] superSimpleName
           
 char[][] typeParameterSignatures
           
 char typeSuffix
           
 
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
SuperTypeReferencePattern(char[] superQualification, char[] superSimpleName, int superRefKind, char typeSuffix, int matchRule)
           
SuperTypeReferencePattern(char[] superQualification, char[] superSimpleName, int superRefKind, int matchRule)
           
 
Method Summary
static char[] createIndexKey(int modifiers, char[] packageName, char[] typeName, char[][] enclosingTypeNames, char[][] typeParameterSignatures, char classOrInterface, char[] superTypeName, char superClassOrInterface)
           
 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.
 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)
           
 EntryResult[] queryIn(Index index)
           
 
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, findIndexMatches, getIndexKey, getMatchingRegions, getMatchRule, isPolymorphicSearch, matchesName, validateMatchRule
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

superQualification

public char[] superQualification

superSimpleName

public char[] superSimpleName

superClassOrInterface

public char superClassOrInterface

typeSuffix

public char typeSuffix

pkgName

public char[] pkgName

simpleName

public char[] simpleName

enclosingTypeName

public char[] enclosingTypeName

classOrInterface

public char classOrInterface

modifiers

public int modifiers

typeParameterSignatures

public char[][] typeParameterSignatures

superRefKind

protected int superRefKind

ALL_SUPER_TYPES

public static final int ALL_SUPER_TYPES
See Also:
Constant Field Values

ONLY_SUPER_INTERFACES

public static final int ONLY_SUPER_INTERFACES
See Also:
Constant Field Values

ONLY_SUPER_CLASSES

public static final int ONLY_SUPER_CLASSES
See Also:
Constant Field Values

CATEGORIES

protected static char[][] CATEGORIES
Constructor Detail

SuperTypeReferencePattern

public SuperTypeReferencePattern(char[] superQualification,
                                 char[] superSimpleName,
                                 int superRefKind,
                                 int matchRule)

SuperTypeReferencePattern

public SuperTypeReferencePattern(char[] superQualification,
                                 char[] superSimpleName,
                                 int superRefKind,
                                 char typeSuffix,
                                 int matchRule)
Method Detail

createIndexKey

public static char[] createIndexKey(int modifiers,
                                    char[] packageName,
                                    char[] typeName,
                                    char[][] enclosingTypeNames,
                                    char[][] typeParameterSignatures,
                                    char classOrInterface,
                                    char[] superTypeName,
                                    char superClassOrInterface)

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[])

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

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

queryIn

public EntryResult[] queryIn(Index index)
                      throws java.io.IOException
Overrides:
queryIn in class SearchPattern
Throws:
java.io.IOException

print

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