Package org.apache.wayang.core.util
Class AbstractReferenceCountable
java.lang.Object
org.apache.wayang.core.util.AbstractReferenceCountable
- All Implemented Interfaces:
ReferenceCountable
- Direct Known Subclasses:
ExecutionResourceTemplate
,ExecutorTemplate
Implements a template for
ReferenceCountable
objects.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Dispose this instance if there are no more references to it.protected abstract void
Dispose this instance, which is not referenced anymore.int
Tells the number of references on this instance.boolean
Optional operation. Tell whether this instance has been disposed.void
noteDiscardedReference
(boolean isDisposeIfUnreferenced) Declare that a reference on this instance has been discarded.void
Declare that there is a new reference obtained on this instance.
-
Constructor Details
-
AbstractReferenceCountable
public AbstractReferenceCountable()
-
-
Method Details
-
disposeIfUnreferenced
public boolean disposeIfUnreferenced()Description copied from interface:ReferenceCountable
Dispose this instance if there are no more references to it.- Specified by:
disposeIfUnreferenced
in interfaceReferenceCountable
- Returns:
- whether this instance is not referenced any more
-
disposeUnreferenced
protected abstract void disposeUnreferenced()Dispose this instance, which is not referenced anymore. This method should always be invoked throughdisposeUnreferenced()
-
getNumReferences
public int getNumReferences()Description copied from interface:ReferenceCountable
Tells the number of references on this instance.- Specified by:
getNumReferences
in interfaceReferenceCountable
- Returns:
- the number of references
-
noteObtainedReference
public void noteObtainedReference()Description copied from interface:ReferenceCountable
Declare that there is a new reference obtained on this instance.- Specified by:
noteObtainedReference
in interfaceReferenceCountable
-
noteDiscardedReference
public void noteDiscardedReference(boolean isDisposeIfUnreferenced) Description copied from interface:ReferenceCountable
Declare that a reference on this instance has been discarded. Optionally, dispose this instance if there are no remaining references.- Specified by:
noteDiscardedReference
in interfaceReferenceCountable
- Parameters:
isDisposeIfUnreferenced
- whether to dispose this instance if there are no more references
-
isDisposed
public boolean isDisposed()Description copied from interface:ReferenceCountable
Optional operation. Tell whether this instance has been disposed.- Specified by:
isDisposed
in interfaceReferenceCountable
- Returns:
- whether this instance has been disposed
-