Package org.elasticsearch.core
Class AbstractRefCounted
java.lang.Object
org.elasticsearch.core.AbstractRefCounted
- All Implemented Interfaces:
RefCounted
A basic RefCounted implementation that is initialized with a
ref count of 1 and calls
closeInternal()
once it reaches
a 0 ref count-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
protected abstract void
Method that is invoked once the reference count reaches zero.boolean
decRef()
Decreases the refCount of this instance.getName()
gets the name of this instancevoid
incRef()
Increments the refCount of this instance.int
refCount()
Returns the current reference count.protected void
touch()
Called whenever the ref count is incremented or decremented.boolean
Tries to increment the refCount of this instance.
-
Constructor Details
-
AbstractRefCounted
-
-
Method Details
-
incRef
public final void incRef()Description copied from interface:RefCounted
Increments the refCount of this instance.- Specified by:
incRef
in interfaceRefCounted
- See Also:
RefCounted.decRef()
,RefCounted.tryIncRef()
-
tryIncRef
public final boolean tryIncRef()Description copied from interface:RefCounted
Tries to increment the refCount of this instance. This method will returntrue
iff the refCount was- Specified by:
tryIncRef
in interfaceRefCounted
- See Also:
RefCounted.decRef()
,RefCounted.incRef()
-
decRef
public final boolean decRef()Description copied from interface:RefCounted
Decreases the refCount of this instance. If the refCount drops to 0, then this instance is considered as closed and should not be used anymore.- Specified by:
decRef
in interfaceRefCounted
- Returns:
- returns
true
if the ref count dropped to 0 as a result of calling this method - See Also:
RefCounted.incRef()
-
touch
protected void touch()Called whenever the ref count is incremented or decremented. Can be implemented by implementations to a record of access to the instance for debugging purposes. -
alreadyClosed
protected void alreadyClosed() -
refCount
public int refCount()Returns the current reference count. -
getName
gets the name of this instance -
closeInternal
protected abstract void closeInternal()Method that is invoked once the reference count reaches zero. Implementations of this method must handle all exceptions and may not throw any exceptions.
-