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 
    Implement to reset an instance
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    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
     

    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)