Interface TransformationStrategy<T>

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

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

    Modifier and Type Method Description
    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 Details

    • 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

      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)).