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:
  • Method Details

    • 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 via then(Mutation) or otherwise(Mutation) will be executed. If unset, checks that the row contains any values at all.

      Unlike then(Mutation) and otherwise(Mutation), only a single condition can be set. However that filter can be a Filters.chain() or Filters.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 if otherwise(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 if then(Mutation) is empty, and at most 100000.

    • toProto

      @InternalApi public com.google.bigtable.v2.CheckAndMutateRowRequest toProto(com.google.cloud.bigtable.data.v2.internal.RequestContext requestContext)
      Creates the underlying CheckAndMutateRowRequest protobuf.

      This method is considered an internal implementation detail and not meant to be used by applications.

    • fromProto

      @BetaApi public static ConditionalRowMutation fromProto(@Nonnull com.google.bigtable.v2.CheckAndMutateRowRequest request)
      Wraps the protobuf CheckAndMutateRowRequest.

      WARNING: Please note that the table_name will be overwritten by the configuration in the BigtableDataClient.