org.apache.lucene.util
Class RollingBuffer<T extends RollingBuffer.Resettable>

java.lang.Object
  extended by org.apache.lucene.util.RollingBuffer<T>

public abstract class RollingBuffer<T extends RollingBuffer.Resettable>
extends Object

Acts like forever growing T[], but internally uses a circular buffer to reuse instances of T.

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

Nested Class Summary
static interface RollingBuffer.Resettable
          Implement to reset an instance
 
Constructor Summary
RollingBuffer()
           
 
Method Summary
 void freeBefore(int pos)
           
 T get(int pos)
          Get T instance for this absolute position; this is allowed to be arbitrarily far "in the future" but cannot be before the last freeBefore.
 int getMaxPos()
          Returns the maximum position looked up, or -1 if no position has been looked up sinc reset/init.
protected abstract  T newInstance()
           
 void reset()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RollingBuffer

public RollingBuffer()
Method Detail

newInstance

protected abstract T newInstance()

reset

public void reset()

get

public T get(int pos)
Get T instance for this absolute position; this is allowed to be arbitrarily far "in the future" but cannot be before the last freeBefore.


getMaxPos

public int getMaxPos()
Returns the maximum position looked up, or -1 if no position has been looked up sinc reset/init.


freeBefore

public void freeBefore(int pos)


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