Package org.apache.lucene.util

# Class RollingBuffer<T extends RollingBuffer.Resettable>

java.lang.Object
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

  Nested Classes
  Modifier and Type
  Class
  Description
  `static interface`
  `RollingBuffer.Resettable`
  Implement to reset an instance

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `RollingBuffer()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `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`
  `getBufferSize()`
  Returns how many active positions are in the buffer.
  `int`
  `getMaxPos()`
  Returns the maximum position looked up, or -1 if no position has been looked up since 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 Details

  - ### RollingBuffer

    public RollingBuffer()

- ## Method Details

  - ### 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 since reset/init.

  - ### getBufferSize

    public int getBufferSize()
    Returns how many active positions are in the buffer.

  - ### freeBefore

    public void freeBefore(int pos)