Class SwapListener
- All Implemented Interfaces:
com.fishlib.base.log.LogOutputAppendable,LivenessManager,LivenessNode,LivenessReferent,Listener,ListenerBase,Serializable
- See Also:
-
Field Summary
Fields inherited from class com.illumon.iris.db.v2.SwapListenerBase
DEBUG -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddestroy()Attempt to release (destructively when necessary) resources held by this object.getNotification(Index added, Index removed, Index modified) Creates a notification for the table changes.voidProcess notification of table changes.voidsetInitialImage(Index initialImage) Sets the index for the initial data.voidInvokeDynamicTable.listenForUpdates(Listener)for the appropriate subclass ofSwapListenerBase.Methods inherited from class com.illumon.iris.db.v2.SwapListenerBase
end, getErrorNotification, makeSnapshotControl, onFailure, setListenerAndResult, startMethods inherited from class com.illumon.iris.db.util.liveness.LivenessArtifact
manageWithCurrentScope, unmanage, unmanageMethods inherited from class com.illumon.iris.db.util.liveness.ReferenceCountedLivenessNode
dropReference, getWeakReference, initializeTransientFieldsForLiveness, onReferenceCountAtZero, tryManage, tryRetainReferenceMethods inherited from class com.illumon.util.referencecounting.ReferenceCounted
append, decrementReferenceCount, incrementReferenceCount, resetReferenceCount, toString, tryDecrementReferenceCount, tryIncrementReferenceCountMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.illumon.iris.db.v2.ListenerBase
getErrorNotification, onFailureMethods inherited from interface com.illumon.iris.db.util.liveness.LivenessManager
manage, tryManageMethods inherited from interface com.illumon.iris.db.util.liveness.LivenessReferent
dropReference, getReferentDescription, getWeakReference, retainReference, tryRetainReference
-
Constructor Details
-
SwapListener
-
-
Method Details
-
onUpdate
Description copied from interface:ListenerProcess notification of table changes.The Listener onUpdate call executes within the
LiveTableMonitorrefresh loop. Any tables used within the listener's onUpdate call must have already been refreshed. Using the typical pattern of a Listener that is listening to a single table, withDynamicTable.listenForUpdates(Listener), this is trivially true.When the listener must reference more than just one parent, the tables (or other objects) it references, must be made a
NotificationQueue.Dependencyof the listener. For listeners that reference multiple ticking tables, a common pattern is to use aMergedListenerand collection ofListenerRecorders. -
getNotification
public NotificationQueue.IndexUpdateNotification getNotification(Index added, Index removed, Index modified) Description copied from interface:ListenerCreates a notification for the table changes.- Specified by:
getNotificationin interfaceListener- Parameters:
added- rows addedremoved- rows removedmodified- rows modified- Returns:
- table change notification
-
setInitialImage
Description copied from interface:ListenerSets the index for the initial data.- Specified by:
setInitialImagein interfaceListener- Parameters:
initialImage- initial image
-
destroy
public void destroy()Description copied from class:ReferenceCountedLivenessNodeAttempt to release (destructively when necessary) resources held by this object. This may render the object unusable for subsequent operations. Implementations should be sure to call super.destroy().
This is intended to only ever be used as a side effect of decreasing the reference count to 0.
- Overrides:
destroyin classReferenceCountedLivenessNode
-
subscribeForUpdates
public void subscribeForUpdates()Description copied from class:SwapListenerBaseInvokeDynamicTable.listenForUpdates(Listener)for the appropriate subclass ofSwapListenerBase.- Specified by:
subscribeForUpdatesin classSwapListenerBase<Listener>
-