org.apache.lucene.util.packed
Class BlockPackedWriter

java.lang.Object
  extended by org.apache.lucene.util.packed.BlockPackedWriter

public final class BlockPackedWriter
extends Object

A writer for large sequences of longs.

The sequence is divided into fixed-size blocks and for each block, the difference between each value and the minimum value of the block is encoded using as few bits as possible. Memory usage of this class is proportional to the block size. Each block has an overhead between 1 and 10 bytes to store the minimum value and the number of bits per value of the block.

See Also:
BlockPackedReader
NOTE: This API is for internal purposes only and might change in incompatible ways in the next release.

Constructor Summary
BlockPackedWriter(DataOutput out, int blockSize)
          Sole constructor.
 
Method Summary
 void add(long l)
          Append a new long.
 void finish()
          Flush all buffered data to disk.
 long ord()
          Return the number of values which have been added.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BlockPackedWriter

public BlockPackedWriter(DataOutput out,
                         int blockSize)
Sole constructor.

Parameters:
blockSize - the number of values of a single block, must be a multiple of 64
Method Detail

add

public void add(long l)
         throws IOException
Append a new long.

Throws:
IOException

finish

public void finish()
            throws IOException
Flush all buffered data to disk. This instance is not usable anymore after this method has been called.

Throws:
IOException

ord

public long ord()
Return the number of values which have been added.



Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.