Class AbstractPrefixMap

All Implemented Interfaces:
Function<CharSequence,Long>, Object2LongFunction<CharSequence>, PrefixMap<MutableString>, StringMap<MutableString>, Serializable, Function<CharSequence,Long>, ToLongFunction<CharSequence>
Direct Known Subclasses:
ImmutableExternalPrefixMap, TernaryIntervalSearchTree

public abstract class AbstractPrefixMap extends AbstractObject2LongFunction<CharSequence> implements PrefixMap<MutableString>, Serializable
An abstract implementation of a prefix map.

This class provides the full services of a PrefixMap by implementing just getInterval(CharSequence) and getTerm(int, MutableString)

See Also:
  • Field Details

  • Constructor Details

    • AbstractPrefixMap

      public AbstractPrefixMap()
  • Method Details

    • getInterval

      protected abstract Interval getInterval(CharSequence prefix)
      Returns the range of strings having a given prefix.
      Parameters:
      prefix - a prefix.
      Returns:
      the corresponding range of strings as an interval.
    • getTerm

      protected abstract MutableString getTerm(int index, MutableString string)
      Writes a string specified by index into a MutableString.
      Parameters:
      index - the index of a string.
      string - a mutable string.
      Returns:
      string.
    • rangeMap

      Description copied from interface: PrefixMap
      Returns a function mapping prefixes to ranges of strings.
      Specified by:
      rangeMap in interface PrefixMap<MutableString>
      Returns:
      a function mapping prefixes to ranges of strings.
    • prefixMap

      Description copied from interface: PrefixMap
      Returns a function mapping ranges of strings to common prefixes (optional operation).
      Specified by:
      prefixMap in interface PrefixMap<MutableString>
      Returns:
      a function mapping ranges of strings to common prefixes, or null if this map does not support prefixes.
    • list

      public ObjectList<MutableString> list()
      Description copied from interface: StringMap
      Returns a list view of the domain of this string map (optional operation).

      Note that the list view acts as an inverse of the mapping implemented by this map.

      Specified by:
      list in interface StringMap<MutableString>
      Returns:
      a list view of the domain of this string map, or null if this map does not support this operation.