All Implemented Interfaces:
Cloneable, IParallelizable, IIndexConstants
Direct Known Subclasses:
DeclarationOfAccessedFieldsPattern

public class FieldPattern extends VariablePattern
  • Field Details

    • declaringQualification

      protected char[] declaringQualification
    • declaringSimpleName

      protected char[] declaringSimpleName
    • typeQualification

      protected char[] typeQualification
    • typeSimpleName

      protected char[] typeSimpleName
    • REF_CATEGORIES

      protected static char[][] REF_CATEGORIES
    • REF_AND_DECL_CATEGORIES

      protected static char[][] REF_AND_DECL_CATEGORIES
    • DECL_CATEGORIES

      protected static char[][] DECL_CATEGORIES
  • Constructor Details

    • FieldPattern

      public FieldPattern(char[] name, char[] declaringQualification, char[] declaringSimpleName, char[] typeQualification, char[] typeSimpleName, int limitTo, int matchRule)
    • FieldPattern

      public FieldPattern(char[] name, char[] declaringQualification, char[] declaringSimpleName, char[] typeQualification, char[] typeSimpleName, String typeSignature, int limitTo, int matchRule)
  • Method Details

    • createIndexKey

      public static char[] createIndexKey(char[] fieldName)
    • 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
    • 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
    • mustResolve

      protected boolean mustResolve()
      Overrides:
      mustResolve in class VariablePattern
    • print

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