Class TableUpdateImpl
- All Implemented Interfaces:
LogOutputAppendable,TableUpdate
TableUpdate.-
Field Summary
FieldsModifier and TypeFieldDescription -
Constructor Summary
ConstructorsConstructorDescriptionTableUpdateImpl(RowSet added, RowSet removed, RowSet modified, RowSetShiftData shifted, ModifiedColumnSet modifiedColumnSet) Construct a TableUpdateImpl, which takes ownership of the passed in RowSets. -
Method Summary
Modifier and TypeMethodDescriptionacquire()Acquire a reference count for this TableUpdate that will keep it from being cleaned up until it isreleased.@NotNull RowSetadded()Rows added (in post-shift keyspace).static TableUpdateImplcopy(@NotNull TableUpdate tableUpdate) Make a deep copy of aTableUpdate.static TableUpdateImplcopy(@NotNull TableUpdate tableUpdate, @NotNull ModifiedColumnSet mcs) Make a deep copy of aTableUpdatewith the givenmcs.@NotNull RowSet@NotNull RowSetmodified()Rows modified (in post-shift keyspace).@NotNull ModifiedColumnSetThe set of columns that might have changed for rows in theTableUpdate.modified()RowSet.voidrelease()Release a previously-acquired reference count for this object.@NotNull RowSetremoved()Rows removed (in pre-shift keyspace).voidreset()@NotNull RowSetShiftDatashifted()Rows that shifted to new row keys.toString()voidvalidate()Throws anAssertionFailureif this update is not structurally valid, i.e.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface io.deephaven.engine.table.TableUpdate
append, empty, forAllModified
-
Field Details
-
added
-
removed
-
modified
-
shifted
-
modifiedColumnSet
-
-
Constructor Details
-
TableUpdateImpl
public TableUpdateImpl() -
TableUpdateImpl
public TableUpdateImpl(RowSet added, RowSet removed, RowSet modified, RowSetShiftData shifted, ModifiedColumnSet modifiedColumnSet) Construct a TableUpdateImpl, which takes ownership of the passed in RowSets.The added, removed, and modified RowSets must be distinct.
- Parameters:
added- The added rows (in post-shift space)removed- The removed rows (in pre-shift space)modified- The modified rows (in post-shift space)shifted- The shifted rowsmodifiedColumnSet- The modified columns
-
-
Method Details
-
toString
-
validate
Description copied from interface:TableUpdateThrows anAssertionFailureif this update is not structurally valid, i.e. its accessors will return non-null, usable data structures. This does not test for usage outside the appropriate updating phase.- Specified by:
validatein interfaceTableUpdate- Throws:
AssertionFailure
-
acquire
Description copied from interface:TableUpdateAcquire a reference count for this TableUpdate that will keep it from being cleaned up until it isreleased. Code that calls this method must be sure to callTableUpdate.release()when the TableUpdate is no longer needed. Acquiring a TableUpdate does not change the constraint that it must not be used outside the updating phase for which it was created.- Specified by:
acquirein interfaceTableUpdate- Returns:
thisfor convenience
-
release
public void release()Description copied from interface:TableUpdateRelease a previously-acquired reference count for this object.- Specified by:
releasein interfaceTableUpdate
-
getModifiedPreShift
- Specified by:
getModifiedPreShiftin interfaceTableUpdate- Returns:
- a cached copy of the modified RowSet in pre-shift keyspace
-
reset
public void reset() -
copy
Make a deep copy of aTableUpdate. -
copy
public static TableUpdateImpl copy(@NotNull @NotNull TableUpdate tableUpdate, @NotNull @NotNull ModifiedColumnSet mcs) Make a deep copy of aTableUpdatewith the givenmcs. -
added
Description copied from interface:TableUpdateRows added (in post-shift keyspace).A
TableUpdate.validate()update never returns a null RowSet, but the returned RowSet may beempty.Note that the TableUpdate object still retains ownership of the returned
RowSetobject. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquirethe update or make acopyof the RowSet.- Specified by:
addedin interfaceTableUpdate
-
removed
Description copied from interface:TableUpdateRows removed (in pre-shift keyspace).A
TableUpdate.validate()update never returns a null RowSet, but the returned RowSet may beempty.Note that the TableUpdate object still retains ownership of the returned
RowSetobject. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquirethe update or make acopyof the RowSet.- Specified by:
removedin interfaceTableUpdate
-
modified
Description copied from interface:TableUpdateRows modified (in post-shift keyspace).A
TableUpdate.validate()update never returns a null RowSet, but the returned RowSet may beempty.Note that the TableUpdate object still retains ownership of the returned
RowSetobject. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquirethe update or make acopyof the RowSet.- Specified by:
modifiedin interfaceTableUpdate
-
shifted
Description copied from interface:TableUpdateRows that shifted to new row keys.- Specified by:
shiftedin interfaceTableUpdate
-
modifiedColumnSet
Description copied from interface:TableUpdateThe set of columns that might have changed for rows in theTableUpdate.modified()RowSet.- Specified by:
modifiedColumnSetin interfaceTableUpdate
-