Class AbstractRefCounted
- java.lang.Object
-
- org.elasticsearch.common.util.concurrent.AbstractRefCounted
-
- All Implemented Interfaces:
RefCounted
- Direct Known Subclasses:
RecoveryTarget
,SearchContext
public abstract class AbstractRefCounted extends java.lang.Object implements RefCounted
A basic RefCounted implementation that is initialized with a ref count of 1 and callscloseInternal()
once it reaches a 0 ref count
-
-
Constructor Summary
Constructors Constructor Description AbstractRefCounted(java.lang.String name)
-
Method Summary
Modifier and Type Method Description protected void
alreadyClosed()
protected abstract void
closeInternal()
void
decRef()
Decreases the refCount of this instance.java.lang.String
getName()
gets the name of this instancevoid
incRef()
Increments the refCount of this instance.int
refCount()
Returns the current reference count.boolean
tryIncRef()
Tries to increment the refCount of this instance.
-
-
-
Method Detail
-
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 void 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
- See Also:
RefCounted.incRef()
-
alreadyClosed
protected void alreadyClosed()
-
refCount
public int refCount()
Returns the current reference count.
-
getName
public java.lang.String getName()
gets the name of this instance
-
closeInternal
protected abstract void closeInternal()
-
-