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 RowSet
added()
Rows added (in post-shift keyspace).static TableUpdateImpl
copy
(@NotNull TableUpdate tableUpdate) Make a deep copy of aTableUpdate
.static TableUpdateImpl
copy
(@NotNull TableUpdate tableUpdate, @NotNull ModifiedColumnSet mcs) Make a deep copy of aTableUpdate
with the givenmcs
.@NotNull RowSet
@NotNull RowSet
modified()
Rows modified (in post-shift keyspace).@NotNull ModifiedColumnSet
The set of columns that might have changed for rows in theTableUpdate.modified()
RowSet.void
release()
Release a previously-acquired reference count for this object.@NotNull RowSet
removed()
Rows removed (in pre-shift keyspace).void
reset()
@NotNull RowSetShiftData
shifted()
Rows that shifted to new row keys.toString()
void
validate()
Throws anAssertionFailure
if this update is not structurally valid, i.e.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods 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:TableUpdate
Throws anAssertionFailure
if 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:
validate
in interfaceTableUpdate
- Throws:
AssertionFailure
-
acquire
Description copied from interface:TableUpdate
Acquire 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:
acquire
in interfaceTableUpdate
- Returns:
this
for convenience
-
release
public void release()Description copied from interface:TableUpdate
Release a previously-acquired reference count for this object.- Specified by:
release
in interfaceTableUpdate
-
getModifiedPreShift
- Specified by:
getModifiedPreShift
in 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 aTableUpdate
with the givenmcs
. -
added
Description copied from interface:TableUpdate
Rows 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
RowSet
object. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquire
the update or make acopy
of the RowSet.- Specified by:
added
in interfaceTableUpdate
-
removed
Description copied from interface:TableUpdate
Rows 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
RowSet
object. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquire
the update or make acopy
of the RowSet.- Specified by:
removed
in interfaceTableUpdate
-
modified
Description copied from interface:TableUpdate
Rows 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
RowSet
object. The caller must not close the returned RowSet. To use the RowSet beyond the scope of a notification, the caller mustacquire
the update or make acopy
of the RowSet.- Specified by:
modified
in interfaceTableUpdate
-
shifted
Description copied from interface:TableUpdate
Rows that shifted to new row keys.- Specified by:
shifted
in interfaceTableUpdate
-
modifiedColumnSet
Description copied from interface:TableUpdate
The set of columns that might have changed for rows in theTableUpdate.modified()
RowSet.- Specified by:
modifiedColumnSet
in interfaceTableUpdate
-