java.lang.Object
com.google.cloud.bigtable.data.v2.models.Mutation
All Implemented Interfaces:
MutationApi<Mutation>, Serializable

public final class Mutation extends Object implements MutationApi<Mutation>, Serializable
The concrete implementation of MutationApi that can be used to create and represent a list of mutations. It used by RowMutation and ConditionalRowMutation to encapsulate a list of mutations that will to be applied to a single row.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    static Mutation
    Creates new instance of Mutation object.
    static Mutation
    Creates new instance of Mutation object which allows setCell operation to use server side timestamp.
    deleteCells(String familyName, com.google.protobuf.ByteString qualifier)
    Adds a mutation which deletes cells from the specified column.
    deleteCells(String familyName, com.google.protobuf.ByteString qualifier, Range.TimestampRange timestampRange)
    Adds a mutation which deletes cells from the specified column, restricted to a given timestamp range.
    deleteCells(String familyName, String qualifier)
    Adds a mutation which deletes cells from the specified column.
    deleteFamily(String familyName)
    Adds a mutation which deletes all cells from the specified column family.
    Adds a mutation which deletes all cells from the containing row.
    static Mutation
    fromProtoUnsafe(Iterable<com.google.bigtable.v2.Mutation> protos)
    Wraps the List of protobuf Mutation.
    static Mutation
    fromProtoUnsafe(List<com.google.bigtable.v2.Mutation> protos)
    Wraps the List of protobuf Mutation.
    setCell(String familyName, com.google.protobuf.ByteString qualifier, long value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, com.google.protobuf.ByteString qualifier, long timestamp, long value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, com.google.protobuf.ByteString qualifier, long timestamp, com.google.protobuf.ByteString value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, com.google.protobuf.ByteString qualifier, com.google.protobuf.ByteString value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, String qualifier, long value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, String qualifier, long timestamp, long value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, String qualifier, long timestamp, String value)
    Adds a mutation which sets the value of the specified cell.
    setCell(String familyName, String qualifier, String value)
    Adds a mutation which sets the value of the specified cell.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • create

      public static Mutation create()
      Creates new instance of Mutation object.
    • createUnsafe

      @BetaApi public static Mutation createUnsafe()
      Creates new instance of Mutation object which allows setCell operation to use server side timestamp. This is dangerous because mutations will no longer be idempotent, which might cause multiple duplicate values to be stored in Bigtable. This option should only be used for advanced usecases with extreme care.
    • fromProtoUnsafe

      @BetaApi public static Mutation fromProtoUnsafe(List<com.google.bigtable.v2.Mutation> protos)
      Wraps the List of protobuf Mutation. This methods, like createUnsafe(), allows setCell operation to use server side timestamp. This is dangerous because mutations will no longer be idempotent, which might cause multiple duplicate values to be stored in Bigtable. This option should only be used for advanced usecases with extreme care.
    • fromProtoUnsafe

      @BetaApi public static Mutation fromProtoUnsafe(Iterable<com.google.bigtable.v2.Mutation> protos)
      Wraps the List of protobuf Mutation. This methods, like createUnsafe(), allows setCell operation to use server side timestamp. This is dangerous because mutations will no longer be idempotent, which might cause multiple duplicate values to be stored in Bigtable. This option should only be used for advanced usecases with extreme care.
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull String qualifier, @Nonnull String value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      This a convenience method that converts Strings to ByteStrings and uses microseconds since epoch as the timestamp.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull String qualifier, long timestamp, @Nonnull String value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      This is a convenience override that converts Strings to ByteStrings.

      Note: The timestamp values are in microseconds but must match the granularity of the table(defaults to `MILLIS`). Therefore, the given value must be a multiple of 1000 (millisecond granularity). For example: `1571902339435000`.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier, @Nonnull com.google.protobuf.ByteString value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      Uses microseconds since epoch as the timestamp.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier, long timestamp, @Nonnull com.google.protobuf.ByteString value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      Note: The timestamp values are in microseconds but must match the granularity of the table(defaults to `MILLIS`). Therefore, the given value must be a multiple of 1000 (millisecond granularity). For example: `1571902339435000`.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull String qualifier, long value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      This a convenience method that converts Strings to ByteStrings and uses microseconds since epoch as the timestamp. Also it accepts long value.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull String qualifier, long timestamp, long value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      This is a convenience override that converts Strings to ByteStrings.

      Note: The timestamp values are in microseconds but must match the granularity of the table(defaults to `MILLIS`). Therefore, the given value must be a multiple of 1000 (millisecond granularity). For example: `1571902339435000`.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier, long value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      Uses microseconds since epoch as the timestamp.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • setCell

      public Mutation setCell(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier, long timestamp, long value)
      Description copied from interface: MutationApi
      Adds a mutation which sets the value of the specified cell.

      Note: The timestamp values are in microseconds but must match the granularity of the table(defaults to `MILLIS`). Therefore, the given value must be a multiple of 1000 (millisecond granularity). For example: `1571902339435000`.

      Specified by:
      setCell in interface MutationApi<Mutation>
    • deleteCells

      public Mutation deleteCells(@Nonnull String familyName, @Nonnull String qualifier)
      Description copied from interface: MutationApi
      Adds a mutation which deletes cells from the specified column.
      Specified by:
      deleteCells in interface MutationApi<Mutation>
    • deleteCells

      public Mutation deleteCells(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier)
      Description copied from interface: MutationApi
      Adds a mutation which deletes cells from the specified column.
      Specified by:
      deleteCells in interface MutationApi<Mutation>
    • deleteCells

      public Mutation deleteCells(@Nonnull String familyName, @Nonnull com.google.protobuf.ByteString qualifier, @Nonnull Range.TimestampRange timestampRange)
      Description copied from interface: MutationApi
      Adds a mutation which deletes cells from the specified column, restricted to a given timestamp range.
      Specified by:
      deleteCells in interface MutationApi<Mutation>
      Parameters:
      familyName - The family name.
      qualifier - The qualifier.
      timestampRange - The timestamp range in microseconds.
    • deleteFamily

      public Mutation deleteFamily(@Nonnull String familyName)
      Description copied from interface: MutationApi
      Adds a mutation which deletes all cells from the specified column family.
      Specified by:
      deleteFamily in interface MutationApi<Mutation>
    • deleteRow

      public Mutation deleteRow()
      Description copied from interface: MutationApi
      Adds a mutation which deletes all cells from the containing row.
      Specified by:
      deleteRow in interface MutationApi<Mutation>