org.apache.lucene.util.packed
Class MonotonicAppendingLongBuffer

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

public final class MonotonicAppendingLongBuffer
extends Object

Utility class to buffer signed longs in memory, which is optimized for the case where the sequence is monotonic, although it can encode any sequence of arbitrary longs. It only supports appending.

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

Constructor Summary
MonotonicAppendingLongBuffer()
          Create an MonotonicAppendingLongBuffer with initialPageCount=16, pageSize=1024 and acceptableOverheadRatio=PackedInts.DEFAULT
MonotonicAppendingLongBuffer(float acceptableOverheadRatio)
          Create an AppendingDeltaPackedLongBuffer with initialPageCount=16, pageSize=1024
MonotonicAppendingLongBuffer(int initialPageCount, int pageSize, float acceptableOverheadRatio)
           
 
Method Summary
 void add(long l)
          Append a value to this buffer.
 void freeze()
          Pack all pending values in this buffer.
 long get(long index)
          Get a value from this buffer.
 int get(long index, long[] arr, int off, int len)
          Bulk get: read at least one and at most len longs starting from index into arr[off:off+len] and return the actual number of values that have been read.
 org.apache.lucene.util.packed.AbstractAppendingLongBuffer.Iterator iterator()
          Return an iterator over the values of this buffer.
 long ramBytesUsed()
          Return the number of bytes used by this instance.
 long size()
          Get the number of values that have been added to the buffer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MonotonicAppendingLongBuffer

public MonotonicAppendingLongBuffer(int initialPageCount,
                                    int pageSize,
                                    float acceptableOverheadRatio)
Parameters:
initialPageCount - the initial number of pages
pageSize - the size of a single page
acceptableOverheadRatio - an acceptable overhead ratio per value

MonotonicAppendingLongBuffer

public MonotonicAppendingLongBuffer()
Create an MonotonicAppendingLongBuffer with initialPageCount=16, pageSize=1024 and acceptableOverheadRatio=PackedInts.DEFAULT


MonotonicAppendingLongBuffer

public MonotonicAppendingLongBuffer(float acceptableOverheadRatio)
Create an AppendingDeltaPackedLongBuffer with initialPageCount=16, pageSize=1024

Method Detail

ramBytesUsed

public long ramBytesUsed()
Return the number of bytes used by this instance.


size

public final long size()
Get the number of values that have been added to the buffer.


add

public final void add(long l)
Append a value to this buffer.


get

public final long get(long index)
Get a value from this buffer.


get

public final int get(long index,
                     long[] arr,
                     int off,
                     int len)
Bulk get: read at least one and at most len longs starting from index into arr[off:off+len] and return the actual number of values that have been read.


iterator

public org.apache.lucene.util.packed.AbstractAppendingLongBuffer.Iterator iterator()
Return an iterator over the values of this buffer.


freeze

public void freeze()
Pack all pending values in this buffer. Subsequent calls to add(long) will fail.



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