Class SuperTypeReferencePattern

All Implemented Interfaces:
Cloneable, IParallelizable, IIndexConstants

public class SuperTypeReferencePattern extends JavaSearchPattern
  • Field Details

    • 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 Details

    • 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 Details

    • 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 IOException
      Overrides:
      queryIn in class SearchPattern
      Throws:
      IOException
    • print

      protected StringBuffer print(StringBuffer output)
      Overrides:
      print in class JavaSearchPattern