Module org.apache.lucene.core
Package org.apache.lucene.util
Class RollingBuffer<T extends RollingBuffer.Resettable>
java.lang.Object
org.apache.lucene.util.RollingBuffer<T>
- Direct Known Subclasses:
TokenStreamToAutomaton.Positions
Acts like forever growing T[], but internally uses a circular buffer to reuse instances of T.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interfaceImplement to reset an instance -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidfreeBefore(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.intReturns how many active positions are in the buffer.private intgetIndex(int pos) intReturns the maximum position looked up, or -1 if no position has been looked up since reset/init.private booleaninBounds(int pos) protected abstract Tvoidreset()
-
Field Details
-
buffer
-
nextWrite
private int nextWrite -
nextPos
private int nextPos -
count
private int count
-
-
Constructor Details
-
RollingBuffer
public RollingBuffer()
-
-
Method Details
-
newInstance
-
reset
public void reset() -
inBounds
private boolean inBounds(int pos) -
getIndex
private int getIndex(int pos) -
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)
-