Class PackageReferencePattern

All Implemented Interfaces:
Cloneable, IParallelizable, IIndexConstants

public class PackageReferencePattern extends IntersectingPattern
  • Field Details

    • pkgName

      protected char[] pkgName
    • segments

      protected char[][] segments
    • currentSegment

      protected int currentSegment
    • CATEGORIES

      protected static char[][] CATEGORIES
  • Constructor Details

    • PackageReferencePattern

      public PackageReferencePattern(char[] pkgName, int matchRule)
  • Method Details

    • 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 StringBuffer print(StringBuffer output)
      Overrides:
      print in class JavaSearchPattern