Class ConditionalRowMutation
- java.lang.Object
-
- com.google.cloud.bigtable.data.v2.models.ConditionalRowMutation
-
- All Implemented Interfaces:
Serializable
public final class ConditionalRowMutation extends Object implements Serializable
Mutates a row atomically based on the output of a condition filter.- See Also:
- Serialized Form
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description ConditionalRowMutation
condition(Filters.Filter condition)
The filter to be applied to the contents of the specified row.static ConditionalRowMutation
create(String tableId, com.google.protobuf.ByteString rowKey)
Creates a new instance of the mutation builder.static ConditionalRowMutation
create(String tableId, String rowKey)
Creates a new instance of the mutation builder.static ConditionalRowMutation
fromProto(CheckAndMutateRowRequest request)
Wraps the protobufCheckAndMutateRowRequest
.ConditionalRowMutation
otherwise(Mutation mutation)
Adds changes to be atomically applied to the specified row if the condition does not yields any cells when applied to the row.ConditionalRowMutation
then(Mutation mutation)
Adds changes to be atomically applied to the specified row if the condition yields at least one cell when applied to the row.CheckAndMutateRowRequest
toProto(com.google.cloud.bigtable.data.v2.internal.RequestContext requestContext)
Creates the underlyingCheckAndMutateRowRequest
protobuf.
-
-
-
Method Detail
-
create
public static ConditionalRowMutation create(String tableId, String rowKey)
Creates a new instance of the mutation builder.
-
create
public static ConditionalRowMutation create(String tableId, com.google.protobuf.ByteString rowKey)
Creates a new instance of the mutation builder.
-
condition
public ConditionalRowMutation condition(@Nonnull Filters.Filter condition)
The filter to be applied to the contents of the specified row. Depending on whether or not any results are yielded, either the mutations added viathen(Mutation)
orotherwise(Mutation)
will be executed. If unset, checks that the row contains any values at all.Unlike
then(Mutation)
andotherwise(Mutation)
, only a single condition can be set. However that filter can be aFilters.chain()
orFilters.interleave()
, which can wrap multiple other filters.WARNING:
Filters.condition(Filter)
is not supported.
-
then
public ConditionalRowMutation then(@Nonnull Mutation mutation)
Adds changes to be atomically applied to the specified row if the condition yields at least one cell when applied to the row.Each
mutation
can specify multiple changes and the changes are accumulated each time this method is called. Mutations are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry ifotherwise(Mutation)
is empty, and at most 100000.
-
otherwise
public ConditionalRowMutation otherwise(@Nonnull Mutation mutation)
Adds changes to be atomically applied to the specified row if the condition does not yields any cells when applied to the row.Each
mutation
can specify multiple changes and the changes are accumulated each time this method is called. Mutations are applied in order, meaning that earlier mutations can be masked by later ones. Must contain at least one entry ifthen(Mutation)
is empty, and at most 100000.
-
toProto
@InternalApi public CheckAndMutateRowRequest toProto(com.google.cloud.bigtable.data.v2.internal.RequestContext requestContext)
Creates the underlyingCheckAndMutateRowRequest
protobuf.This method is considered an internal implementation detail and not meant to be used by applications.
-
fromProto
@BetaApi public static ConditionalRowMutation fromProto(@Nonnull CheckAndMutateRowRequest request)
Wraps the protobufCheckAndMutateRowRequest
.WARNING: Please note that the table_name will be overwritten by the configuration in the BigtableDataClient.
-
-