@@ -286,6 +286,42 @@ public final MutateRowResponse mutateRow(
286286 return mutateRow (request );
287287 }
288288
289+ // AUTO-GENERATED DOCUMENTATION AND METHOD
290+ /**
291+ * Mutates a row atomically. Cells already present in the row are left unchanged unless explicitly
292+ * changed by `mutation`.
293+ *
294+ * <p>Sample code:
295+ *
296+ * <pre><code>
297+ * try (BaseBigtableDataClient baseBigtableDataClient = BaseBigtableDataClient.create()) {
298+ * TableName tableName = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
299+ * ByteString rowKey = ByteString.copyFromUtf8("");
300+ * List<Mutation> mutations = new ArrayList<>();
301+ * MutateRowResponse response = baseBigtableDataClient.mutateRow(tableName.toString(), rowKey, mutations);
302+ * }
303+ * </code></pre>
304+ *
305+ * @param tableName The unique name of the table to which the mutation should be applied. Values
306+ * are of the form `projects/<project>/instances/<instance>/tables/<table>`.
307+ * @param rowKey The key of the row to which the mutation should be applied.
308+ * @param mutations Changes to be atomically applied to the specified row. Entries are applied in
309+ * order, meaning that earlier mutations can be masked by later ones. Must contain at least
310+ * one entry and at most 100000.
311+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
312+ */
313+ public final MutateRowResponse mutateRow (
314+ String tableName , ByteString rowKey , List <Mutation > mutations ) {
315+
316+ MutateRowRequest request =
317+ MutateRowRequest .newBuilder ()
318+ .setTableName (tableName )
319+ .setRowKey (rowKey )
320+ .addAllMutations (mutations )
321+ .build ();
322+ return mutateRow (request );
323+ }
324+
289325 // AUTO-GENERATED DOCUMENTATION AND METHOD
290326 /**
291327 * Mutates a row atomically. Cells already present in the row are left unchanged unless explicitly
@@ -435,6 +471,58 @@ public final CheckAndMutateRowResponse checkAndMutateRow(
435471 return checkAndMutateRow (request );
436472 }
437473
474+ // AUTO-GENERATED DOCUMENTATION AND METHOD
475+ /**
476+ * Mutates a row atomically based on the output of a predicate Reader filter.
477+ *
478+ * <p>Sample code:
479+ *
480+ * <pre><code>
481+ * try (BaseBigtableDataClient baseBigtableDataClient = BaseBigtableDataClient.create()) {
482+ * TableName tableName = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
483+ * ByteString rowKey = ByteString.copyFromUtf8("");
484+ * RowFilter predicateFilter = RowFilter.newBuilder().build();
485+ * List<Mutation> trueMutations = new ArrayList<>();
486+ * List<Mutation> falseMutations = new ArrayList<>();
487+ * CheckAndMutateRowResponse response = baseBigtableDataClient.checkAndMutateRow(tableName.toString(), rowKey, predicateFilter, trueMutations, falseMutations);
488+ * }
489+ * </code></pre>
490+ *
491+ * @param tableName The unique name of the table to which the conditional mutation should be
492+ * applied. Values are of the form
493+ * `projects/<project>/instances/<instance>/tables/<table>`.
494+ * @param rowKey The key of the row to which the conditional mutation should be applied.
495+ * @param predicateFilter The filter to be applied to the contents of the specified row. Depending
496+ * on whether or not any results are yielded, either `true_mutations` or `false_mutations`
497+ * will be executed. If unset, checks that the row contains any values at all.
498+ * @param trueMutations Changes to be atomically applied to the specified row if
499+ * `predicate_filter` yields at least one cell when applied to `row_key`. Entries are applied
500+ * in order, meaning that earlier mutations can be masked by later ones. Must contain at least
501+ * one entry if `false_mutations` is empty, and at most 100000.
502+ * @param falseMutations Changes to be atomically applied to the specified row if
503+ * `predicate_filter` does not yield any cells when applied to `row_key`. Entries are applied
504+ * in order, meaning that earlier mutations can be masked by later ones. Must contain at least
505+ * one entry if `true_mutations` is empty, and at most 100000.
506+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
507+ */
508+ public final CheckAndMutateRowResponse checkAndMutateRow (
509+ String tableName ,
510+ ByteString rowKey ,
511+ RowFilter predicateFilter ,
512+ List <Mutation > trueMutations ,
513+ List <Mutation > falseMutations ) {
514+
515+ CheckAndMutateRowRequest request =
516+ CheckAndMutateRowRequest .newBuilder ()
517+ .setTableName (tableName )
518+ .setRowKey (rowKey )
519+ .setPredicateFilter (predicateFilter )
520+ .addAllTrueMutations (trueMutations )
521+ .addAllFalseMutations (falseMutations )
522+ .build ();
523+ return checkAndMutateRow (request );
524+ }
525+
438526 // AUTO-GENERATED DOCUMENTATION AND METHOD
439527 /**
440528 * Mutates a row atomically based on the output of a predicate Reader filter.
@@ -524,6 +612,45 @@ public final ReadModifyWriteRowResponse readModifyWriteRow(
524612 return readModifyWriteRow (request );
525613 }
526614
615+ // AUTO-GENERATED DOCUMENTATION AND METHOD
616+ /**
617+ * Modifies a row atomically on the server. The method reads the latest existing timestamp and
618+ * value from the specified columns and writes a new entry based on pre-defined read/modify/write
619+ * rules. The new value for the timestamp is the greater of the existing timestamp or the current
620+ * server time. The method returns the new contents of all modified cells.
621+ *
622+ * <p>Sample code:
623+ *
624+ * <pre><code>
625+ * try (BaseBigtableDataClient baseBigtableDataClient = BaseBigtableDataClient.create()) {
626+ * TableName tableName = TableName.of("[PROJECT]", "[INSTANCE]", "[TABLE]");
627+ * ByteString rowKey = ByteString.copyFromUtf8("");
628+ * List<ReadModifyWriteRule> rules = new ArrayList<>();
629+ * ReadModifyWriteRowResponse response = baseBigtableDataClient.readModifyWriteRow(tableName.toString(), rowKey, rules);
630+ * }
631+ * </code></pre>
632+ *
633+ * @param tableName The unique name of the table to which the read/modify/write rules should be
634+ * applied. Values are of the form
635+ * `projects/<project>/instances/<instance>/tables/<table>`.
636+ * @param rowKey The key of the row to which the read/modify/write rules should be applied.
637+ * @param rules Rules specifying how the specified row's contents are to be transformed into
638+ * writes. Entries are applied in order, meaning that earlier rules will affect the results of
639+ * later ones.
640+ * @throws com.google.api.gax.rpc.ApiException if the remote call fails
641+ */
642+ public final ReadModifyWriteRowResponse readModifyWriteRow (
643+ String tableName , ByteString rowKey , List <ReadModifyWriteRule > rules ) {
644+
645+ ReadModifyWriteRowRequest request =
646+ ReadModifyWriteRowRequest .newBuilder ()
647+ .setTableName (tableName )
648+ .setRowKey (rowKey )
649+ .addAllRules (rules )
650+ .build ();
651+ return readModifyWriteRow (request );
652+ }
653+
527654 // AUTO-GENERATED DOCUMENTATION AND METHOD
528655 /**
529656 * Modifies a row atomically on the server. The method reads the latest existing timestamp and
0 commit comments