Package org.apache.lucene.util
Class RollingBuffer<T extends RollingBuffer.Resettable>
java.lang.Object
org.apache.lucene.util.RollingBuffer<T>
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
Modifier and TypeClassDescriptionstatic interface
Implement to reset an instance -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
freeBefore
(int pos) 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
Returns how many active positions are in the buffer.int
Returns the maximum position looked up, or -1 if no position has been looked up since reset/init.protected abstract T
void
reset()
-
Constructor Details
-
RollingBuffer
public RollingBuffer()
-
-
Method Details
-
newInstance
-
reset
public void reset() -
get
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 since reset/init. -
getBufferSize
public int getBufferSize()Returns how many active positions are in the buffer. -
freeBefore
public void freeBefore(int pos)
-