Interface SubscriptionTableData

All Superinterfaces:
TableData
All Known Implementing Classes:
AbstractTableSubscription.SubscriptionEventData, AbstractTableSubscription.ViewportEventData

@TsInterface @TsName(name="SubscriptionTableData", namespace="dh") public interface SubscriptionTableData extends TableData
Event data, describing the indexes that were added/removed/updated, and providing access to Rows (and thus data in columns) either by index, or scanning the complete present index.

This class supports two ways of reading the table - checking the changes made since the last update, and reading all data currently in the table. While it is more expensive to always iterate over every single row in the table, it may in some cases actually be cheaper than maintaining state separately and updating only the changes, though both options should be considered.

The RangeSet objects allow iterating over the LongWrapper indexes in the table. Note that these "indexes" are not necessarily contiguous and may be negative, and represent some internal state on the server, allowing it to keep track of data efficiently. Those LongWrapper objects can be passed to the various methods on this instance to read specific rows or cells out of the table.

  • Method Details

    • getFullIndex

      @JsProperty JsRangeSet getFullIndex()
    • getAdded

      @JsProperty JsRangeSet getAdded()
      The ordered set of row indexes added since the last update.
      Returns:
      the rangeset of rows added
    • getRemoved

      @JsProperty JsRangeSet getRemoved()
      The ordered set of row indexes removed since the last update
      Returns:
      the rangeset of removed rows
    • getModified

      @JsProperty JsRangeSet getModified()
      The ordered set of row indexes updated since the last update
      Returns:
      the rnageset of modified rows