it.unimi.dsi.bits
Interface TransformationStrategy<T>

All Superinterfaces:
Serializable
All Known Implementing Classes:
HuTuckerTransformationStrategy, PrefixCoderTransformationStrategy, Utf16TransformationStrategy

public interface TransformationStrategy<T>
extends Serializable

A generic transformation from objects of a given type to bit vector. Most useful when adding strings, etc. to a trie.


Method Summary
 TransformationStrategy<T> copy()
          Returns a copy of this transformation strategy.
 long length(T object)
          Returns the length of the bit vector that would be computed by toBitVector(Object).
 long numBits()
          The (approximate) number of bits occupied by this transformation.
 BitVector toBitVector(T object)
          Returns a bit vector representation of the given object.
 

Method Detail

toBitVector

BitVector toBitVector(T object)
Returns a bit vector representation of the given object.

Parameters:
object - the object to be turned into a bit-vector representation.
Returns:
a bit-vector representation of object.

numBits

long numBits()
The (approximate) number of bits occupied by this transformation.

Returns:
the (approximate) number of bits occupied by this transformation.

copy

TransformationStrategy<T> copy()
Returns a copy of this transformation strategy.

Returns:
a copy of this transformation strategy.

length

long length(T object)
Returns the length of the bit vector that would be computed by toBitVector(Object).

The raison d'être of this method is that it is often easy to know the length of the representation without actually computing the representation.

Parameters:
object - the object whose representation length is to be known.
Returns:
the length of the bit-vector representation of object (the one that would be returned by toBitVector(Object)).