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

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.TypeDeclarationPattern
All Implemented Interfaces:
IIndexConstants
Direct Known Subclasses:
QualifiedTypeDeclarationPattern, SecondaryTypeDeclarationPattern

public class TypeDeclarationPattern
extends JavaSearchPattern


Field Summary
protected static char[][] CATEGORIES
           
 char[][] enclosingTypeNames
           
 int modifiers
           
 char[] pkg
           
 boolean secondary
           
 char[] simpleName
           
 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
TypeDeclarationPattern(char[] pkg, char[][] enclosingTypeNames, char[] simpleName, char typeSuffix, int matchRule)
           
 
Method Summary
static char[] createIndexKey(int modifiers, char[] typeName, char[] packageName, char[][] enclosingTypeNames, boolean secondary)
           
 void decodeIndexKey(char[] key)
          Decode the given index key in this pattern.
protected  void decodeModifiers()
           
 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

simpleName

public char[] simpleName

pkg

public char[] pkg

enclosingTypeNames

public char[][] enclosingTypeNames

typeSuffix

public char typeSuffix

modifiers

public int modifiers

secondary

public boolean secondary

CATEGORIES

protected static char[][] CATEGORIES
Constructor Detail

TypeDeclarationPattern

public TypeDeclarationPattern(char[] pkg,
                              char[][] enclosingTypeNames,
                              char[] simpleName,
                              char typeSuffix,
                              int matchRule)
Method Detail

createIndexKey

public static char[] createIndexKey(int modifiers,
                                    char[] typeName,
                                    char[] packageName,
                                    char[][] enclosingTypeNames,
                                    boolean secondary)

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

decodeModifiers

protected void decodeModifiers()

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