Class RefCount<T>

java.lang.Object
org.apache.lucene.util.RefCount<T>

public class RefCount<T> extends Object
Manages reference counting for a given object. Extensions can override release() to do custom logic when reference counting hits 0.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected final T
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    RefCount(T object)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    final void
    Decrements the reference counting of this object.
    final T
    get()
     
    final int
    Returns the current reference count.
    final void
    Increments the reference count.
    protected void
    Called when reference counting hits 0.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • object

      protected final T object
  • Constructor Details

    • RefCount

      public RefCount(T object)
  • Method Details

    • release

      protected void release() throws IOException
      Called when reference counting hits 0. By default this method does nothing, but extensions can override to e.g. release resources attached to object that is managed by this class.
      Throws:
      IOException
    • decRef

      public final void decRef() throws IOException
      Decrements the reference counting of this object. When reference counting hits 0, calls release().
      Throws:
      IOException
    • get

      public final T get()
    • getRefCount

      public final int getRefCount()
      Returns the current reference count.
    • incRef

      public final void incRef()
      Increments the reference count. Calls to this method must be matched with calls to decRef().