Interface Listener

All Superinterfaces:
ListenerBase, LivenessManager, LivenessNode, LivenessReferent
All Known Implementing Classes:
BaseTable.ListenerImpl, DynamicTableToAdoConverter, InstrumentedListener, InstrumentedListenerAdapter, SwapListener, TableLogger

public interface Listener extends ListenerBase
Listener for table changes.
  • Method Details

    • onUpdate

      void onUpdate(Index added, Index removed, Index modified)
      Process notification of table changes.

      The Listener onUpdate call executes within the LiveTableMonitor refresh 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, with DynamicTable.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.Dependency of the listener. For listeners that reference multiple ticking tables, a common pattern is to use a MergedListener and collection of ListenerRecorders.

      Parameters:
      added - rows added
      removed - rows removed
      modified - rows modified
    • getNotification

      NotificationQueue.IndexUpdateNotification getNotification(Index added, Index removed, Index modified)
      Creates a notification for the table changes.
      Parameters:
      added - rows added
      removed - rows removed
      modified - rows modified
      Returns:
      table change notification
    • setInitialImage

      void setInitialImage(Index initialImage)
      Sets the index for the initial data.
      Parameters:
      initialImage - initial image