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 and Description
    --- | ---
    `static interface` | `RollingBuffer.Resettable` Implement to reset an instance

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RollingBuffer()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and 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` | `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-2013 Apache Software Foundation. All Rights Reserved.