it.unimi.dsi.util
Class AbstractPrefixMap

java.lang.Object
  extended by it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction<CharSequence>
      extended by it.unimi.dsi.util.AbstractPrefixMap
All Implemented Interfaces:
Function<CharSequence,Long>, Object2LongFunction<CharSequence>, PrefixMap<MutableString>, StringMap<MutableString>, Serializable
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 serives of a PrefixMap by implementing just getInterval(CharSequence) and getTerm(int, MutableString)

See Also:
Serialized Form

Field Summary
protected  ObjectList<MutableString> list
           
protected  Object2ObjectFunction<Interval,MutableString> prefixMap
           
protected  Object2ObjectFunction<CharSequence,Interval> rangeMap
           
 
Fields inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
defRetValue
 
Constructor Summary
AbstractPrefixMap()
           
 
Method Summary
protected abstract  Interval getInterval(CharSequence prefix)
          Returns the range of strings having a given prefix.
protected abstract  MutableString getTerm(int index, MutableString string)
          Writes a string specified by index into a MutableString.
 ObjectList<MutableString> list()
          Returns a list view of the domain of this string map (optional operation).
 Object2ObjectFunction<Interval,MutableString> prefixMap()
          Returns a function mapping ranges of strings to common prefixes (optional operation).
 Object2ObjectFunction<CharSequence,Interval> rangeMap()
          Returns a function mapping prefixes to ranges of strings.
 
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction
clear, defaultReturnValue, defaultReturnValue, get, put, put, remove, removeLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.fastutil.objects.Object2LongFunction
defaultReturnValue, defaultReturnValue, getLong, put, removeLong
 
Methods inherited from interface it.unimi.dsi.fastutil.Function
clear, containsKey, get, put, remove, size
 

Field Detail

rangeMap

protected Object2ObjectFunction<CharSequence,Interval> rangeMap

prefixMap

protected Object2ObjectFunction<Interval,MutableString> prefixMap

list

protected ObjectList<MutableString> list
Constructor Detail

AbstractPrefixMap

public AbstractPrefixMap()
Method Detail

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

public Object2ObjectFunction<CharSequence,Interval> 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

public Object2ObjectFunction<Interval,MutableString> 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.