// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/bigtable/v2/data.proto

package com.google.bigtable.v2;

public interface ReadModifyWriteRuleOrBuilder extends
    // @@protoc_insertion_point(interface_extends:google.bigtable.v2.ReadModifyWriteRule)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <pre>
   * The name of the family to which the read/modify/write should be applied.
   * Must match `[-_.a-zA-Z0-9]+`
   * </pre>
   *
   * <code>string family_name = 1;</code>
   */
  java.lang.String getFamilyName();
  /**
   * <pre>
   * The name of the family to which the read/modify/write should be applied.
   * Must match `[-_.a-zA-Z0-9]+`
   * </pre>
   *
   * <code>string family_name = 1;</code>
   */
  com.google.protobuf.ByteString
      getFamilyNameBytes();

  /**
   * <pre>
   * The qualifier of the column to which the read/modify/write should be
   * applied.
   * Can be any byte string, including the empty string.
   * </pre>
   *
   * <code>bytes column_qualifier = 2;</code>
   */
  com.google.protobuf.ByteString getColumnQualifier();

  /**
   * <pre>
   * Rule specifying that `append_value` be appended to the existing value.
   * If the targeted cell is unset, it will be treated as containing the
   * empty string.
   * </pre>
   *
   * <code>bytes append_value = 3;</code>
   */
  com.google.protobuf.ByteString getAppendValue();

  /**
   * <pre>
   * Rule specifying that `increment_amount` be added to the existing value.
   * If the targeted cell is unset, it will be treated as containing a zero.
   * Otherwise, the targeted cell must contain an 8-byte value (interpreted
   * as a 64-bit big-endian signed integer), or the entire request will fail.
   * </pre>
   *
   * <code>int64 increment_amount = 4;</code>
   */
  long getIncrementAmount();

  public com.google.bigtable.v2.ReadModifyWriteRule.RuleCase getRuleCase();
}
