Data is never directly written or read using type `Aggregate`. Writes will provide either + * the `input_type` or `state_type`, and reads will always return the `state_type` . + */ + @AutoValue + public abstract static class Aggregate extends Type { + public static Aggregate create(Type inputType, Aggregator aggregator) { + return new AutoValue_Type_Aggregate(inputType, aggregator); + } + + @Nonnull + public abstract Type getInputType(); + + @Nonnull + public abstract Aggregator getAggregator(); + + public abstract static class Aggregator { + @AutoValue + public abstract static class Sum extends Aggregator { + public static Sum create() { + return new AutoValue_Type_Aggregate_Aggregator_Sum(); + } + + @Override + void buildTo(com.google.bigtable.admin.v2.Type.Aggregate.Builder builder) { + builder.setSum(com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance()); + } + } + + abstract void buildTo(com.google.bigtable.admin.v2.Type.Aggregate.Builder builder); + } + + @Override + com.google.bigtable.admin.v2.Type toProto() { + com.google.bigtable.admin.v2.Type.Builder typeBuilder = + com.google.bigtable.admin.v2.Type.newBuilder(); + com.google.bigtable.admin.v2.Type.Aggregate.Builder aggregateBuilder = + typeBuilder.getAggregateTypeBuilder(); + getAggregator().buildTo(aggregateBuilder); + aggregateBuilder.setInputType(getInputType().toProto()); + return typeBuilder.build(); + } + + static Aggregate fromProto(com.google.bigtable.admin.v2.Type.Aggregate source) { + Type inputType = Type.fromProto(source.getInputType()); + Aggregator aggregator = null; + switch (source.getAggregatorCase()) { + case SUM: + aggregator = Aggregator.Sum.create(); + break; + case AGGREGATOR_NOT_SET: + throw new UnsupportedOperationException(); + } + return Aggregate.create(inputType, checkNotNull(aggregator)); + } + } +} diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/AddToCell.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/AddToCell.java new file mode 100644 index 0000000000..75ba6a192d --- /dev/null +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/AddToCell.java @@ -0,0 +1,46 @@ +/* + * Copyright 2024 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.google.cloud.bigtable.data.v2.models; + +import com.google.api.core.InternalApi; +import com.google.auto.value.AutoValue; +import java.io.Serializable; +import javax.annotation.Nonnull; + +/** Representation of an AddToCell mod in a data change. */ +@InternalApi("Intended for use by the BigtableIO in apache/beam only.") +@AutoValue +public abstract class AddToCell implements Entry, Serializable { + public static AddToCell create( + @Nonnull String family, + @Nonnull Value qualifier, + @Nonnull Value timestamp, + @Nonnull Value input) { + return new AutoValue_AddToCell(family, qualifier, timestamp, input); + } + + @Nonnull + public abstract String getFamily(); + + @Nonnull + public abstract Value getQualifier(); + + @Nonnull + public abstract Value getTimestamp(); + + @Nonnull + public abstract Value getInput(); +} diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java index 9d607f4362..3a2d938e31 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutation.java @@ -177,6 +177,11 @@ Builder deleteFamily(@Nonnull String familyName) { return this; } + Builder addToCell(@Nonnull String familyName, Value qualifier, Value timestamp, Value input) { + this.entriesBuilder().add(AddToCell.create(familyName, qualifier, timestamp, input)); + return this; + } + abstract ChangeStreamMutation build(); } @@ -198,6 +203,13 @@ public RowMutation toRowMutation(@Nonnull String tableId) { setCell.getQualifier(), setCell.getTimestamp(), setCell.getValue()); + } else if (entry instanceof AddToCell) { + AddToCell addToCell = (AddToCell) entry; + rowMutation.addToCell( + addToCell.getFamily(), + addToCell.getQualifier(), + addToCell.getTimestamp(), + addToCell.getInput()); } else { throw new IllegalArgumentException("Unexpected Entry type."); } @@ -223,6 +235,13 @@ public RowMutationEntry toRowMutationEntry() { setCell.getQualifier(), setCell.getTimestamp(), setCell.getValue()); + } else if (entry instanceof AddToCell) { + AddToCell addToCell = (AddToCell) entry; + rowMutationEntry.addToCell( + addToCell.getFamily(), + addToCell.getQualifier(), + addToCell.getTimestamp(), + addToCell.getInput()); } else { throw new IllegalArgumentException("Unexpected Entry type."); } diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java index 260d48ae0d..0fbe786753 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamRecordAdapter.java @@ -135,6 +135,12 @@ void deleteCells( @Nonnull ByteString qualifier, @Nonnull TimestampRange timestampRange); + void addToCell( + @Nonnull String familyName, + @Nonnull Value qualifier, + @Nonnull Value timestamp, + @Nonnull Value value); + /** * Called to start a SetCell. * diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java index 404b26b52a..a6335f4076 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/DefaultChangeStreamRecordAdapter.java @@ -133,6 +133,15 @@ public void deleteCells( this.changeStreamMutationBuilder.deleteCells(familyName, qualifier, timestampRange); } + @Override + public void addToCell( + @Nonnull String familyName, + @Nonnull Value qualifier, + @Nonnull Value timestamp, + @Nonnull Value input) { + this.changeStreamMutationBuilder.addToCell(familyName, qualifier, timestamp, input); + } + /** {@inheritDoc} */ @Override public void startCell(String family, ByteString qualifier, long timestampMicros) { diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Mutation.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Mutation.java index 6c1402685d..d2b23dd297 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Mutation.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Mutation.java @@ -17,6 +17,7 @@ import com.google.api.core.BetaApi; import com.google.api.core.InternalApi; +import com.google.bigtable.v2.Mutation.AddToCell; import com.google.bigtable.v2.Mutation.DeleteFromColumn; import com.google.bigtable.v2.Mutation.DeleteFromFamily; import com.google.bigtable.v2.Mutation.DeleteFromRow; @@ -289,6 +290,24 @@ public Mutation deleteRow() { return this; } + @Override + public Mutation addToCell( + @Nonnull String familyName, + @Nonnull Value qualifier, + @Nonnull Value timestamp, + @Nonnull Value value) { + com.google.bigtable.v2.Mutation.Builder builder = com.google.bigtable.v2.Mutation.newBuilder(); + AddToCell.Builder addToCellBuilder = builder.getAddToCellBuilder(); + addToCellBuilder.setFamilyName(familyName); + + qualifier.buildTo(addToCellBuilder.getColumnQualifierBuilder()); + timestamp.buildTo(addToCellBuilder.getTimestampBuilder()); + value.buildTo(addToCellBuilder.getInputBuilder()); + + addMutation(builder.build()); + return this; + } + private void addMutation(com.google.bigtable.v2.Mutation mutation) { Preconditions.checkState(numMutations + 1 <= MAX_MUTATIONS, "Too many mutations per row"); Preconditions.checkState( diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/MutationApi.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/MutationApi.java index 20c7ab2715..612d1bb020 100644 --- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/MutationApi.java +++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/MutationApi.java @@ -122,4 +122,50 @@ T deleteCells( /** Adds a mutation which deletes all cells from the containing row. */ T deleteRow(); + + /** + * Adds an int64 value to an aggregate cell. The column family must be an aggregate family and + * have an "int64" input type or this mutation will be rejected. + * + *
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`. + */ + default T addToCell( + @Nonnull String familyName, @Nonnull String qualifier, long timestamp, long value) { + return addToCell(familyName, ByteString.copyFromUtf8(qualifier), timestamp, value); + } + + /** + * Adds an int64 value to an aggregate cell. The column family must be an aggregate family and + * have an "int64" input type or this mutation will be rejected. + * + *
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`. + */ + default T addToCell( + @Nonnull String familyName, @Nonnull ByteString qualifier, long timestamp, long input) { + return addToCell( + familyName, + Value.RawValue.create(qualifier), + Value.RawTimestamp.create(timestamp), + Value.IntValue.create(input)); + } + + /** + * Adds a {@link Value} to an aggregate cell. The column family must be an aggregate family and + * have an input type matching the type of {@link Value} or this mutation will be rejected. + * + *
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`.
+ */
+ T addToCell(
+ @Nonnull String familyName,
+ @Nonnull Value qualifier,
+ @Nonnull Value timestamp,
+ @Nonnull Value input);
}
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutation.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutation.java
index 6c5456aac3..940b76702c 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutation.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutation.java
@@ -184,6 +184,16 @@ public RowMutation deleteRow() {
return this;
}
+ @Override
+ public RowMutation addToCell(
+ @Nonnull String familyName,
+ @Nonnull Value qualifier,
+ @Nonnull Value timestamp,
+ @Nonnull Value input) {
+ mutation.addToCell(familyName, qualifier, timestamp, input);
+ return this;
+ }
+
@InternalApi
public MutateRowRequest toProto(RequestContext requestContext) {
String tableName =
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutationEntry.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutationEntry.java
index 5e40bd999c..ede90eb6ac 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutationEntry.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/RowMutationEntry.java
@@ -180,6 +180,16 @@ public RowMutationEntry deleteRow() {
return this;
}
+ @Override
+ public RowMutationEntry addToCell(
+ @Nonnull String familyName,
+ @Nonnull Value qualifier,
+ @Nonnull Value timestamp,
+ @Nonnull Value input) {
+ mutation.addToCell(familyName, qualifier, timestamp, input);
+ return this;
+ }
+
@InternalApi
public MutateRowsRequest.Entry toProto() {
Preconditions.checkArgument(
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Value.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Value.java
new file mode 100644
index 0000000000..80b8eedd4c
--- /dev/null
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/models/Value.java
@@ -0,0 +1,133 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.cloud.bigtable.data.v2.models;
+
+import com.google.api.core.BetaApi;
+import com.google.auto.value.AutoValue;
+import com.google.protobuf.ByteString;
+import java.io.Serializable;
+import javax.annotation.Nonnull;
+
+/**
+ * Wrapper class for the {@link com.google.bigtable.v2.Value} protobuf message.
+ *
+ * @see com.google.bigtable.v2.Value
+ */
+@BetaApi
+public abstract class Value implements Serializable {
+ private Value() {}
+
+ public enum ValueType {
+ Int64,
+ RawTimestamp,
+ RawValue
+ }
+
+ /** Creates a "raw" value that simply passes through "value" as raw byres. */
+ public static Value rawValue(@Nonnull ByteString value) {
+ return RawValue.create(value);
+ }
+
+ /** Creates a "raw" timestamp value that simply passes through "timestamp" as a long. */
+ public static Value rawTimestamp(long timestamp) {
+ return RawTimestamp.create(timestamp);
+ }
+
+ /** Creates an int64 value. */
+ public static Value intValue(long value) {
+ return IntValue.create(value);
+ }
+
+ @AutoValue
+ public abstract static class IntValue extends Value {
+ public static IntValue create(long value) {
+ return new AutoValue_Value_IntValue(value);
+ }
+
+ public abstract long getValue();
+
+ @Override
+ public ValueType getValueType() {
+ return ValueType.Int64;
+ }
+
+ @Override
+ void buildTo(com.google.bigtable.v2.Value.Builder builder) {
+ builder.setIntValue(getValue());
+ }
+ }
+
+ @AutoValue
+ public abstract static class RawTimestamp extends Value {
+ public static RawTimestamp create(long value) {
+ return new AutoValue_Value_RawTimestamp(value);
+ }
+
+ public abstract long getValue();
+
+ @Override
+ public ValueType getValueType() {
+ return ValueType.RawTimestamp;
+ }
+
+ @Override
+ void buildTo(com.google.bigtable.v2.Value.Builder builder) {
+ builder.setRawTimestampMicros(getValue());
+ }
+ }
+
+ @AutoValue
+ public abstract static class RawValue extends Value {
+ public static RawValue create(@Nonnull ByteString value) {
+ return new AutoValue_Value_RawValue(value);
+ }
+
+ @Nonnull
+ public abstract ByteString getValue();
+
+ @Override
+ public ValueType getValueType() {
+ return ValueType.RawValue;
+ }
+
+ @Override
+ void buildTo(com.google.bigtable.v2.Value.Builder builder) {
+ builder.setRawValue(getValue());
+ }
+ }
+
+ com.google.bigtable.v2.Value toProto() {
+ com.google.bigtable.v2.Value.Builder builder = com.google.bigtable.v2.Value.newBuilder();
+ buildTo(builder);
+ return builder.build();
+ }
+
+ abstract void buildTo(com.google.bigtable.v2.Value.Builder builder);
+
+ public abstract ValueType getValueType();
+
+ public static Value fromProto(com.google.bigtable.v2.Value source) {
+ switch (source.getKindCase()) {
+ case INT_VALUE:
+ return IntValue.create(source.getIntValue());
+ case RAW_VALUE:
+ return RawValue.create(source.getRawValue());
+ case RAW_TIMESTAMP_MICROS:
+ return RawTimestamp.create(source.getRawTimestampMicros());
+ }
+ throw new UnsupportedOperationException();
+ }
+}
diff --git a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java
index 2aa9c537db..cc7319328d 100644
--- a/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java
+++ b/google-cloud-bigtable/src/main/java/com/google/cloud/bigtable/data/v2/stub/changestream/ChangeStreamStateMachine.java
@@ -20,6 +20,7 @@
import com.google.bigtable.v2.ReadChangeStreamResponse.DataChange.Type;
import com.google.cloud.bigtable.data.v2.models.ChangeStreamRecordAdapter.ChangeStreamRecordBuilder;
import com.google.cloud.bigtable.data.v2.models.Range.TimestampRange;
+import com.google.cloud.bigtable.data.v2.models.Value;
import com.google.common.base.Preconditions;
import org.threeten.bp.Instant;
@@ -477,6 +478,14 @@ State handleDataChange(ReadChangeStreamResponse.DataChange dataChange) {
mod.getDeleteFromColumn().getTimeRange().getEndTimestampMicros()));
continue;
}
+ // Case 4: AddToCell
+ if (mod.hasAddToCell()) {
+ builder.addToCell(
+ mod.getAddToCell().getFamilyName(),
+ Value.fromProto(mod.getAddToCell().getColumnQualifier()),
+ Value.fromProto(mod.getAddToCell().getTimestamp()),
+ Value.fromProto(mod.getAddToCell().getInput()));
+ }
throw new IllegalStateException("AWAITING_NEW_DATA_CHANGE: Unexpected mod type");
}
diff --git a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
index 74f45e0f33..931ac73adc 100644
--- a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
+++ b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.admin.v2/reflect-config.json
@@ -2105,6 +2105,168 @@
"allDeclaredClasses": true,
"allPublicClasses": true
},
+ {
+ "name": "com.google.bigtable.admin.v2.Type",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Aggregate",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Aggregate$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Aggregate$Sum",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Aggregate$Sum$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes$Encoding",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes$Encoding$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes$Encoding$Raw",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Bytes$Encoding$Raw$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64$Encoding",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64$Encoding$BigEndianBytes",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64$Encoding$BigEndianBytes$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.admin.v2.Type$Int64$Encoding$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
{
"name": "com.google.bigtable.admin.v2.UndeleteTableMetadata",
"queryAllDeclaredConstructors": true,
diff --git a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.data.v2/reflect-config.json b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.data.v2/reflect-config.json
index bf1f79e8ba..2e7b1522bf 100644
--- a/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.data.v2/reflect-config.json
+++ b/google-cloud-bigtable/src/main/resources/META-INF/native-image/com.google.cloud.bigtable.data.v2/reflect-config.json
@@ -710,6 +710,24 @@
"allDeclaredClasses": true,
"allPublicClasses": true
},
+ {
+ "name": "com.google.bigtable.v2.Mutation$AddToCell",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.v2.Mutation$AddToCell$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
{
"name": "com.google.bigtable.v2.Mutation$Builder",
"queryAllDeclaredConstructors": true,
@@ -1403,6 +1421,24 @@
"allDeclaredClasses": true,
"allPublicClasses": true
},
+ {
+ "name": "com.google.bigtable.v2.Value",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
+ {
+ "name": "com.google.bigtable.v2.Value$Builder",
+ "queryAllDeclaredConstructors": true,
+ "queryAllPublicConstructors": true,
+ "queryAllDeclaredMethods": true,
+ "allPublicMethods": true,
+ "allDeclaredClasses": true,
+ "allPublicClasses": true
+ },
{
"name": "com.google.bigtable.v2.ValueRange",
"queryAllDeclaredConstructors": true,
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTests.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTests.java
index cb9dae8e1d..86afadd237 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTests.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/BigtableTableAdminClientTests.java
@@ -65,6 +65,7 @@
import com.google.cloud.bigtable.admin.v2.models.RestoreTableRequest;
import com.google.cloud.bigtable.admin.v2.models.RestoredTableResult;
import com.google.cloud.bigtable.admin.v2.models.Table;
+import com.google.cloud.bigtable.admin.v2.models.Type;
import com.google.cloud.bigtable.admin.v2.models.UpdateBackupRequest;
import com.google.cloud.bigtable.admin.v2.stub.EnhancedBigtableTableAdminStub;
import com.google.common.collect.ImmutableList;
@@ -208,6 +209,14 @@ public void testCreateTable() {
com.google.bigtable.admin.v2.CreateTableRequest.newBuilder()
.setParent(INSTANCE_NAME)
.setTableId(TABLE_ID)
+ .setTable(
+ com.google.bigtable.admin.v2.Table.newBuilder()
+ .putColumnFamilies(
+ "cf1",
+ ColumnFamily.newBuilder()
+ .setGcRule(GcRule.getDefaultInstance())
+ .setValueType(TypeProtos.intSumType())
+ .build()))
.build();
com.google.bigtable.admin.v2.Table expectedResponse =
@@ -217,7 +226,8 @@ public void testCreateTable() {
.thenReturn(ApiFutures.immediateFuture(expectedResponse));
// Execute
- Table result = adminClient.createTable(CreateTableRequest.of(TABLE_ID));
+ Table result =
+ adminClient.createTable(CreateTableRequest.of(TABLE_ID).addFamily("cf1", Type.int64Sum()));
// Verify
assertThat(result).isEqualTo(Table.fromProto(expectedResponse));
@@ -269,6 +279,13 @@ public void testModifyFamilies() {
Modification.newBuilder()
.setId("cf")
.setCreate(ColumnFamily.newBuilder().setGcRule(GcRule.getDefaultInstance())))
+ .addModifications(
+ Modification.newBuilder()
+ .setId("cf2")
+ .setCreate(
+ ColumnFamily.newBuilder()
+ .setGcRule(GcRule.getDefaultInstance())
+ .setValueType(TypeProtos.intSumType())))
.build();
com.google.bigtable.admin.v2.Table fakeResponse =
@@ -276,6 +293,12 @@ public void testModifyFamilies() {
.setName(TABLE_NAME)
.putColumnFamilies(
"cf", ColumnFamily.newBuilder().setGcRule(GcRule.getDefaultInstance()).build())
+ .putColumnFamilies(
+ "cf2",
+ ColumnFamily.newBuilder()
+ .setGcRule(GcRule.getDefaultInstance())
+ .setValueType(TypeProtos.intSumType())
+ .build())
.build();
Mockito.when(mockModifyTableCallable.futureCall(expectedRequest))
@@ -283,7 +306,10 @@ public void testModifyFamilies() {
// Execute
Table actualResult =
- adminClient.modifyFamilies(ModifyColumnFamiliesRequest.of(TABLE_ID).addFamily("cf"));
+ adminClient.modifyFamilies(
+ ModifyColumnFamiliesRequest.of(TABLE_ID)
+ .addFamily("cf")
+ .addFamily("cf2", Type.int64Sum()));
// Verify
assertThat(actualResult).isEqualTo(Table.fromProto(fakeResponse));
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/TypeProtos.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/TypeProtos.java
new file mode 100644
index 0000000000..0e73f923f6
--- /dev/null
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/TypeProtos.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.cloud.bigtable.admin.v2;
+
+public class TypeProtos {
+ public static com.google.bigtable.admin.v2.Type.Bytes bytesType() {
+ return com.google.bigtable.admin.v2.Type.Bytes.newBuilder()
+ .setEncoding(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.newBuilder()
+ .setRaw(com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance())
+ .build())
+ .build();
+ }
+
+ public static com.google.bigtable.admin.v2.Type int64Type() {
+ return com.google.bigtable.admin.v2.Type.newBuilder()
+ .setInt64Type(
+ com.google.bigtable.admin.v2.Type.Int64.newBuilder()
+ .setEncoding(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.newBuilder()
+ .setBigEndianBytes(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .newBuilder()
+ .setBytesType(bytesType())
+ .build())
+ .build()))
+ .build();
+ }
+
+ public static com.google.bigtable.admin.v2.Type intSumType() {
+ return com.google.bigtable.admin.v2.Type.newBuilder()
+ .setAggregateType(
+ com.google.bigtable.admin.v2.Type.Aggregate.newBuilder()
+ .setInputType(TypeProtos.int64Type())
+ .setSum(com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance()))
+ .build();
+ }
+}
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateTableRequestTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateTableRequestTest.java
index 5379b700e3..0f7a58c078 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateTableRequestTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/CreateTableRequestTest.java
@@ -81,6 +81,53 @@ public void testToProto() {
assertThat(request.toProto(PROJECT_ID, INSTANCE_ID)).isEqualTo(requestProto);
}
+ @Test
+ public void testToProtoWithTypes() {
+ CreateTableRequest request =
+ CreateTableRequest.of(TABLE_ID)
+ .addFamily("family-id")
+ .addFamily("another-family", GCRULES.maxAge(100, TimeUnit.HOURS))
+ .addFamily("int-sum-family", Type.int64Sum())
+ .addFamily("int-sum-family-2", GCRULES.maxAge(100, TimeUnit.HOURS), Type.int64Sum());
+
+ com.google.bigtable.admin.v2.CreateTableRequest requestProto =
+ com.google.bigtable.admin.v2.CreateTableRequest.newBuilder()
+ .setTableId(TABLE_ID)
+ .setTable(
+ Table.newBuilder()
+ .putColumnFamilies("family-id", ColumnFamily.getDefaultInstance())
+ .putColumnFamilies(
+ "another-family",
+ ColumnFamily.newBuilder()
+ .setGcRule(
+ GcRule.newBuilder()
+ .setMaxAge(
+ com.google.protobuf.Duration.newBuilder()
+ .setSeconds(100 * 60 * 60))
+ .build())
+ .build())
+ .putColumnFamilies(
+ "int-sum-family",
+ ColumnFamily.newBuilder()
+ .setGcRule(GcRule.getDefaultInstance())
+ .setValueType(Type.int64Sum().toProto())
+ .build())
+ .putColumnFamilies(
+ "int-sum-family-2",
+ ColumnFamily.newBuilder()
+ .setGcRule(
+ GcRule.newBuilder()
+ .setMaxAge(
+ com.google.protobuf.Duration.newBuilder()
+ .setSeconds(100 * 60 * 60))
+ .build())
+ .setValueType(Type.int64Sum().toProto())
+ .build()))
+ .setParent(NameUtil.formatInstanceName(PROJECT_ID, INSTANCE_ID))
+ .build();
+ assertThat(request.toProto(PROJECT_ID, INSTANCE_ID)).isEqualTo(requestProto);
+ }
+
@Test
public void testEquality() {
CreateTableRequest request =
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TableAdminRequestsTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TableAdminRequestsTest.java
index 21366854cd..05c2abcd85 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TableAdminRequestsTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TableAdminRequestsTest.java
@@ -78,6 +78,8 @@ public void modifyFamilies() {
.addFamily("cf1")
.addFamily("cf2", GCRules.GCRULES.maxVersions(1))
.addFamily("cf3")
+ .addFamily("cf4", Type.int64Sum())
+ .addFamily("cf5", GCRules.GCRULES.maxVersions(1), Type.int64Sum())
.updateFamily("cf1", GCRules.GCRULES.maxVersions(5))
.dropFamily("cf3")
.toProto(PROJECT_ID, INSTANCE_ID);
@@ -103,6 +105,20 @@ public void modifyFamilies() {
.setCreate(
com.google.bigtable.admin.v2.ColumnFamily.newBuilder()
.setGcRule(GcRule.getDefaultInstance())))
+ .addModifications(
+ com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.newBuilder()
+ .setId("cf4")
+ .setCreate(
+ com.google.bigtable.admin.v2.ColumnFamily.newBuilder()
+ .setGcRule(GcRule.getDefaultInstance())
+ .setValueType(Type.int64Sum().toProto())))
+ .addModifications(
+ com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.newBuilder()
+ .setId("cf5")
+ .setCreate(
+ com.google.bigtable.admin.v2.ColumnFamily.newBuilder()
+ .setGcRule(GCRules.GCRULES.maxVersions(1).toProto())
+ .setValueType(Type.int64Sum().toProto())))
.addModifications(
com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.newBuilder()
.setId("cf1")
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TypeTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TypeTest.java
new file mode 100644
index 0000000000..e724dfe790
--- /dev/null
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/admin/v2/models/TypeTest.java
@@ -0,0 +1,80 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.google.cloud.bigtable.admin.v2.models;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.cloud.bigtable.admin.v2.TypeProtos;
+import com.google.cloud.bigtable.admin.v2.models.Type.Bytes;
+import com.google.cloud.bigtable.admin.v2.models.Type.Int64;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+@RunWith(JUnit4.class)
+public class TypeTest {
+
+ @Test
+ public void rawBytes() {
+ Type type = Type.rawBytes();
+ assertThat(type.toProto())
+ .isEqualTo(
+ com.google.bigtable.admin.v2.Type.newBuilder()
+ .setBytesType(TypeProtos.bytesType())
+ .build());
+ }
+
+ @Test
+ public void bytes() {
+ Type type = Type.bytes(Bytes.Encoding.raw());
+ assertThat(type.toProto())
+ .isEqualTo(
+ com.google.bigtable.admin.v2.Type.newBuilder()
+ .setBytesType(TypeProtos.bytesType())
+ .build());
+ }
+
+ @Test
+ public void bigEndianInt64() {
+ Type type = Type.bigEndianInt64();
+ assertThat(type.toProto()).isEqualTo(TypeProtos.int64Type());
+ }
+
+ @Test
+ public void int64WithEncoding() {
+ Type type = Type.int64(Int64.Encoding.BigEndianBytes.create(Bytes.rawBytes()));
+ assertThat(type.toProto()).isEqualTo(TypeProtos.int64Type());
+ }
+
+ @Test
+ public void int64Sum() {
+ Type type = Type.int64Sum();
+ assertThat(type.toProto()).isEqualTo(TypeProtos.intSumType());
+ }
+
+ @Test
+ public void sum() {
+ Type type = Type.sum(Type.bigEndianInt64());
+ assertThat(type.toProto()).isEqualTo(TypeProtos.intSumType());
+ }
+
+ @Test
+ public void intSumFromProtoToProto() {
+ com.google.bigtable.admin.v2.Type proto = TypeProtos.intSumType();
+ assertThat(Type.fromProto(proto)).isEqualTo(Type.int64Sum());
+ assertThat(Type.fromProto(proto).toProto()).isEqualTo(proto);
+ }
+}
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java
index 420a94e38e..948c083224 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/ChangeStreamMutationTest.java
@@ -19,6 +19,7 @@
import com.google.bigtable.v2.MutateRowRequest;
import com.google.bigtable.v2.MutateRowsRequest;
+import com.google.bigtable.v2.Mutation;
import com.google.cloud.bigtable.data.v2.internal.NameUtil;
import com.google.cloud.bigtable.data.v2.internal.RequestContext;
import com.google.common.primitives.Longs;
@@ -61,6 +62,11 @@ public void userInitiatedMutationTest() throws IOException, ClassNotFoundExcepti
"fake-family",
ByteString.copyFromUtf8("fake-qualifier"),
Range.TimestampRange.create(1000L, 2000L))
+ .addToCell(
+ "agg-family",
+ Value.rawValue(ByteString.copyFromUtf8("col1")),
+ Value.rawTimestamp(1000),
+ Value.intValue(1234))
.setToken("fake-token")
.setEstimatedLowWatermark(FAKE_LOW_WATERMARK)
.build();
@@ -139,6 +145,11 @@ public void toRowMutationTest() {
"fake-family",
ByteString.copyFromUtf8("fake-qualifier"),
Range.TimestampRange.create(1000L, 2000L))
+ .addToCell(
+ "agg-family",
+ Value.rawValue(ByteString.copyFromUtf8("qual1")),
+ Value.rawTimestamp(1000),
+ Value.intValue(1234))
.setToken("fake-token")
.setEstimatedLowWatermark(FAKE_LOW_WATERMARK)
.build();
@@ -150,7 +161,7 @@ public void toRowMutationTest() {
NameUtil.formatTableName(
REQUEST_CONTEXT.getProjectId(), REQUEST_CONTEXT.getInstanceId(), TABLE_ID);
assertThat(mutateRowRequest.getTableName()).isEqualTo(tableName);
- assertThat(mutateRowRequest.getMutationsList()).hasSize(3);
+ assertThat(mutateRowRequest.getMutationsList()).hasSize(4);
assertThat(mutateRowRequest.getMutations(0).getSetCell().getValue())
.isEqualTo(ByteString.copyFromUtf8("fake-value"));
assertThat(mutateRowRequest.getMutations(1).getDeleteFromFamily().getFamilyName())
@@ -159,6 +170,14 @@ public void toRowMutationTest() {
.isEqualTo("fake-family");
assertThat(mutateRowRequest.getMutations(2).getDeleteFromColumn().getColumnQualifier())
.isEqualTo(ByteString.copyFromUtf8("fake-qualifier"));
+ assertThat(mutateRowRequest.getMutations(3).getAddToCell())
+ .isEqualTo(
+ Mutation.AddToCell.newBuilder()
+ .setFamilyName("agg-family")
+ .setColumnQualifier(Value.rawValue(ByteString.copyFromUtf8("qual1")).toProto())
+ .setTimestamp(Value.rawTimestamp(1000).toProto())
+ .setInput(Value.intValue(1234).toProto())
+ .build());
}
@Test
@@ -196,6 +215,11 @@ public void toRowMutationEntryTest() {
"fake-family",
ByteString.copyFromUtf8("fake-qualifier"),
Range.TimestampRange.create(1000L, 2000L))
+ .addToCell(
+ "agg-family",
+ Value.rawValue(ByteString.copyFromUtf8("qual1")),
+ Value.rawTimestamp(1000),
+ Value.intValue(1234))
.setToken("fake-token")
.setEstimatedLowWatermark(FAKE_LOW_WATERMARK)
.build();
@@ -204,7 +228,7 @@ public void toRowMutationEntryTest() {
RowMutationEntry rowMutationEntry = changeStreamMutation.toRowMutationEntry();
MutateRowsRequest.Entry mutateRowsRequestEntry = rowMutationEntry.toProto();
assertThat(mutateRowsRequestEntry.getRowKey()).isEqualTo(ByteString.copyFromUtf8("key"));
- assertThat(mutateRowsRequestEntry.getMutationsList()).hasSize(3);
+ assertThat(mutateRowsRequestEntry.getMutationsList()).hasSize(4);
assertThat(mutateRowsRequestEntry.getMutations(0).getSetCell().getValue())
.isEqualTo(ByteString.copyFromUtf8("fake-value"));
assertThat(mutateRowsRequestEntry.getMutations(1).getDeleteFromFamily().getFamilyName())
@@ -213,6 +237,14 @@ public void toRowMutationEntryTest() {
.isEqualTo("fake-family");
assertThat(mutateRowsRequestEntry.getMutations(2).getDeleteFromColumn().getColumnQualifier())
.isEqualTo(ByteString.copyFromUtf8("fake-qualifier"));
+ assertThat(mutateRowsRequestEntry.getMutations(3).getAddToCell())
+ .isEqualTo(
+ Mutation.AddToCell.newBuilder()
+ .setFamilyName("agg-family")
+ .setColumnQualifier(Value.rawValue(ByteString.copyFromUtf8("qual1")).toProto())
+ .setTimestamp(Value.rawTimestamp(1000).toProto())
+ .setInput(Value.intValue(1234).toProto())
+ .build());
}
@Test
diff --git a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/MutationTest.java b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/MutationTest.java
index 8d89670a1c..fca65f90f5 100644
--- a/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/MutationTest.java
+++ b/google-cloud-bigtable/src/test/java/com/google/cloud/bigtable/data/v2/models/MutationTest.java
@@ -17,6 +17,7 @@
import static com.google.common.truth.Truth.assertThat;
+import com.google.bigtable.v2.Mutation.AddToCell;
import com.google.bigtable.v2.Mutation.DeleteFromColumn;
import com.google.bigtable.v2.Mutation.DeleteFromFamily;
import com.google.bigtable.v2.Mutation.DeleteFromRow;
@@ -179,6 +180,21 @@ public void deleteRowTest() {
.build());
}
+ @Test
+ public void addToCellTest() {
+ mutation.addToCell("cf1", "q", 10000, 1234);
+ List.google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return Whether the valueType field is set.
+ */
+ @java.lang.Override
+ public boolean hasValueType() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return The valueType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type getValueType() {
+ return valueType_ == null ? com.google.bigtable.admin.v2.Type.getDefaultInstance() : valueType_;
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.TypeOrBuilder getValueTypeOrBuilder() {
+ return valueType_ == null ? com.google.bigtable.admin.v2.Type.getDefaultInstance() : valueType_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -140,6 +213,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (((bitField0_ & 0x00000001) != 0)) {
output.writeMessage(1, getGcRule());
}
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(3, getValueType());
+ }
getUnknownFields().writeTo(output);
}
@@ -152,6 +228,9 @@ public int getSerializedSize() {
if (((bitField0_ & 0x00000001) != 0)) {
size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getGcRule());
}
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getValueType());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -172,6 +251,10 @@ public boolean equals(final java.lang.Object obj) {
if (hasGcRule()) {
if (!getGcRule().equals(other.getGcRule())) return false;
}
+ if (hasValueType() != other.hasValueType()) return false;
+ if (hasValueType()) {
+ if (!getValueType().equals(other.getValueType())) return false;
+ }
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@@ -187,6 +270,10 @@ public int hashCode() {
hash = (37 * hash) + GC_RULE_FIELD_NUMBER;
hash = (53 * hash) + getGcRule().hashCode();
}
+ if (hasValueType()) {
+ hash = (37 * hash) + VALUE_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getValueType().hashCode();
+ }
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
@@ -328,6 +415,7 @@ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
private void maybeForceBuilderInitialization() {
if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
getGcRuleFieldBuilder();
+ getValueTypeFieldBuilder();
}
}
@@ -340,6 +428,11 @@ public Builder clear() {
gcRuleBuilder_.dispose();
gcRuleBuilder_ = null;
}
+ valueType_ = null;
+ if (valueTypeBuilder_ != null) {
+ valueTypeBuilder_.dispose();
+ valueTypeBuilder_ = null;
+ }
return this;
}
@@ -381,6 +474,10 @@ private void buildPartial0(com.google.bigtable.admin.v2.ColumnFamily result) {
result.gcRule_ = gcRuleBuilder_ == null ? gcRule_ : gcRuleBuilder_.build();
to_bitField0_ |= 0x00000001;
}
+ if (((from_bitField0_ & 0x00000002) != 0)) {
+ result.valueType_ = valueTypeBuilder_ == null ? valueType_ : valueTypeBuilder_.build();
+ to_bitField0_ |= 0x00000002;
+ }
result.bitField0_ |= to_bitField0_;
}
@@ -432,6 +529,9 @@ public Builder mergeFrom(com.google.bigtable.admin.v2.ColumnFamily other) {
if (other.hasGcRule()) {
mergeGcRule(other.getGcRule());
}
+ if (other.hasValueType()) {
+ mergeValueType(other.getValueType());
+ }
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
@@ -464,6 +564,12 @@ public Builder mergeFrom(
bitField0_ |= 0x00000001;
break;
} // case 10
+ case 26:
+ {
+ input.readMessage(getValueTypeFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000002;
+ break;
+ } // case 26
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -709,6 +815,272 @@ public com.google.bigtable.admin.v2.GcRuleOrBuilder getGcRuleOrBuilder() {
return gcRuleBuilder_;
}
+ private com.google.bigtable.admin.v2.Type valueType_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>
+ valueTypeBuilder_;
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return Whether the valueType field is set.
+ */
+ public boolean hasValueType() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return The valueType.
+ */
+ public com.google.bigtable.admin.v2.Type getValueType() {
+ if (valueTypeBuilder_ == null) {
+ return valueType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : valueType_;
+ } else {
+ return valueTypeBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public Builder setValueType(com.google.bigtable.admin.v2.Type value) {
+ if (valueTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ valueType_ = value;
+ } else {
+ valueTypeBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public Builder setValueType(com.google.bigtable.admin.v2.Type.Builder builderForValue) {
+ if (valueTypeBuilder_ == null) {
+ valueType_ = builderForValue.build();
+ } else {
+ valueTypeBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public Builder mergeValueType(com.google.bigtable.admin.v2.Type value) {
+ if (valueTypeBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)
+ && valueType_ != null
+ && valueType_ != com.google.bigtable.admin.v2.Type.getDefaultInstance()) {
+ getValueTypeBuilder().mergeFrom(value);
+ } else {
+ valueType_ = value;
+ }
+ } else {
+ valueTypeBuilder_.mergeFrom(value);
+ }
+ if (valueType_ != null) {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public Builder clearValueType() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ valueType_ = null;
+ if (valueTypeBuilder_ != null) {
+ valueTypeBuilder_.dispose();
+ valueTypeBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public com.google.bigtable.admin.v2.Type.Builder getValueTypeBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getValueTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ public com.google.bigtable.admin.v2.TypeOrBuilder getValueTypeOrBuilder() {
+ if (valueTypeBuilder_ != null) {
+ return valueTypeBuilder_.getMessageOrBuilder();
+ } else {
+ return valueType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : valueType_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>
+ getValueTypeFieldBuilder() {
+ if (valueTypeBuilder_ == null) {
+ valueTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>(
+ getValueType(), getParentForChildren(), isClean());
+ valueType_ = null;
+ }
+ return valueTypeBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ColumnFamilyOrBuilder.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ColumnFamilyOrBuilder.java
index 007540bb22..83ce7e24db 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ColumnFamilyOrBuilder.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ColumnFamilyOrBuilder.java
@@ -73,4 +73,66 @@ public interface ColumnFamilyOrBuilder
* .google.bigtable.admin.v2.GcRule gc_rule = 1;
*/
com.google.bigtable.admin.v2.GcRuleOrBuilder getGcRuleOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return Whether the valueType field is set.
+ */
+ boolean hasValueType();
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ *
+ * @return The valueType.
+ */
+ com.google.bigtable.admin.v2.Type getValueType();
+ /**
+ *
+ *
+ *
+ * The type of data stored in each of this family's cell values, including its
+ * full encoding. If omitted, the family only serves raw untyped bytes.
+ *
+ * For now, only the `Aggregate` type is supported.
+ *
+ * `Aggregate` can only be set at family creation and is immutable afterwards.
+ *
+ *
+ * If `value_type` is `Aggregate`, written data must be compatible with:
+ * * `value_type.input_type` for `AddInput` mutations
+ *
+ *
+ * .google.bigtable.admin.v2.Type value_type = 3;
+ */
+ com.google.bigtable.admin.v2.TypeOrBuilder getValueTypeOrBuilder();
}
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ModifyColumnFamiliesRequest.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ModifyColumnFamiliesRequest.java
index 8681eb8b2c..1d1c2b97b5 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ModifyColumnFamiliesRequest.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/ModifyColumnFamiliesRequest.java
@@ -198,6 +198,50 @@ public interface ModificationOrBuilder
*/
boolean getDrop();
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ boolean hasUpdateMask();
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ com.google.protobuf.FieldMask getUpdateMask();
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder();
+
com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.ModCase getModCase();
}
/**
@@ -244,6 +288,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.Builder.class);
}
+ private int bitField0_;
private int modCase_ = 0;
@SuppressWarnings("serial")
@@ -492,6 +537,61 @@ public boolean getDrop() {
return false;
}
+ public static final int UPDATE_MASK_FIELD_NUMBER = 6;
+ private com.google.protobuf.FieldMask updateMask_;
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ @java.lang.Override
+ public boolean hasUpdateMask() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ @java.lang.Override
+ public com.google.protobuf.FieldMask getUpdateMask() {
+ return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ @java.lang.Override
+ public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
+ return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -518,6 +618,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (modCase_ == 4) {
output.writeBool(4, (boolean) ((java.lang.Boolean) mod_));
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(6, getUpdateMask());
+ }
getUnknownFields().writeTo(output);
}
@@ -545,6 +648,9 @@ public int getSerializedSize() {
com.google.protobuf.CodedOutputStream.computeBoolSize(
4, (boolean) ((java.lang.Boolean) mod_));
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getUpdateMask());
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -562,6 +668,10 @@ public boolean equals(final java.lang.Object obj) {
(com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification) obj;
if (!getId().equals(other.getId())) return false;
+ if (hasUpdateMask() != other.hasUpdateMask()) return false;
+ if (hasUpdateMask()) {
+ if (!getUpdateMask().equals(other.getUpdateMask())) return false;
+ }
if (!getModCase().equals(other.getModCase())) return false;
switch (modCase_) {
case 2:
@@ -589,6 +699,10 @@ public int hashCode() {
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + ID_FIELD_NUMBER;
hash = (53 * hash) + getId().hashCode();
+ if (hasUpdateMask()) {
+ hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER;
+ hash = (53 * hash) + getUpdateMask().hashCode();
+ }
switch (modCase_) {
case 2:
hash = (37 * hash) + CREATE_FIELD_NUMBER;
@@ -740,10 +854,19 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
// Construct using
// com.google.bigtable.admin.v2.ModifyColumnFamiliesRequest.Modification.newBuilder()
- private Builder() {}
+ private Builder() {
+ maybeForceBuilderInitialization();
+ }
private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
+ maybeForceBuilderInitialization();
+ }
+
+ private void maybeForceBuilderInitialization() {
+ if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+ getUpdateMaskFieldBuilder();
+ }
}
@java.lang.Override
@@ -757,6 +880,11 @@ public Builder clear() {
if (updateBuilder_ != null) {
updateBuilder_.clear();
}
+ updateMask_ = null;
+ if (updateMaskBuilder_ != null) {
+ updateMaskBuilder_.dispose();
+ updateMaskBuilder_ = null;
+ }
modCase_ = 0;
mod_ = null;
return this;
@@ -803,6 +931,13 @@ private void buildPartial0(
if (((from_bitField0_ & 0x00000001) != 0)) {
result.id_ = id_;
}
+ int to_bitField0_ = 0;
+ if (((from_bitField0_ & 0x00000010) != 0)) {
+ result.updateMask_ =
+ updateMaskBuilder_ == null ? updateMask_ : updateMaskBuilder_.build();
+ to_bitField0_ |= 0x00000001;
+ }
+ result.bitField0_ |= to_bitField0_;
}
private void buildPartialOneofs(
@@ -874,6 +1009,9 @@ public Builder mergeFrom(
bitField0_ |= 0x00000001;
onChanged();
}
+ if (other.hasUpdateMask()) {
+ mergeUpdateMask(other.getUpdateMask());
+ }
switch (other.getModCase()) {
case CREATE:
{
@@ -945,6 +1083,12 @@ public Builder mergeFrom(
modCase_ = 4;
break;
} // case 32
+ case 50:
+ {
+ input.readMessage(getUpdateMaskFieldBuilder().getBuilder(), extensionRegistry);
+ bitField0_ |= 0x00000010;
+ break;
+ } // case 50
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -1592,6 +1736,218 @@ public Builder clearDrop() {
return this;
}
+ private com.google.protobuf.FieldMask updateMask_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>
+ updateMaskBuilder_;
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return Whether the updateMask field is set.
+ */
+ public boolean hasUpdateMask() {
+ return ((bitField0_ & 0x00000010) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ *
+ * @return The updateMask.
+ */
+ public com.google.protobuf.FieldMask getUpdateMask() {
+ if (updateMaskBuilder_ == null) {
+ return updateMask_ == null
+ ? com.google.protobuf.FieldMask.getDefaultInstance()
+ : updateMask_;
+ } else {
+ return updateMaskBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setUpdateMask(com.google.protobuf.FieldMask value) {
+ if (updateMaskBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ updateMask_ = value;
+ } else {
+ updateMaskBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) {
+ if (updateMaskBuilder_ == null) {
+ updateMask_ = builderForValue.build();
+ } else {
+ updateMaskBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) {
+ if (updateMaskBuilder_ == null) {
+ if (((bitField0_ & 0x00000010) != 0)
+ && updateMask_ != null
+ && updateMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) {
+ getUpdateMaskBuilder().mergeFrom(value);
+ } else {
+ updateMask_ = value;
+ }
+ } else {
+ updateMaskBuilder_.mergeFrom(value);
+ }
+ if (updateMask_ != null) {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public Builder clearUpdateMask() {
+ bitField0_ = (bitField0_ & ~0x00000010);
+ updateMask_ = null;
+ if (updateMaskBuilder_ != null) {
+ updateMaskBuilder_.dispose();
+ updateMaskBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() {
+ bitField0_ |= 0x00000010;
+ onChanged();
+ return getUpdateMaskFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() {
+ if (updateMaskBuilder_ != null) {
+ return updateMaskBuilder_.getMessageOrBuilder();
+ } else {
+ return updateMask_ == null
+ ? com.google.protobuf.FieldMask.getDefaultInstance()
+ : updateMask_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ * mod should be updated, ignored for other modification types. If unset or
+ * empty, we treat it as updating `gc_rule` to be backward compatible.
+ *
+ *
+ * .google.protobuf.FieldMask update_mask = 6 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>
+ getUpdateMaskFieldBuilder() {
+ if (updateMaskBuilder_ == null) {
+ updateMaskBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.protobuf.FieldMask,
+ com.google.protobuf.FieldMask.Builder,
+ com.google.protobuf.FieldMaskOrBuilder>(
+ getUpdateMask(), getParentForChildren(), isClean());
+ updateMask_ = null;
+ }
+ return updateMaskBuilder_;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java
index 37d73bb273..2384ed73ab 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TableProto.java
@@ -112,126 +112,128 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
"\n$google/bigtable/admin/v2/table.proto\022\030"
+ "google.bigtable.admin.v2\032\037google/api/fie"
+ "ld_behavior.proto\032\031google/api/resource.p"
- + "roto\032\036google/protobuf/duration.proto\032\037go"
- + "ogle/protobuf/timestamp.proto\032\027google/rp"
- + "c/status.proto\"\233\001\n\013RestoreInfo\022@\n\013source"
- + "_type\030\001 \001(\0162+.google.bigtable.admin.v2.R"
- + "estoreSourceType\022;\n\013backup_info\030\002 \001(\0132$."
- + "google.bigtable.admin.v2.BackupInfoH\000B\r\n"
- + "\013source_info\"I\n\022ChangeStreamConfig\0223\n\020re"
- + "tention_period\030\001 \001(\0132\031.google.protobuf.D"
- + "uration\"\332\t\n\005Table\022\014\n\004name\030\001 \001(\t\022O\n\016clust"
- + "er_states\030\002 \003(\01322.google.bigtable.admin."
- + "v2.Table.ClusterStatesEntryB\003\340A\003\022L\n\017colu"
- + "mn_families\030\003 \003(\01323.google.bigtable.admi"
- + "n.v2.Table.ColumnFamiliesEntry\022N\n\013granul"
- + "arity\030\004 \001(\01624.google.bigtable.admin.v2.T"
- + "able.TimestampGranularityB\003\340A\005\022@\n\014restor"
- + "e_info\030\006 \001(\0132%.google.bigtable.admin.v2."
- + "RestoreInfoB\003\340A\003\022J\n\024change_stream_config"
- + "\030\010 \001(\0132,.google.bigtable.admin.v2.Change"
- + "StreamConfig\022\033\n\023deletion_protection\030\t \001("
- + "\010\032\306\002\n\014ClusterState\022]\n\021replication_state\030"
- + "\001 \001(\0162=.google.bigtable.admin.v2.Table.C"
- + "lusterState.ReplicationStateB\003\340A\003\022F\n\017enc"
- + "ryption_info\030\002 \003(\0132(.google.bigtable.adm"
- + "in.v2.EncryptionInfoB\003\340A\003\"\216\001\n\020Replicatio"
- + "nState\022\023\n\017STATE_NOT_KNOWN\020\000\022\020\n\014INITIALIZ"
- + "ING\020\001\022\027\n\023PLANNED_MAINTENANCE\020\002\022\031\n\025UNPLAN"
- + "NED_MAINTENANCE\020\003\022\t\n\005READY\020\004\022\024\n\020READY_OP"
- + "TIMIZING\020\005\032b\n\022ClusterStatesEntry\022\013\n\003key\030"
- + "\001 \001(\t\022;\n\005value\030\002 \001(\0132,.google.bigtable.a"
- + "dmin.v2.Table.ClusterState:\0028\001\032]\n\023Column"
- + "FamiliesEntry\022\013\n\003key\030\001 \001(\t\0225\n\005value\030\002 \001("
- + "\0132&.google.bigtable.admin.v2.ColumnFamil"
- + "y:\0028\001\"I\n\024TimestampGranularity\022%\n!TIMESTA"
- + "MP_GRANULARITY_UNSPECIFIED\020\000\022\n\n\006MILLIS\020\001"
- + "\"q\n\004View\022\024\n\020VIEW_UNSPECIFIED\020\000\022\r\n\tNAME_O"
- + "NLY\020\001\022\017\n\013SCHEMA_VIEW\020\002\022\024\n\020REPLICATION_VI"
- + "EW\020\003\022\023\n\017ENCRYPTION_VIEW\020\005\022\010\n\004FULL\020\004:_\352A\\"
- + "\n\"bigtableadmin.googleapis.com/Table\0226pr"
- + "ojects/{project}/instances/{instance}/ta"
- + "bles/{table}\"\343\005\n\016AuthorizedView\022\021\n\004name\030"
- + "\001 \001(\tB\003\340A\010\022J\n\013subset_view\030\002 \001(\01323.google"
- + ".bigtable.admin.v2.AuthorizedView.Subset"
- + "ViewH\000\022\014\n\004etag\030\003 \001(\t\022\033\n\023deletion_protect"
- + "ion\030\004 \001(\010\032?\n\rFamilySubsets\022\022\n\nqualifiers"
- + "\030\001 \003(\014\022\032\n\022qualifier_prefixes\030\002 \003(\014\032\360\001\n\nS"
- + "ubsetView\022\024\n\014row_prefixes\030\001 \003(\014\022^\n\016famil"
- + "y_subsets\030\002 \003(\0132F.google.bigtable.admin."
- + "v2.AuthorizedView.SubsetView.FamilySubse"
- + "tsEntry\032l\n\022FamilySubsetsEntry\022\013\n\003key\030\001 \001"
- + "(\t\022E\n\005value\030\002 \001(\01326.google.bigtable.admi"
- + "n.v2.AuthorizedView.FamilySubsets:\0028\001\"Q\n"
- + "\014ResponseView\022\035\n\031RESPONSE_VIEW_UNSPECIFI"
- + "ED\020\000\022\r\n\tNAME_ONLY\020\001\022\t\n\005BASIC\020\002\022\010\n\004FULL\020\003"
- + ":\254\001\352A\250\001\n+bigtableadmin.googleapis.com/Au"
- + "thorizedView\022Xprojects/{project}/instanc"
- + "es/{instance}/tables/{table}/authorizedV"
- + "iews/{authorized_view}*\017authorizedViews2"
- + "\016authorizedViewB\021\n\017authorized_view\"A\n\014Co"
- + "lumnFamily\0221\n\007gc_rule\030\001 \001(\0132 .google.big"
- + "table.admin.v2.GcRule\"\325\002\n\006GcRule\022\032\n\020max_"
- + "num_versions\030\001 \001(\005H\000\022,\n\007max_age\030\002 \001(\0132\031."
- + "google.protobuf.DurationH\000\022E\n\014intersecti"
- + "on\030\003 \001(\0132-.google.bigtable.admin.v2.GcRu"
- + "le.IntersectionH\000\0227\n\005union\030\004 \001(\0132&.googl"
- + "e.bigtable.admin.v2.GcRule.UnionH\000\032?\n\014In"
- + "tersection\022/\n\005rules\030\001 \003(\0132 .google.bigta"
- + "ble.admin.v2.GcRule\0328\n\005Union\022/\n\005rules\030\001 "
- + "\003(\0132 .google.bigtable.admin.v2.GcRuleB\006\n"
- + "\004rule\"\331\002\n\016EncryptionInfo\022U\n\017encryption_t"
- + "ype\030\003 \001(\01627.google.bigtable.admin.v2.Enc"
- + "ryptionInfo.EncryptionTypeB\003\340A\003\0222\n\021encry"
- + "ption_status\030\004 \001(\0132\022.google.rpc.StatusB\003"
- + "\340A\003\022I\n\017kms_key_version\030\002 \001(\tB0\340A\003\372A*\n(cl"
- + "oudkms.googleapis.com/CryptoKeyVersion\"q"
- + "\n\016EncryptionType\022\037\n\033ENCRYPTION_TYPE_UNSP"
- + "ECIFIED\020\000\022\035\n\031GOOGLE_DEFAULT_ENCRYPTION\020\001"
- + "\022\037\n\033CUSTOMER_MANAGED_ENCRYPTION\020\002\"\340\003\n\010Sn"
- + "apshot\022\014\n\004name\030\001 \001(\t\022:\n\014source_table\030\002 \001"
- + "(\0132\037.google.bigtable.admin.v2.TableB\003\340A\003"
- + "\022\034\n\017data_size_bytes\030\003 \001(\003B\003\340A\003\0224\n\013create"
- + "_time\030\004 \001(\0132\032.google.protobuf.TimestampB"
- + "\003\340A\003\022/\n\013delete_time\030\005 \001(\0132\032.google.proto"
- + "buf.Timestamp\022<\n\005state\030\006 \001(\0162(.google.bi"
- + "gtable.admin.v2.Snapshot.StateB\003\340A\003\022\023\n\013d"
- + "escription\030\007 \001(\t\"5\n\005State\022\023\n\017STATE_NOT_K"
- + "NOWN\020\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020\002:{\352Ax\n%bi"
- + "gtableadmin.googleapis.com/Snapshot\022Opro"
- + "jects/{project}/instances/{instance}/clu"
- + "sters/{cluster}/snapshots/{snapshot}\"\273\004\n"
- + "\006Backup\022\014\n\004name\030\001 \001(\t\022\034\n\014source_table\030\002 "
- + "\001(\tB\006\340A\005\340A\002\022\032\n\rsource_backup\030\n \001(\tB\003\340A\003\022"
- + "4\n\013expire_time\030\003 \001(\0132\032.google.protobuf.T"
- + "imestampB\003\340A\002\0223\n\nstart_time\030\004 \001(\0132\032.goog"
- + "le.protobuf.TimestampB\003\340A\003\0221\n\010end_time\030\005"
- + " \001(\0132\032.google.protobuf.TimestampB\003\340A\003\022\027\n"
- + "\nsize_bytes\030\006 \001(\003B\003\340A\003\022:\n\005state\030\007 \001(\0162&."
- + "google.bigtable.admin.v2.Backup.StateB\003\340"
- + "A\003\022F\n\017encryption_info\030\t \001(\0132(.google.big"
- + "table.admin.v2.EncryptionInfoB\003\340A\003\"7\n\005St"
- + "ate\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010CREATING\020\001"
- + "\022\t\n\005READY\020\002:u\352Ar\n#bigtableadmin.googleap"
- + "is.com/Backup\022Kprojects/{project}/instan"
- + "ces/{instance}/clusters/{cluster}/backup"
- + "s/{backup}\"\300\001\n\nBackupInfo\022\023\n\006backup\030\001 \001("
- + "\tB\003\340A\003\0223\n\nstart_time\030\002 \001(\0132\032.google.prot"
- + "obuf.TimestampB\003\340A\003\0221\n\010end_time\030\003 \001(\0132\032."
- + "google.protobuf.TimestampB\003\340A\003\022\031\n\014source"
- + "_table\030\004 \001(\tB\003\340A\003\022\032\n\rsource_backup\030\n \001(\t"
- + "B\003\340A\003*D\n\021RestoreSourceType\022#\n\037RESTORE_SO"
- + "URCE_TYPE_UNSPECIFIED\020\000\022\n\n\006BACKUP\020\001B\374\002\n\034"
- + "com.google.bigtable.admin.v2B\nTableProto"
- + "P\001Z=google.golang.org/genproto/googleapi"
- + "s/bigtable/admin/v2;admin\252\002\036Google.Cloud"
- + ".Bigtable.Admin.V2\312\002\036Google\\Cloud\\Bigtab"
- + "le\\Admin\\V2\352\002\"Google::Cloud::Bigtable::A"
- + "dmin::V2\352A\246\001\n(cloudkms.googleapis.com/Cr"
- + "yptoKeyVersion\022zprojects/{project}/locat"
- + "ions/{location}/keyRings/{key_ring}/cryp"
- + "toKeys/{crypto_key}/cryptoKeyVersions/{c"
- + "rypto_key_version}b\006proto3"
+ + "roto\032$google/bigtable/admin/v2/types.pro"
+ + "to\032\036google/protobuf/duration.proto\032\037goog"
+ + "le/protobuf/timestamp.proto\032\027google/rpc/"
+ + "status.proto\"\233\001\n\013RestoreInfo\022@\n\013source_t"
+ + "ype\030\001 \001(\0162+.google.bigtable.admin.v2.Res"
+ + "toreSourceType\022;\n\013backup_info\030\002 \001(\0132$.go"
+ + "ogle.bigtable.admin.v2.BackupInfoH\000B\r\n\013s"
+ + "ource_info\"I\n\022ChangeStreamConfig\0223\n\020rete"
+ + "ntion_period\030\001 \001(\0132\031.google.protobuf.Dur"
+ + "ation\"\332\t\n\005Table\022\014\n\004name\030\001 \001(\t\022O\n\016cluster"
+ + "_states\030\002 \003(\01322.google.bigtable.admin.v2"
+ + ".Table.ClusterStatesEntryB\003\340A\003\022L\n\017column"
+ + "_families\030\003 \003(\01323.google.bigtable.admin."
+ + "v2.Table.ColumnFamiliesEntry\022N\n\013granular"
+ + "ity\030\004 \001(\01624.google.bigtable.admin.v2.Tab"
+ + "le.TimestampGranularityB\003\340A\005\022@\n\014restore_"
+ + "info\030\006 \001(\0132%.google.bigtable.admin.v2.Re"
+ + "storeInfoB\003\340A\003\022J\n\024change_stream_config\030\010"
+ + " \001(\0132,.google.bigtable.admin.v2.ChangeSt"
+ + "reamConfig\022\033\n\023deletion_protection\030\t \001(\010\032"
+ + "\306\002\n\014ClusterState\022]\n\021replication_state\030\001 "
+ + "\001(\0162=.google.bigtable.admin.v2.Table.Clu"
+ + "sterState.ReplicationStateB\003\340A\003\022F\n\017encry"
+ + "ption_info\030\002 \003(\0132(.google.bigtable.admin"
+ + ".v2.EncryptionInfoB\003\340A\003\"\216\001\n\020ReplicationS"
+ + "tate\022\023\n\017STATE_NOT_KNOWN\020\000\022\020\n\014INITIALIZIN"
+ + "G\020\001\022\027\n\023PLANNED_MAINTENANCE\020\002\022\031\n\025UNPLANNE"
+ + "D_MAINTENANCE\020\003\022\t\n\005READY\020\004\022\024\n\020READY_OPTI"
+ + "MIZING\020\005\032b\n\022ClusterStatesEntry\022\013\n\003key\030\001 "
+ + "\001(\t\022;\n\005value\030\002 \001(\0132,.google.bigtable.adm"
+ + "in.v2.Table.ClusterState:\0028\001\032]\n\023ColumnFa"
+ + "miliesEntry\022\013\n\003key\030\001 \001(\t\0225\n\005value\030\002 \001(\0132"
+ + "&.google.bigtable.admin.v2.ColumnFamily:"
+ + "\0028\001\"I\n\024TimestampGranularity\022%\n!TIMESTAMP"
+ + "_GRANULARITY_UNSPECIFIED\020\000\022\n\n\006MILLIS\020\001\"q"
+ + "\n\004View\022\024\n\020VIEW_UNSPECIFIED\020\000\022\r\n\tNAME_ONL"
+ + "Y\020\001\022\017\n\013SCHEMA_VIEW\020\002\022\024\n\020REPLICATION_VIEW"
+ + "\020\003\022\023\n\017ENCRYPTION_VIEW\020\005\022\010\n\004FULL\020\004:_\352A\\\n\""
+ + "bigtableadmin.googleapis.com/Table\0226proj"
+ + "ects/{project}/instances/{instance}/tabl"
+ + "es/{table}\"\343\005\n\016AuthorizedView\022\021\n\004name\030\001 "
+ + "\001(\tB\003\340A\010\022J\n\013subset_view\030\002 \001(\01323.google.b"
+ + "igtable.admin.v2.AuthorizedView.SubsetVi"
+ + "ewH\000\022\014\n\004etag\030\003 \001(\t\022\033\n\023deletion_protectio"
+ + "n\030\004 \001(\010\032?\n\rFamilySubsets\022\022\n\nqualifiers\030\001"
+ + " \003(\014\022\032\n\022qualifier_prefixes\030\002 \003(\014\032\360\001\n\nSub"
+ + "setView\022\024\n\014row_prefixes\030\001 \003(\014\022^\n\016family_"
+ + "subsets\030\002 \003(\0132F.google.bigtable.admin.v2"
+ + ".AuthorizedView.SubsetView.FamilySubsets"
+ + "Entry\032l\n\022FamilySubsetsEntry\022\013\n\003key\030\001 \001(\t"
+ + "\022E\n\005value\030\002 \001(\01326.google.bigtable.admin."
+ + "v2.AuthorizedView.FamilySubsets:\0028\001\"Q\n\014R"
+ + "esponseView\022\035\n\031RESPONSE_VIEW_UNSPECIFIED"
+ + "\020\000\022\r\n\tNAME_ONLY\020\001\022\t\n\005BASIC\020\002\022\010\n\004FULL\020\003:\254"
+ + "\001\352A\250\001\n+bigtableadmin.googleapis.com/Auth"
+ + "orizedView\022Xprojects/{project}/instances"
+ + "/{instance}/tables/{table}/authorizedVie"
+ + "ws/{authorized_view}*\017authorizedViews2\016a"
+ + "uthorizedViewB\021\n\017authorized_view\"u\n\014Colu"
+ + "mnFamily\0221\n\007gc_rule\030\001 \001(\0132 .google.bigta"
+ + "ble.admin.v2.GcRule\0222\n\nvalue_type\030\003 \001(\0132"
+ + "\036.google.bigtable.admin.v2.Type\"\325\002\n\006GcRu"
+ + "le\022\032\n\020max_num_versions\030\001 \001(\005H\000\022,\n\007max_ag"
+ + "e\030\002 \001(\0132\031.google.protobuf.DurationH\000\022E\n\014"
+ + "intersection\030\003 \001(\0132-.google.bigtable.adm"
+ + "in.v2.GcRule.IntersectionH\000\0227\n\005union\030\004 \001"
+ + "(\0132&.google.bigtable.admin.v2.GcRule.Uni"
+ + "onH\000\032?\n\014Intersection\022/\n\005rules\030\001 \003(\0132 .go"
+ + "ogle.bigtable.admin.v2.GcRule\0328\n\005Union\022/"
+ + "\n\005rules\030\001 \003(\0132 .google.bigtable.admin.v2"
+ + ".GcRuleB\006\n\004rule\"\331\002\n\016EncryptionInfo\022U\n\017en"
+ + "cryption_type\030\003 \001(\01627.google.bigtable.ad"
+ + "min.v2.EncryptionInfo.EncryptionTypeB\003\340A"
+ + "\003\0222\n\021encryption_status\030\004 \001(\0132\022.google.rp"
+ + "c.StatusB\003\340A\003\022I\n\017kms_key_version\030\002 \001(\tB0"
+ + "\340A\003\372A*\n(cloudkms.googleapis.com/CryptoKe"
+ + "yVersion\"q\n\016EncryptionType\022\037\n\033ENCRYPTION"
+ + "_TYPE_UNSPECIFIED\020\000\022\035\n\031GOOGLE_DEFAULT_EN"
+ + "CRYPTION\020\001\022\037\n\033CUSTOMER_MANAGED_ENCRYPTIO"
+ + "N\020\002\"\340\003\n\010Snapshot\022\014\n\004name\030\001 \001(\t\022:\n\014source"
+ + "_table\030\002 \001(\0132\037.google.bigtable.admin.v2."
+ + "TableB\003\340A\003\022\034\n\017data_size_bytes\030\003 \001(\003B\003\340A\003"
+ + "\0224\n\013create_time\030\004 \001(\0132\032.google.protobuf."
+ + "TimestampB\003\340A\003\022/\n\013delete_time\030\005 \001(\0132\032.go"
+ + "ogle.protobuf.Timestamp\022<\n\005state\030\006 \001(\0162("
+ + ".google.bigtable.admin.v2.Snapshot.State"
+ + "B\003\340A\003\022\023\n\013description\030\007 \001(\t\"5\n\005State\022\023\n\017S"
+ + "TATE_NOT_KNOWN\020\000\022\t\n\005READY\020\001\022\014\n\010CREATING\020"
+ + "\002:{\352Ax\n%bigtableadmin.googleapis.com/Sna"
+ + "pshot\022Oprojects/{project}/instances/{ins"
+ + "tance}/clusters/{cluster}/snapshots/{sna"
+ + "pshot}\"\273\004\n\006Backup\022\014\n\004name\030\001 \001(\t\022\034\n\014sourc"
+ + "e_table\030\002 \001(\tB\006\340A\005\340A\002\022\032\n\rsource_backup\030\n"
+ + " \001(\tB\003\340A\003\0224\n\013expire_time\030\003 \001(\0132\032.google."
+ + "protobuf.TimestampB\003\340A\002\0223\n\nstart_time\030\004 "
+ + "\001(\0132\032.google.protobuf.TimestampB\003\340A\003\0221\n\010"
+ + "end_time\030\005 \001(\0132\032.google.protobuf.Timesta"
+ + "mpB\003\340A\003\022\027\n\nsize_bytes\030\006 \001(\003B\003\340A\003\022:\n\005stat"
+ + "e\030\007 \001(\0162&.google.bigtable.admin.v2.Backu"
+ + "p.StateB\003\340A\003\022F\n\017encryption_info\030\t \001(\0132(."
+ + "google.bigtable.admin.v2.EncryptionInfoB"
+ + "\003\340A\003\"7\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\014\n\010"
+ + "CREATING\020\001\022\t\n\005READY\020\002:u\352Ar\n#bigtableadmi"
+ + "n.googleapis.com/Backup\022Kprojects/{proje"
+ + "ct}/instances/{instance}/clusters/{clust"
+ + "er}/backups/{backup}\"\300\001\n\nBackupInfo\022\023\n\006b"
+ + "ackup\030\001 \001(\tB\003\340A\003\0223\n\nstart_time\030\002 \001(\0132\032.g"
+ + "oogle.protobuf.TimestampB\003\340A\003\0221\n\010end_tim"
+ + "e\030\003 \001(\0132\032.google.protobuf.TimestampB\003\340A\003"
+ + "\022\031\n\014source_table\030\004 \001(\tB\003\340A\003\022\032\n\rsource_ba"
+ + "ckup\030\n \001(\tB\003\340A\003*D\n\021RestoreSourceType\022#\n\037"
+ + "RESTORE_SOURCE_TYPE_UNSPECIFIED\020\000\022\n\n\006BAC"
+ + "KUP\020\001B\374\002\n\034com.google.bigtable.admin.v2B\n"
+ + "TableProtoP\001Z=google.golang.org/genproto"
+ + "/googleapis/bigtable/admin/v2;admin\252\002\036Go"
+ + "ogle.Cloud.Bigtable.Admin.V2\312\002\036Google\\Cl"
+ + "oud\\Bigtable\\Admin\\V2\352\002\"Google::Cloud::B"
+ + "igtable::Admin::V2\352A\246\001\n(cloudkms.googlea"
+ + "pis.com/CryptoKeyVersion\022zprojects/{proj"
+ + "ect}/locations/{location}/keyRings/{key_"
+ + "ring}/cryptoKeys/{crypto_key}/cryptoKeyV"
+ + "ersions/{crypto_key_version}b\006proto3"
};
descriptor =
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -239,6 +241,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.Descriptors.FileDescriptor[] {
com.google.api.FieldBehaviorProto.getDescriptor(),
com.google.api.ResourceProto.getDescriptor(),
+ com.google.bigtable.admin.v2.TypesProto.getDescriptor(),
com.google.protobuf.DurationProto.getDescriptor(),
com.google.protobuf.TimestampProto.getDescriptor(),
com.google.rpc.StatusProto.getDescriptor(),
@@ -337,7 +340,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
internal_static_google_bigtable_admin_v2_ColumnFamily_descriptor,
new java.lang.String[] {
- "GcRule",
+ "GcRule", "ValueType",
});
internal_static_google_bigtable_admin_v2_GcRule_descriptor =
getDescriptor().getMessageTypes().get(5);
@@ -419,6 +422,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
descriptor, registry);
com.google.api.FieldBehaviorProto.getDescriptor();
com.google.api.ResourceProto.getDescriptor();
+ com.google.bigtable.admin.v2.TypesProto.getDescriptor();
com.google.protobuf.DurationProto.getDescriptor();
com.google.protobuf.TimestampProto.getDescriptor();
com.google.rpc.StatusProto.getDescriptor();
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Type.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Type.java
new file mode 100644
index 0000000000..05718b933c
--- /dev/null
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/Type.java
@@ -0,0 +1,7869 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/bigtable/admin/v2/types.proto
+
+// Protobuf Java Version: 3.25.2
+package com.google.bigtable.admin.v2;
+
+/**
+ *
+ *
+ *
+ * `Type` represents the type of data that is written to, read from, or stored
+ * in Bigtable. It is heavily based on the GoogleSQL standard to help maintain
+ * familiarity and consistency across products and features.
+ *
+ * For compatibility with Bigtable's existing untyped APIs, each `Type` includes
+ * an `Encoding` which describes how to convert to/from the underlying data.
+ * This might involve composing a series of steps into an "encoding chain," for
+ * example to convert from INT64 -> STRING -> raw bytes. In most cases, a "link"
+ * in the encoding chain will be based an on existing GoogleSQL conversion
+ * function like `CAST`.
+ *
+ * Each link in the encoding chain also defines the following properties:
+ * * Natural sort: Does the encoded value sort consistently with the original
+ * typed value? Note that Bigtable will always sort data based on the raw
+ * encoded value, *not* the decoded type.
+ * - Example: STRING values sort in the same order as their UTF-8 encodings.
+ * - Counterexample: Encoding INT64 to a fixed-width STRING does *not*
+ * preserve sort order when dealing with negative numbers.
+ * INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
+ * - The overall encoding chain sorts naturally if *every* link does.
+ * * Self-delimiting: If we concatenate two encoded values, can we always tell
+ * where the first one ends and the second one begins?
+ * - Example: If we encode INT64s to fixed-width STRINGs, the first value
+ * will always contain exactly N digits, possibly preceded by a sign.
+ * - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have
+ * no way to tell where the first one ends.
+ * - The overall encoding chain is self-delimiting if *any* link is.
+ * * Compatibility: Which other systems have matching encoding schemes? For
+ * example, does this encoding have a GoogleSQL equivalent? HBase? Java?
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type}
+ */
+public final class Type extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type)
+ TypeOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Type.newBuilder() to construct.
+ private Type(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Type() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Type();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.class,
+ com.google.bigtable.admin.v2.Type.Builder.class);
+ }
+
+ public interface BytesOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Bytes)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ boolean hasEncoding();
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding getEncoding();
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ com.google.bigtable.admin.v2.Type.Bytes.EncodingOrBuilder getEncodingOrBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ * Values of type `Bytes` are stored in `Value.bytes_value`.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes}
+ */
+ public static final class Bytes extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Bytes)
+ BytesOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Bytes.newBuilder() to construct.
+ private Bytes(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Bytes() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Bytes();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Bytes.class,
+ com.google.bigtable.admin.v2.Type.Bytes.Builder.class);
+ }
+
+ public interface EncodingOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Bytes.Encoding)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return Whether the raw field is set.
+ */
+ boolean hasRaw();
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return The raw.
+ */
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw getRaw();
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.RawOrBuilder getRawOrBuilder();
+
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.EncodingCase getEncodingCase();
+ }
+ /**
+ *
+ *
+ *
+ * Rules used to convert to/from lower level types.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes.Encoding}
+ */
+ public static final class Encoding extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Bytes.Encoding)
+ EncodingOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Encoding.newBuilder() to construct.
+ private Encoding(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Encoding() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Encoding();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.class,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Builder.class);
+ }
+
+ public interface RawOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Bytes.Encoding.Raw)
+ com.google.protobuf.MessageOrBuilder {}
+ /**
+ *
+ *
+ *
+ * Leaves the value "as-is"
+ * * Natural sort? Yes
+ * * Self-delimiting? No
+ * * Compatibility? N/A
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes.Encoding.Raw}
+ */
+ public static final class Raw extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Bytes.Encoding.Raw)
+ RawOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Raw.newBuilder() to construct.
+ private Raw(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Raw() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Raw();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.class,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw other =
+ (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) obj;
+
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Leaves the value "as-is"
+ * * Natural sort? Yes
+ * * Self-delimiting? No
+ * * Compatibility? N/A
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes.Encoding.Raw}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return Whether the raw field is set.
+ */
+ @java.lang.Override
+ public boolean hasRaw() {
+ return encodingCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return The raw.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw getRaw() {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.RawOrBuilder getRawOrBuilder() {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (encodingCase_ == 1) {
+ output.writeMessage(1, (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (encodingCase_ == 1) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 1, (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Bytes.Encoding)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding other =
+ (com.google.bigtable.admin.v2.Type.Bytes.Encoding) obj;
+
+ if (!getEncodingCase().equals(other.getEncodingCase())) return false;
+ switch (encodingCase_) {
+ case 1:
+ if (!getRaw().equals(other.getRaw())) return false;
+ break;
+ case 0:
+ default:
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (encodingCase_) {
+ case 1:
+ hash = (37 * hash) + RAW_FIELD_NUMBER;
+ hash = (53 * hash) + getRaw().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Bytes.Encoding prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Rules used to convert to/from lower level types.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes.Encoding}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return Whether the raw field is set.
+ */
+ @java.lang.Override
+ public boolean hasRaw() {
+ return encodingCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ *
+ * @return The raw.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw getRaw() {
+ if (rawBuilder_ == null) {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ } else {
+ if (encodingCase_ == 1) {
+ return rawBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ public Builder setRaw(com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw value) {
+ if (rawBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ encoding_ = value;
+ onChanged();
+ } else {
+ rawBuilder_.setMessage(value);
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ public Builder setRaw(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.Builder builderForValue) {
+ if (rawBuilder_ == null) {
+ encoding_ = builderForValue.build();
+ onChanged();
+ } else {
+ rawBuilder_.setMessage(builderForValue.build());
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ public Builder mergeRaw(com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw value) {
+ if (rawBuilder_ == null) {
+ if (encodingCase_ == 1
+ && encoding_
+ != com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance()) {
+ encoding_ =
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ encoding_ = value;
+ }
+ onChanged();
+ } else {
+ if (encodingCase_ == 1) {
+ rawBuilder_.mergeFrom(value);
+ } else {
+ rawBuilder_.setMessage(value);
+ }
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ public Builder clearRaw() {
+ if (rawBuilder_ == null) {
+ if (encodingCase_ == 1) {
+ encodingCase_ = 0;
+ encoding_ = null;
+ onChanged();
+ }
+ } else {
+ if (encodingCase_ == 1) {
+ encodingCase_ = 0;
+ encoding_ = null;
+ }
+ rawBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.Builder getRawBuilder() {
+ return getRawFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.RawOrBuilder getRawOrBuilder() {
+ if ((encodingCase_ == 1) && (rawBuilder_ != null)) {
+ return rawBuilder_.getMessageOrBuilder();
+ } else {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Use `Raw` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding.Raw raw = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.Builder,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.RawOrBuilder>
+ getRawFieldBuilder() {
+ if (rawBuilder_ == null) {
+ if (!(encodingCase_ == 1)) {
+ encoding_ = com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.getDefaultInstance();
+ }
+ rawBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw.Builder,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.RawOrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Bytes.Encoding.Raw) encoding_,
+ getParentForChildren(),
+ isClean());
+ encoding_ = null;
+ }
+ encodingCase_ = 1;
+ onChanged();
+ return rawBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Bytes.Encoding)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Bytes.Encoding)
+ private static final com.google.bigtable.admin.v2.Type.Bytes.Encoding DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Bytes.Encoding();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes.Encoding getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ @java.lang.Override
+ public boolean hasEncoding() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding getEncoding() {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes.EncodingOrBuilder getEncodingOrBuilder() {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getEncoding());
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEncoding());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Bytes)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Bytes other = (com.google.bigtable.admin.v2.Type.Bytes) obj;
+
+ if (hasEncoding() != other.hasEncoding()) return false;
+ if (hasEncoding()) {
+ if (!getEncoding().equals(other.getEncoding())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasEncoding()) {
+ hash = (37 * hash) + ENCODING_FIELD_NUMBER;
+ hash = (53 * hash) + getEncoding().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Bytes prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ * Values of type `Bytes` are stored in `Value.bytes_value`.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Bytes}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ public boolean hasEncoding() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding getEncoding() {
+ if (encodingBuilder_ == null) {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.Encoding.getDefaultInstance()
+ : encoding_;
+ } else {
+ return encodingBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public Builder setEncoding(com.google.bigtable.admin.v2.Type.Bytes.Encoding value) {
+ if (encodingBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ encoding_ = value;
+ } else {
+ encodingBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public Builder setEncoding(
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Builder builderForValue) {
+ if (encodingBuilder_ == null) {
+ encoding_ = builderForValue.build();
+ } else {
+ encodingBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public Builder mergeEncoding(com.google.bigtable.admin.v2.Type.Bytes.Encoding value) {
+ if (encodingBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && encoding_ != null
+ && encoding_
+ != com.google.bigtable.admin.v2.Type.Bytes.Encoding.getDefaultInstance()) {
+ getEncodingBuilder().mergeFrom(value);
+ } else {
+ encoding_ = value;
+ }
+ } else {
+ encodingBuilder_.mergeFrom(value);
+ }
+ if (encoding_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public Builder clearEncoding() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ encoding_ = null;
+ if (encodingBuilder_ != null) {
+ encodingBuilder_.dispose();
+ encodingBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.Encoding.Builder getEncodingBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getEncodingFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.EncodingOrBuilder getEncodingOrBuilder() {
+ if (encodingBuilder_ != null) {
+ return encodingBuilder_.getMessageOrBuilder();
+ } else {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes.Encoding encoding = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Builder,
+ com.google.bigtable.admin.v2.Type.Bytes.EncodingOrBuilder>
+ getEncodingFieldBuilder() {
+ if (encodingBuilder_ == null) {
+ encodingBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding,
+ com.google.bigtable.admin.v2.Type.Bytes.Encoding.Builder,
+ com.google.bigtable.admin.v2.Type.Bytes.EncodingOrBuilder>(
+ getEncoding(), getParentForChildren(), isClean());
+ encoding_ = null;
+ }
+ return encodingBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Bytes)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Bytes)
+ private static final com.google.bigtable.admin.v2.Type.Bytes DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Bytes();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Bytes getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ boolean hasEncoding();
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ com.google.bigtable.admin.v2.Type.Int64.Encoding getEncoding();
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ com.google.bigtable.admin.v2.Type.Int64.EncodingOrBuilder getEncodingOrBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ * Values of type `Int64` are stored in `Value.int_value`.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64}
+ */
+ public static final class Int64 extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Int64)
+ Int64OrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Int64.newBuilder() to construct.
+ private Int64(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Int64() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Int64();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Int64.class,
+ com.google.bigtable.admin.v2.Type.Int64.Builder.class);
+ }
+
+ public interface EncodingOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Int64.Encoding)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return Whether the bigEndianBytes field is set.
+ */
+ boolean hasBigEndianBytes();
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return The bigEndianBytes.
+ */
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes getBigEndianBytes();
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytesOrBuilder
+ getBigEndianBytesOrBuilder();
+
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.EncodingCase getEncodingCase();
+ }
+ /**
+ *
+ *
+ *
+ * Rules used to convert to/from lower level types.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64.Encoding}
+ */
+ public static final class Encoding extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Int64.Encoding)
+ EncodingOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Encoding.newBuilder() to construct.
+ private Encoding(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Encoding() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Encoding();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.class,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.Builder.class);
+ }
+
+ public interface BigEndianBytesOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ boolean hasBytesType();
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ com.google.bigtable.admin.v2.Type.Bytes getBytesType();
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Encodes the value as an 8-byte big endian twos complement `Bytes`
+ * value.
+ * * Natural sort? No (positive values only)
+ * * Self-delimiting? Yes
+ * * Compatibility?
+ * - BigQuery Federation `BINARY` encoding
+ * - HBase `Bytes.toBytes`
+ * - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes}
+ */
+ public static final class BigEndianBytes extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)
+ BigEndianBytesOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use BigEndianBytes.newBuilder() to construct.
+ private BigEndianBytes(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private BigEndianBytes() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new BigEndianBytes();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.class,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int BYTES_TYPE_FIELD_NUMBER = 1;
+ private com.google.bigtable.admin.v2.Type.Bytes bytesType_;
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ @java.lang.Override
+ public boolean hasBytesType() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes getBytesType() {
+ return bytesType_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()
+ : bytesType_;
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder() {
+ return bytesType_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()
+ : bytesType_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output)
+ throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getBytesType());
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getBytesType());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes other =
+ (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) obj;
+
+ if (hasBytesType() != other.hasBytesType()) return false;
+ if (hasBytesType()) {
+ if (!getBytesType().equals(other.getBytesType())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasBytesType()) {
+ hash = (37 * hash) + BYTES_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getBytesType().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ parseDelimitedFrom(
+ java.io.InputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Encodes the value as an 8-byte big endian twos complement `Bytes`
+ * value.
+ * * Natural sort? No (positive values only)
+ * * Self-delimiting? Yes
+ * * Compatibility?
+ * - BigQuery Federation `BINARY` encoding
+ * - HBase `Bytes.toBytes`
+ * - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ public boolean hasBytesType() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes getBytesType() {
+ if (bytesTypeBuilder_ == null) {
+ return bytesType_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()
+ : bytesType_;
+ } else {
+ return bytesTypeBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder setBytesType(com.google.bigtable.admin.v2.Type.Bytes value) {
+ if (bytesTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ bytesType_ = value;
+ } else {
+ bytesTypeBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder setBytesType(
+ com.google.bigtable.admin.v2.Type.Bytes.Builder builderForValue) {
+ if (bytesTypeBuilder_ == null) {
+ bytesType_ = builderForValue.build();
+ } else {
+ bytesTypeBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder mergeBytesType(com.google.bigtable.admin.v2.Type.Bytes value) {
+ if (bytesTypeBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && bytesType_ != null
+ && bytesType_ != com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()) {
+ getBytesTypeBuilder().mergeFrom(value);
+ } else {
+ bytesType_ = value;
+ }
+ } else {
+ bytesTypeBuilder_.mergeFrom(value);
+ }
+ if (bytesType_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder clearBytesType() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ bytesType_ = null;
+ if (bytesTypeBuilder_ != null) {
+ bytesTypeBuilder_.dispose();
+ bytesTypeBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.Builder getBytesTypeBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getBytesTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder() {
+ if (bytesTypeBuilder_ != null) {
+ return bytesTypeBuilder_.getMessageOrBuilder();
+ } else {
+ return bytesType_ == null
+ ? com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()
+ : bytesType_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The underlying `Bytes` type, which may be able to encode further.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes,
+ com.google.bigtable.admin.v2.Type.Bytes.Builder,
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder>
+ getBytesTypeFieldBuilder() {
+ if (bytesTypeBuilder_ == null) {
+ bytesTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes,
+ com.google.bigtable.admin.v2.Type.Bytes.Builder,
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder>(
+ getBytesType(), getParentForChildren(), isClean());
+ bytesType_ = null;
+ }
+ return bytesTypeBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)
+ private static final com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return Whether the bigEndianBytes field is set.
+ */
+ @java.lang.Override
+ public boolean hasBigEndianBytes() {
+ return encodingCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return The bigEndianBytes.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes getBigEndianBytes() {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytesOrBuilder
+ getBigEndianBytesOrBuilder() {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (encodingCase_ == 1) {
+ output.writeMessage(
+ 1, (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (encodingCase_ == 1) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 1, (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Int64.Encoding)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Int64.Encoding other =
+ (com.google.bigtable.admin.v2.Type.Int64.Encoding) obj;
+
+ if (!getEncodingCase().equals(other.getEncodingCase())) return false;
+ switch (encodingCase_) {
+ case 1:
+ if (!getBigEndianBytes().equals(other.getBigEndianBytes())) return false;
+ break;
+ case 0:
+ default:
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (encodingCase_) {
+ case 1:
+ hash = (37 * hash) + BIG_ENDIAN_BYTES_FIELD_NUMBER;
+ hash = (53 * hash) + getBigEndianBytes().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Int64.Encoding prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Rules used to convert to/from lower level types.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64.Encoding}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return Whether the bigEndianBytes field is set.
+ */
+ @java.lang.Override
+ public boolean hasBigEndianBytes() {
+ return encodingCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ *
+ * @return The bigEndianBytes.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes getBigEndianBytes() {
+ if (bigEndianBytesBuilder_ == null) {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .getDefaultInstance();
+ } else {
+ if (encodingCase_ == 1) {
+ return bigEndianBytesBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ public Builder setBigEndianBytes(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes value) {
+ if (bigEndianBytesBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ encoding_ = value;
+ onChanged();
+ } else {
+ bigEndianBytesBuilder_.setMessage(value);
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ public Builder setBigEndianBytes(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.Builder
+ builderForValue) {
+ if (bigEndianBytesBuilder_ == null) {
+ encoding_ = builderForValue.build();
+ onChanged();
+ } else {
+ bigEndianBytesBuilder_.setMessage(builderForValue.build());
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ public Builder mergeBigEndianBytes(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes value) {
+ if (bigEndianBytesBuilder_ == null) {
+ if (encodingCase_ == 1
+ && encoding_
+ != com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .getDefaultInstance()) {
+ encoding_ =
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes)
+ encoding_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ encoding_ = value;
+ }
+ onChanged();
+ } else {
+ if (encodingCase_ == 1) {
+ bigEndianBytesBuilder_.mergeFrom(value);
+ } else {
+ bigEndianBytesBuilder_.setMessage(value);
+ }
+ }
+ encodingCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ public Builder clearBigEndianBytes() {
+ if (bigEndianBytesBuilder_ == null) {
+ if (encodingCase_ == 1) {
+ encodingCase_ = 0;
+ encoding_ = null;
+ onChanged();
+ }
+ } else {
+ if (encodingCase_ == 1) {
+ encodingCase_ = 0;
+ encoding_ = null;
+ }
+ bigEndianBytesBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.Builder
+ getBigEndianBytesBuilder() {
+ return getBigEndianBytesFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytesOrBuilder
+ getBigEndianBytesOrBuilder() {
+ if ((encodingCase_ == 1) && (bigEndianBytesBuilder_ != null)) {
+ return bigEndianBytesBuilder_.getMessageOrBuilder();
+ } else {
+ if (encodingCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Use `BigEndianBytes` encoding.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes big_endian_bytes = 1;
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.Builder,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytesOrBuilder>
+ getBigEndianBytesFieldBuilder() {
+ if (bigEndianBytesBuilder_ == null) {
+ if (!(encodingCase_ == 1)) {
+ encoding_ =
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes
+ .getDefaultInstance();
+ }
+ bigEndianBytesBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes.Builder,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytesOrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Int64.Encoding.BigEndianBytes) encoding_,
+ getParentForChildren(),
+ isClean());
+ encoding_ = null;
+ }
+ encodingCase_ = 1;
+ onChanged();
+ return bigEndianBytesBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Int64.Encoding)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Int64.Encoding)
+ private static final com.google.bigtable.admin.v2.Type.Int64.Encoding DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Int64.Encoding();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64.Encoding getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ @java.lang.Override
+ public boolean hasEncoding() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding getEncoding() {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Int64.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64.EncodingOrBuilder getEncodingOrBuilder() {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Int64.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getEncoding());
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEncoding());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Int64)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Int64 other = (com.google.bigtable.admin.v2.Type.Int64) obj;
+
+ if (hasEncoding() != other.hasEncoding()) return false;
+ if (hasEncoding()) {
+ if (!getEncoding().equals(other.getEncoding())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasEncoding()) {
+ hash = (37 * hash) + ENCODING_FIELD_NUMBER;
+ hash = (53 * hash) + getEncoding().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Int64 prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ * Values of type `Int64` are stored in `Value.int_value`.
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Int64}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return Whether the encoding field is set.
+ */
+ public boolean hasEncoding() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ *
+ * @return The encoding.
+ */
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding getEncoding() {
+ if (encodingBuilder_ == null) {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Int64.Encoding.getDefaultInstance()
+ : encoding_;
+ } else {
+ return encodingBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public Builder setEncoding(com.google.bigtable.admin.v2.Type.Int64.Encoding value) {
+ if (encodingBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ encoding_ = value;
+ } else {
+ encodingBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public Builder setEncoding(
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.Builder builderForValue) {
+ if (encodingBuilder_ == null) {
+ encoding_ = builderForValue.build();
+ } else {
+ encodingBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public Builder mergeEncoding(com.google.bigtable.admin.v2.Type.Int64.Encoding value) {
+ if (encodingBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && encoding_ != null
+ && encoding_
+ != com.google.bigtable.admin.v2.Type.Int64.Encoding.getDefaultInstance()) {
+ getEncodingBuilder().mergeFrom(value);
+ } else {
+ encoding_ = value;
+ }
+ } else {
+ encodingBuilder_.mergeFrom(value);
+ }
+ if (encoding_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public Builder clearEncoding() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ encoding_ = null;
+ if (encodingBuilder_ != null) {
+ encodingBuilder_.dispose();
+ encodingBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Int64.Encoding.Builder getEncodingBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getEncodingFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Int64.EncodingOrBuilder getEncodingOrBuilder() {
+ if (encodingBuilder_ != null) {
+ return encodingBuilder_.getMessageOrBuilder();
+ } else {
+ return encoding_ == null
+ ? com.google.bigtable.admin.v2.Type.Int64.Encoding.getDefaultInstance()
+ : encoding_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The encoding to use when converting to/from lower level types.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64.Encoding encoding = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64.Encoding,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.Builder,
+ com.google.bigtable.admin.v2.Type.Int64.EncodingOrBuilder>
+ getEncodingFieldBuilder() {
+ if (encodingBuilder_ == null) {
+ encodingBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64.Encoding,
+ com.google.bigtable.admin.v2.Type.Int64.Encoding.Builder,
+ com.google.bigtable.admin.v2.Type.Int64.EncodingOrBuilder>(
+ getEncoding(), getParentForChildren(), isClean());
+ encoding_ = null;
+ }
+ return encodingBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Int64)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Int64)
+ private static final com.google.bigtable.admin.v2.Type.Int64 DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Int64();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Int64 getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return Whether the inputType field is set.
+ */
+ boolean hasInputType();
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return The inputType.
+ */
+ com.google.bigtable.admin.v2.Type getInputType();
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ com.google.bigtable.admin.v2.TypeOrBuilder getInputTypeOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the stateType field is set.
+ */
+ boolean hasStateType();
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The stateType.
+ */
+ com.google.bigtable.admin.v2.Type getStateType();
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ com.google.bigtable.admin.v2.TypeOrBuilder getStateTypeOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return Whether the sum field is set.
+ */
+ boolean hasSum();
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return The sum.
+ */
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum getSum();
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder getSumOrBuilder();
+
+ com.google.bigtable.admin.v2.Type.Aggregate.AggregatorCase getAggregatorCase();
+ }
+ /**
+ *
+ *
+ *
+ * A value that combines incremental updates into a summarized value.
+ *
+ * Data is never directly written or read using type `Aggregate`. Writes will
+ * provide either the `input_type` or `state_type`, and reads will always
+ * return the `state_type` .
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Aggregate}
+ */
+ public static final class Aggregate extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Aggregate)
+ AggregateOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Aggregate.newBuilder() to construct.
+ private Aggregate(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Aggregate() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Aggregate();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Aggregate_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Aggregate_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Aggregate.class,
+ com.google.bigtable.admin.v2.Type.Aggregate.Builder.class);
+ }
+
+ public interface SumOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.bigtable.admin.v2.Type.Aggregate.Sum)
+ com.google.protobuf.MessageOrBuilder {}
+ /**
+ *
+ *
+ *
+ * Computes the sum of the input values.
+ * Allowed input: `Int64`
+ * State: same as input
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Aggregate.Sum}
+ */
+ public static final class Sum extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.admin.v2.Type.Aggregate.Sum)
+ SumOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Sum.newBuilder() to construct.
+ private Sum(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Sum() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Sum();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.admin.v2.TypesProto
+ .internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.class,
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder.class);
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Aggregate.Sum)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum other =
+ (com.google.bigtable.admin.v2.Type.Aggregate.Sum) obj;
+
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate.Sum parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Aggregate.Sum prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * Computes the sum of the input values.
+ * Allowed input: `Int64`
+ * State: same as input
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Aggregate.Sum}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return Whether the inputType field is set.
+ */
+ @java.lang.Override
+ public boolean hasInputType() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return The inputType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type getInputType() {
+ return inputType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : inputType_;
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.TypeOrBuilder getInputTypeOrBuilder() {
+ return inputType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : inputType_;
+ }
+
+ public static final int STATE_TYPE_FIELD_NUMBER = 2;
+ private com.google.bigtable.admin.v2.Type stateType_;
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the stateType field is set.
+ */
+ @java.lang.Override
+ public boolean hasStateType() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The stateType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type getStateType() {
+ return stateType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : stateType_;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.TypeOrBuilder getStateTypeOrBuilder() {
+ return stateType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : stateType_;
+ }
+
+ public static final int SUM_FIELD_NUMBER = 4;
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return Whether the sum field is set.
+ */
+ @java.lang.Override
+ public boolean hasSum() {
+ return aggregatorCase_ == 4;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return The sum.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate.Sum getSum() {
+ if (aggregatorCase_ == 4) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder getSumOrBuilder() {
+ if (aggregatorCase_ == 4) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(1, getInputType());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(2, getStateType());
+ }
+ if (aggregatorCase_ == 4) {
+ output.writeMessage(4, (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInputType());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getStateType());
+ }
+ if (aggregatorCase_ == 4) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 4, (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type.Aggregate)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type.Aggregate other =
+ (com.google.bigtable.admin.v2.Type.Aggregate) obj;
+
+ if (hasInputType() != other.hasInputType()) return false;
+ if (hasInputType()) {
+ if (!getInputType().equals(other.getInputType())) return false;
+ }
+ if (hasStateType() != other.hasStateType()) return false;
+ if (hasStateType()) {
+ if (!getStateType().equals(other.getStateType())) return false;
+ }
+ if (!getAggregatorCase().equals(other.getAggregatorCase())) return false;
+ switch (aggregatorCase_) {
+ case 4:
+ if (!getSum().equals(other.getSum())) return false;
+ break;
+ case 0:
+ default:
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ if (hasInputType()) {
+ hash = (37 * hash) + INPUT_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getInputType().hashCode();
+ }
+ if (hasStateType()) {
+ hash = (37 * hash) + STATE_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getStateType().hashCode();
+ }
+ switch (aggregatorCase_) {
+ case 4:
+ hash = (37 * hash) + SUM_FIELD_NUMBER;
+ hash = (53 * hash) + getSum().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type.Aggregate prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * A value that combines incremental updates into a summarized value.
+ *
+ * Data is never directly written or read using type `Aggregate`. Writes will
+ * provide either the `input_type` or `state_type`, and reads will always
+ * return the `state_type` .
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type.Aggregate}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return Whether the inputType field is set.
+ */
+ public boolean hasInputType() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ *
+ * @return The inputType.
+ */
+ public com.google.bigtable.admin.v2.Type getInputType() {
+ if (inputTypeBuilder_ == null) {
+ return inputType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : inputType_;
+ } else {
+ return inputTypeBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public Builder setInputType(com.google.bigtable.admin.v2.Type value) {
+ if (inputTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ inputType_ = value;
+ } else {
+ inputTypeBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public Builder setInputType(com.google.bigtable.admin.v2.Type.Builder builderForValue) {
+ if (inputTypeBuilder_ == null) {
+ inputType_ = builderForValue.build();
+ } else {
+ inputTypeBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public Builder mergeInputType(com.google.bigtable.admin.v2.Type value) {
+ if (inputTypeBuilder_ == null) {
+ if (((bitField0_ & 0x00000001) != 0)
+ && inputType_ != null
+ && inputType_ != com.google.bigtable.admin.v2.Type.getDefaultInstance()) {
+ getInputTypeBuilder().mergeFrom(value);
+ } else {
+ inputType_ = value;
+ }
+ } else {
+ inputTypeBuilder_.mergeFrom(value);
+ }
+ if (inputType_ != null) {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public Builder clearInputType() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ inputType_ = null;
+ if (inputTypeBuilder_ != null) {
+ inputTypeBuilder_.dispose();
+ inputTypeBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Builder getInputTypeBuilder() {
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return getInputTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ public com.google.bigtable.admin.v2.TypeOrBuilder getInputTypeOrBuilder() {
+ if (inputTypeBuilder_ != null) {
+ return inputTypeBuilder_.getMessageOrBuilder();
+ } else {
+ return inputType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : inputType_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Type of the inputs that are accumulated by this `Aggregate`, which must
+ * specify a full encoding.
+ * Use `AddInput` mutations to accumulate new inputs.
+ *
+ *
+ * .google.bigtable.admin.v2.Type input_type = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>
+ getInputTypeFieldBuilder() {
+ if (inputTypeBuilder_ == null) {
+ inputTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>(
+ getInputType(), getParentForChildren(), isClean());
+ inputType_ = null;
+ }
+ return inputTypeBuilder_;
+ }
+
+ private com.google.bigtable.admin.v2.Type stateType_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>
+ stateTypeBuilder_;
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return Whether the stateType field is set.
+ */
+ public boolean hasStateType() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The stateType.
+ */
+ public com.google.bigtable.admin.v2.Type getStateType() {
+ if (stateTypeBuilder_ == null) {
+ return stateType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : stateType_;
+ } else {
+ return stateTypeBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setStateType(com.google.bigtable.admin.v2.Type value) {
+ if (stateTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ stateType_ = value;
+ } else {
+ stateTypeBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder setStateType(com.google.bigtable.admin.v2.Type.Builder builderForValue) {
+ if (stateTypeBuilder_ == null) {
+ stateType_ = builderForValue.build();
+ } else {
+ stateTypeBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder mergeStateType(com.google.bigtable.admin.v2.Type value) {
+ if (stateTypeBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)
+ && stateType_ != null
+ && stateType_ != com.google.bigtable.admin.v2.Type.getDefaultInstance()) {
+ getStateTypeBuilder().mergeFrom(value);
+ } else {
+ stateType_ = value;
+ }
+ } else {
+ stateTypeBuilder_.mergeFrom(value);
+ }
+ if (stateType_ != null) {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public Builder clearStateType() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ stateType_ = null;
+ if (stateTypeBuilder_ != null) {
+ stateTypeBuilder_.dispose();
+ stateTypeBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.bigtable.admin.v2.Type.Builder getStateTypeBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getStateTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ public com.google.bigtable.admin.v2.TypeOrBuilder getStateTypeOrBuilder() {
+ if (stateTypeBuilder_ != null) {
+ return stateTypeBuilder_.getMessageOrBuilder();
+ } else {
+ return stateType_ == null
+ ? com.google.bigtable.admin.v2.Type.getDefaultInstance()
+ : stateType_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Output only. Type that holds the internal accumulator state for the
+ * `Aggregate`. This is a function of the `input_type` and `aggregator`
+ * chosen, and will always specify a full encoding.
+ *
+ *
+ *
+ * .google.bigtable.admin.v2.Type state_type = 2 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>
+ getStateTypeFieldBuilder() {
+ if (stateTypeBuilder_ == null) {
+ stateTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type,
+ com.google.bigtable.admin.v2.Type.Builder,
+ com.google.bigtable.admin.v2.TypeOrBuilder>(
+ getStateType(), getParentForChildren(), isClean());
+ stateType_ = null;
+ }
+ return stateTypeBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum,
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder,
+ com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder>
+ sumBuilder_;
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return Whether the sum field is set.
+ */
+ @java.lang.Override
+ public boolean hasSum() {
+ return aggregatorCase_ == 4;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ *
+ * @return The sum.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate.Sum getSum() {
+ if (sumBuilder_ == null) {
+ if (aggregatorCase_ == 4) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ } else {
+ if (aggregatorCase_ == 4) {
+ return sumBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ public Builder setSum(com.google.bigtable.admin.v2.Type.Aggregate.Sum value) {
+ if (sumBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ aggregator_ = value;
+ onChanged();
+ } else {
+ sumBuilder_.setMessage(value);
+ }
+ aggregatorCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ public Builder setSum(
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder builderForValue) {
+ if (sumBuilder_ == null) {
+ aggregator_ = builderForValue.build();
+ onChanged();
+ } else {
+ sumBuilder_.setMessage(builderForValue.build());
+ }
+ aggregatorCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ public Builder mergeSum(com.google.bigtable.admin.v2.Type.Aggregate.Sum value) {
+ if (sumBuilder_ == null) {
+ if (aggregatorCase_ == 4
+ && aggregator_
+ != com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance()) {
+ aggregator_ =
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ aggregator_ = value;
+ }
+ onChanged();
+ } else {
+ if (aggregatorCase_ == 4) {
+ sumBuilder_.mergeFrom(value);
+ } else {
+ sumBuilder_.setMessage(value);
+ }
+ }
+ aggregatorCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ public Builder clearSum() {
+ if (sumBuilder_ == null) {
+ if (aggregatorCase_ == 4) {
+ aggregatorCase_ = 0;
+ aggregator_ = null;
+ onChanged();
+ }
+ } else {
+ if (aggregatorCase_ == 4) {
+ aggregatorCase_ = 0;
+ aggregator_ = null;
+ }
+ sumBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ public com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder getSumBuilder() {
+ return getSumFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder getSumOrBuilder() {
+ if ((aggregatorCase_ == 4) && (sumBuilder_ != null)) {
+ return sumBuilder_.getMessageOrBuilder();
+ } else {
+ if (aggregatorCase_ == 4) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sum aggregator.
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate.Sum sum = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum,
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder,
+ com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder>
+ getSumFieldBuilder() {
+ if (sumBuilder_ == null) {
+ if (!(aggregatorCase_ == 4)) {
+ aggregator_ = com.google.bigtable.admin.v2.Type.Aggregate.Sum.getDefaultInstance();
+ }
+ sumBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum,
+ com.google.bigtable.admin.v2.Type.Aggregate.Sum.Builder,
+ com.google.bigtable.admin.v2.Type.Aggregate.SumOrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Aggregate.Sum) aggregator_,
+ getParentForChildren(),
+ isClean());
+ aggregator_ = null;
+ }
+ aggregatorCase_ = 4;
+ onChanged();
+ return sumBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type.Aggregate)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type.Aggregate)
+ private static final com.google.bigtable.admin.v2.Type.Aggregate DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type.Aggregate();
+ }
+
+ public static com.google.bigtable.admin.v2.Type.Aggregate getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ @java.lang.Override
+ public boolean hasBytesType() {
+ return kindCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes getBytesType() {
+ if (kindCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder() {
+ if (kindCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ }
+
+ public static final int INT64_TYPE_FIELD_NUMBER = 5;
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return Whether the int64Type field is set.
+ */
+ @java.lang.Override
+ public boolean hasInt64Type() {
+ return kindCase_ == 5;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return The int64Type.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64 getInt64Type() {
+ if (kindCase_ == 5) {
+ return (com.google.bigtable.admin.v2.Type.Int64) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64OrBuilder getInt64TypeOrBuilder() {
+ if (kindCase_ == 5) {
+ return (com.google.bigtable.admin.v2.Type.Int64) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ }
+
+ public static final int AGGREGATE_TYPE_FIELD_NUMBER = 6;
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return Whether the aggregateType field is set.
+ */
+ @java.lang.Override
+ public boolean hasAggregateType() {
+ return kindCase_ == 6;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return The aggregateType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate getAggregateType() {
+ if (kindCase_ == 6) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.AggregateOrBuilder getAggregateTypeOrBuilder() {
+ if (kindCase_ == 6) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (kindCase_ == 1) {
+ output.writeMessage(1, (com.google.bigtable.admin.v2.Type.Bytes) kind_);
+ }
+ if (kindCase_ == 5) {
+ output.writeMessage(5, (com.google.bigtable.admin.v2.Type.Int64) kind_);
+ }
+ if (kindCase_ == 6) {
+ output.writeMessage(6, (com.google.bigtable.admin.v2.Type.Aggregate) kind_);
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (kindCase_ == 1) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 1, (com.google.bigtable.admin.v2.Type.Bytes) kind_);
+ }
+ if (kindCase_ == 5) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 5, (com.google.bigtable.admin.v2.Type.Int64) kind_);
+ }
+ if (kindCase_ == 6) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 6, (com.google.bigtable.admin.v2.Type.Aggregate) kind_);
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.admin.v2.Type)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.admin.v2.Type other = (com.google.bigtable.admin.v2.Type) obj;
+
+ if (!getKindCase().equals(other.getKindCase())) return false;
+ switch (kindCase_) {
+ case 1:
+ if (!getBytesType().equals(other.getBytesType())) return false;
+ break;
+ case 5:
+ if (!getInt64Type().equals(other.getInt64Type())) return false;
+ break;
+ case 6:
+ if (!getAggregateType().equals(other.getAggregateType())) return false;
+ break;
+ case 0:
+ default:
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (kindCase_) {
+ case 1:
+ hash = (37 * hash) + BYTES_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getBytesType().hashCode();
+ break;
+ case 5:
+ hash = (37 * hash) + INT64_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getInt64Type().hashCode();
+ break;
+ case 6:
+ hash = (37 * hash) + AGGREGATE_TYPE_FIELD_NUMBER;
+ hash = (53 * hash) + getAggregateType().hashCode();
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.admin.v2.Type parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.admin.v2.Type prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * `Type` represents the type of data that is written to, read from, or stored
+ * in Bigtable. It is heavily based on the GoogleSQL standard to help maintain
+ * familiarity and consistency across products and features.
+ *
+ * For compatibility with Bigtable's existing untyped APIs, each `Type` includes
+ * an `Encoding` which describes how to convert to/from the underlying data.
+ * This might involve composing a series of steps into an "encoding chain," for
+ * example to convert from INT64 -> STRING -> raw bytes. In most cases, a "link"
+ * in the encoding chain will be based an on existing GoogleSQL conversion
+ * function like `CAST`.
+ *
+ * Each link in the encoding chain also defines the following properties:
+ * * Natural sort: Does the encoded value sort consistently with the original
+ * typed value? Note that Bigtable will always sort data based on the raw
+ * encoded value, *not* the decoded type.
+ * - Example: STRING values sort in the same order as their UTF-8 encodings.
+ * - Counterexample: Encoding INT64 to a fixed-width STRING does *not*
+ * preserve sort order when dealing with negative numbers.
+ * INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
+ * - The overall encoding chain sorts naturally if *every* link does.
+ * * Self-delimiting: If we concatenate two encoded values, can we always tell
+ * where the first one ends and the second one begins?
+ * - Example: If we encode INT64s to fixed-width STRINGs, the first value
+ * will always contain exactly N digits, possibly preceded by a sign.
+ * - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have
+ * no way to tell where the first one ends.
+ * - The overall encoding chain is self-delimiting if *any* link is.
+ * * Compatibility: Which other systems have matching encoding schemes? For
+ * example, does this encoding have a GoogleSQL equivalent? HBase? Java?
+ *
+ *
+ * Protobuf type {@code google.bigtable.admin.v2.Type}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ @java.lang.Override
+ public boolean hasBytesType() {
+ return kindCase_ == 1;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Bytes getBytesType() {
+ if (bytesTypeBuilder_ == null) {
+ if (kindCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ } else {
+ if (kindCase_ == 1) {
+ return bytesTypeBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder setBytesType(com.google.bigtable.admin.v2.Type.Bytes value) {
+ if (bytesTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ kind_ = value;
+ onChanged();
+ } else {
+ bytesTypeBuilder_.setMessage(value);
+ }
+ kindCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder setBytesType(com.google.bigtable.admin.v2.Type.Bytes.Builder builderForValue) {
+ if (bytesTypeBuilder_ == null) {
+ kind_ = builderForValue.build();
+ onChanged();
+ } else {
+ bytesTypeBuilder_.setMessage(builderForValue.build());
+ }
+ kindCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder mergeBytesType(com.google.bigtable.admin.v2.Type.Bytes value) {
+ if (bytesTypeBuilder_ == null) {
+ if (kindCase_ == 1
+ && kind_ != com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance()) {
+ kind_ =
+ com.google.bigtable.admin.v2.Type.Bytes.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Bytes) kind_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ kind_ = value;
+ }
+ onChanged();
+ } else {
+ if (kindCase_ == 1) {
+ bytesTypeBuilder_.mergeFrom(value);
+ } else {
+ bytesTypeBuilder_.setMessage(value);
+ }
+ }
+ kindCase_ = 1;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public Builder clearBytesType() {
+ if (bytesTypeBuilder_ == null) {
+ if (kindCase_ == 1) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ } else {
+ if (kindCase_ == 1) {
+ kindCase_ = 0;
+ kind_ = null;
+ }
+ bytesTypeBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ public com.google.bigtable.admin.v2.Type.Bytes.Builder getBytesTypeBuilder() {
+ return getBytesTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder() {
+ if ((kindCase_ == 1) && (bytesTypeBuilder_ != null)) {
+ return bytesTypeBuilder_.getMessageOrBuilder();
+ } else {
+ if (kindCase_ == 1) {
+ return (com.google.bigtable.admin.v2.Type.Bytes) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes,
+ com.google.bigtable.admin.v2.Type.Bytes.Builder,
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder>
+ getBytesTypeFieldBuilder() {
+ if (bytesTypeBuilder_ == null) {
+ if (!(kindCase_ == 1)) {
+ kind_ = com.google.bigtable.admin.v2.Type.Bytes.getDefaultInstance();
+ }
+ bytesTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Bytes,
+ com.google.bigtable.admin.v2.Type.Bytes.Builder,
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Bytes) kind_, getParentForChildren(), isClean());
+ kind_ = null;
+ }
+ kindCase_ = 1;
+ onChanged();
+ return bytesTypeBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64,
+ com.google.bigtable.admin.v2.Type.Int64.Builder,
+ com.google.bigtable.admin.v2.Type.Int64OrBuilder>
+ int64TypeBuilder_;
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return Whether the int64Type field is set.
+ */
+ @java.lang.Override
+ public boolean hasInt64Type() {
+ return kindCase_ == 5;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return The int64Type.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64 getInt64Type() {
+ if (int64TypeBuilder_ == null) {
+ if (kindCase_ == 5) {
+ return (com.google.bigtable.admin.v2.Type.Int64) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ } else {
+ if (kindCase_ == 5) {
+ return int64TypeBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ public Builder setInt64Type(com.google.bigtable.admin.v2.Type.Int64 value) {
+ if (int64TypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ kind_ = value;
+ onChanged();
+ } else {
+ int64TypeBuilder_.setMessage(value);
+ }
+ kindCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ public Builder setInt64Type(com.google.bigtable.admin.v2.Type.Int64.Builder builderForValue) {
+ if (int64TypeBuilder_ == null) {
+ kind_ = builderForValue.build();
+ onChanged();
+ } else {
+ int64TypeBuilder_.setMessage(builderForValue.build());
+ }
+ kindCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ public Builder mergeInt64Type(com.google.bigtable.admin.v2.Type.Int64 value) {
+ if (int64TypeBuilder_ == null) {
+ if (kindCase_ == 5
+ && kind_ != com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance()) {
+ kind_ =
+ com.google.bigtable.admin.v2.Type.Int64.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Int64) kind_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ kind_ = value;
+ }
+ onChanged();
+ } else {
+ if (kindCase_ == 5) {
+ int64TypeBuilder_.mergeFrom(value);
+ } else {
+ int64TypeBuilder_.setMessage(value);
+ }
+ }
+ kindCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ public Builder clearInt64Type() {
+ if (int64TypeBuilder_ == null) {
+ if (kindCase_ == 5) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ } else {
+ if (kindCase_ == 5) {
+ kindCase_ = 0;
+ kind_ = null;
+ }
+ int64TypeBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ public com.google.bigtable.admin.v2.Type.Int64.Builder getInt64TypeBuilder() {
+ return getInt64TypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Int64OrBuilder getInt64TypeOrBuilder() {
+ if ((kindCase_ == 5) && (int64TypeBuilder_ != null)) {
+ return int64TypeBuilder_.getMessageOrBuilder();
+ } else {
+ if (kindCase_ == 5) {
+ return (com.google.bigtable.admin.v2.Type.Int64) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64,
+ com.google.bigtable.admin.v2.Type.Int64.Builder,
+ com.google.bigtable.admin.v2.Type.Int64OrBuilder>
+ getInt64TypeFieldBuilder() {
+ if (int64TypeBuilder_ == null) {
+ if (!(kindCase_ == 5)) {
+ kind_ = com.google.bigtable.admin.v2.Type.Int64.getDefaultInstance();
+ }
+ int64TypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Int64,
+ com.google.bigtable.admin.v2.Type.Int64.Builder,
+ com.google.bigtable.admin.v2.Type.Int64OrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Int64) kind_, getParentForChildren(), isClean());
+ kind_ = null;
+ }
+ kindCase_ = 5;
+ onChanged();
+ return int64TypeBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate,
+ com.google.bigtable.admin.v2.Type.Aggregate.Builder,
+ com.google.bigtable.admin.v2.Type.AggregateOrBuilder>
+ aggregateTypeBuilder_;
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return Whether the aggregateType field is set.
+ */
+ @java.lang.Override
+ public boolean hasAggregateType() {
+ return kindCase_ == 6;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return The aggregateType.
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.Aggregate getAggregateType() {
+ if (aggregateTypeBuilder_ == null) {
+ if (kindCase_ == 6) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ } else {
+ if (kindCase_ == 6) {
+ return aggregateTypeBuilder_.getMessage();
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ public Builder setAggregateType(com.google.bigtable.admin.v2.Type.Aggregate value) {
+ if (aggregateTypeBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ kind_ = value;
+ onChanged();
+ } else {
+ aggregateTypeBuilder_.setMessage(value);
+ }
+ kindCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ public Builder setAggregateType(
+ com.google.bigtable.admin.v2.Type.Aggregate.Builder builderForValue) {
+ if (aggregateTypeBuilder_ == null) {
+ kind_ = builderForValue.build();
+ onChanged();
+ } else {
+ aggregateTypeBuilder_.setMessage(builderForValue.build());
+ }
+ kindCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ public Builder mergeAggregateType(com.google.bigtable.admin.v2.Type.Aggregate value) {
+ if (aggregateTypeBuilder_ == null) {
+ if (kindCase_ == 6
+ && kind_ != com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance()) {
+ kind_ =
+ com.google.bigtable.admin.v2.Type.Aggregate.newBuilder(
+ (com.google.bigtable.admin.v2.Type.Aggregate) kind_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ kind_ = value;
+ }
+ onChanged();
+ } else {
+ if (kindCase_ == 6) {
+ aggregateTypeBuilder_.mergeFrom(value);
+ } else {
+ aggregateTypeBuilder_.setMessage(value);
+ }
+ }
+ kindCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ public Builder clearAggregateType() {
+ if (aggregateTypeBuilder_ == null) {
+ if (kindCase_ == 6) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ } else {
+ if (kindCase_ == 6) {
+ kindCase_ = 0;
+ kind_ = null;
+ }
+ aggregateTypeBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ public com.google.bigtable.admin.v2.Type.Aggregate.Builder getAggregateTypeBuilder() {
+ return getAggregateTypeFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ @java.lang.Override
+ public com.google.bigtable.admin.v2.Type.AggregateOrBuilder getAggregateTypeOrBuilder() {
+ if ((kindCase_ == 6) && (aggregateTypeBuilder_ != null)) {
+ return aggregateTypeBuilder_.getMessageOrBuilder();
+ } else {
+ if (kindCase_ == 6) {
+ return (com.google.bigtable.admin.v2.Type.Aggregate) kind_;
+ }
+ return com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate,
+ com.google.bigtable.admin.v2.Type.Aggregate.Builder,
+ com.google.bigtable.admin.v2.Type.AggregateOrBuilder>
+ getAggregateTypeFieldBuilder() {
+ if (aggregateTypeBuilder_ == null) {
+ if (!(kindCase_ == 6)) {
+ kind_ = com.google.bigtable.admin.v2.Type.Aggregate.getDefaultInstance();
+ }
+ aggregateTypeBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.admin.v2.Type.Aggregate,
+ com.google.bigtable.admin.v2.Type.Aggregate.Builder,
+ com.google.bigtable.admin.v2.Type.AggregateOrBuilder>(
+ (com.google.bigtable.admin.v2.Type.Aggregate) kind_,
+ getParentForChildren(),
+ isClean());
+ kind_ = null;
+ }
+ kindCase_ = 6;
+ onChanged();
+ return aggregateTypeBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.admin.v2.Type)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.admin.v2.Type)
+ private static final com.google.bigtable.admin.v2.Type DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.admin.v2.Type();
+ }
+
+ public static com.google.bigtable.admin.v2.Type getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return Whether the bytesType field is set.
+ */
+ boolean hasBytesType();
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ *
+ * @return The bytesType.
+ */
+ com.google.bigtable.admin.v2.Type.Bytes getBytesType();
+ /**
+ *
+ *
+ *
+ * Bytes
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Bytes bytes_type = 1;
+ */
+ com.google.bigtable.admin.v2.Type.BytesOrBuilder getBytesTypeOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return Whether the int64Type field is set.
+ */
+ boolean hasInt64Type();
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ *
+ * @return The int64Type.
+ */
+ com.google.bigtable.admin.v2.Type.Int64 getInt64Type();
+ /**
+ *
+ *
+ *
+ * Int64
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Int64 int64_type = 5;
+ */
+ com.google.bigtable.admin.v2.Type.Int64OrBuilder getInt64TypeOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return Whether the aggregateType field is set.
+ */
+ boolean hasAggregateType();
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ *
+ * @return The aggregateType.
+ */
+ com.google.bigtable.admin.v2.Type.Aggregate getAggregateType();
+ /**
+ *
+ *
+ *
+ * Aggregate
+ *
+ *
+ * .google.bigtable.admin.v2.Type.Aggregate aggregate_type = 6;
+ */
+ com.google.bigtable.admin.v2.Type.AggregateOrBuilder getAggregateTypeOrBuilder();
+
+ com.google.bigtable.admin.v2.Type.KindCase getKindCase();
+}
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TypesProto.java b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TypesProto.java
new file mode 100644
index 0000000000..5afcae0d83
--- /dev/null
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/java/com/google/bigtable/admin/v2/TypesProto.java
@@ -0,0 +1,194 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/bigtable/admin/v2/types.proto
+
+// Protobuf Java Version: 3.25.2
+package com.google.bigtable.admin.v2;
+
+public final class TypesProto {
+ private TypesProto() {}
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Bytes_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Bytes_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Int64_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Int64_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_fieldAccessorTable;
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
+
+ static {
+ java.lang.String[] descriptorData = {
+ "\n$google/bigtable/admin/v2/types.proto\022\030"
+ + "google.bigtable.admin.v2\032\037google/api/fie"
+ + "ld_behavior.proto\"\315\006\n\004Type\022:\n\nbytes_type"
+ + "\030\001 \001(\0132$.google.bigtable.admin.v2.Type.B"
+ + "ytesH\000\022:\n\nint64_type\030\005 \001(\0132$.google.bigt"
+ + "able.admin.v2.Type.Int64H\000\022B\n\016aggregate_"
+ + "type\030\006 \001(\0132(.google.bigtable.admin.v2.Ty"
+ + "pe.AggregateH\000\032\251\001\n\005Bytes\022?\n\010encoding\030\001 \001"
+ + "(\0132-.google.bigtable.admin.v2.Type.Bytes"
+ + ".Encoding\032_\n\010Encoding\022@\n\003raw\030\001 \001(\01321.goo"
+ + "gle.bigtable.admin.v2.Type.Bytes.Encodin"
+ + "g.RawH\000\032\005\n\003RawB\n\n\010encoding\032\207\002\n\005Int64\022?\n\010"
+ + "encoding\030\001 \001(\0132-.google.bigtable.admin.v"
+ + "2.Type.Int64.Encoding\032\274\001\n\010Encoding\022X\n\020bi"
+ + "g_endian_bytes\030\001 \001(\0132<.google.bigtable.a"
+ + "dmin.v2.Type.Int64.Encoding.BigEndianByt"
+ + "esH\000\032J\n\016BigEndianBytes\0228\n\nbytes_type\030\001 \001"
+ + "(\0132$.google.bigtable.admin.v2.Type.Bytes"
+ + "B\n\n\010encoding\032\312\001\n\tAggregate\0222\n\ninput_type"
+ + "\030\001 \001(\0132\036.google.bigtable.admin.v2.Type\0227"
+ + "\n\nstate_type\030\002 \001(\0132\036.google.bigtable.adm"
+ + "in.v2.TypeB\003\340A\003\022;\n\003sum\030\004 \001(\0132,.google.bi"
+ + "gtable.admin.v2.Type.Aggregate.SumH\000\032\005\n\003"
+ + "SumB\014\n\naggregatorB\006\n\004kindB\322\001\n\034com.google"
+ + ".bigtable.admin.v2B\nTypesProtoP\001Z=google"
+ + ".golang.org/genproto/googleapis/bigtable"
+ + "/admin/v2;admin\252\002\036Google.Cloud.Bigtable."
+ + "Admin.V2\312\002\036Google\\Cloud\\Bigtable\\Admin\\V"
+ + "2\352\002\"Google::Cloud::Bigtable::Admin::V2b\006"
+ + "proto3"
+ };
+ descriptor =
+ com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
+ descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.api.FieldBehaviorProto.getDescriptor(),
+ });
+ internal_static_google_bigtable_admin_v2_Type_descriptor =
+ getDescriptor().getMessageTypes().get(0);
+ internal_static_google_bigtable_admin_v2_Type_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_descriptor,
+ new java.lang.String[] {
+ "BytesType", "Int64Type", "AggregateType", "Kind",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Bytes_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_descriptor.getNestedTypes().get(0);
+ internal_static_google_bigtable_admin_v2_Type_Bytes_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Bytes_descriptor,
+ new java.lang.String[] {
+ "Encoding",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_Bytes_descriptor.getNestedTypes().get(0);
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_descriptor,
+ new java.lang.String[] {
+ "Raw", "Encoding",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_descriptor
+ .getNestedTypes()
+ .get(0);
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Bytes_Encoding_Raw_descriptor,
+ new java.lang.String[] {});
+ internal_static_google_bigtable_admin_v2_Type_Int64_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_descriptor.getNestedTypes().get(1);
+ internal_static_google_bigtable_admin_v2_Type_Int64_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Int64_descriptor,
+ new java.lang.String[] {
+ "Encoding",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_Int64_descriptor.getNestedTypes().get(0);
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_descriptor,
+ new java.lang.String[] {
+ "BigEndianBytes", "Encoding",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_descriptor
+ .getNestedTypes()
+ .get(0);
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Int64_Encoding_BigEndianBytes_descriptor,
+ new java.lang.String[] {
+ "BytesType",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_descriptor.getNestedTypes().get(2);
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_descriptor,
+ new java.lang.String[] {
+ "InputType", "StateType", "Sum", "Aggregator",
+ });
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_descriptor =
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_descriptor.getNestedTypes().get(0);
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_bigtable_admin_v2_Type_Aggregate_Sum_descriptor,
+ new java.lang.String[] {});
+ com.google.protobuf.ExtensionRegistry registry =
+ com.google.protobuf.ExtensionRegistry.newInstance();
+ registry.add(com.google.api.FieldBehaviorProto.fieldBehavior);
+ com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor(
+ descriptor, registry);
+ com.google.api.FieldBehaviorProto.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto
index 0a2bde9d57..9d5a38b073 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/bigtable_table_admin.proto
@@ -771,6 +771,12 @@ message ModifyColumnFamiliesRequest {
// family exists.
bool drop = 4;
}
+
+ // Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
+ // mod should be updated, ignored for other modification types. If unset or
+ // empty, we treat it as updating `gc_rule` to be backward compatible.
+ google.protobuf.FieldMask update_mask = 6
+ [(google.api.field_behavior) = OPTIONAL];
}
// Required. The unique name of the table whose families should be modified.
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto
index beb103e106..a23fe70798 100644
--- a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/table.proto
@@ -18,6 +18,7 @@ package google.bigtable.admin.v2;
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
+import "google/bigtable/admin/v2/types.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
import "google/rpc/status.proto";
@@ -268,6 +269,18 @@ message ColumnFamily {
// so it's possible for reads to return a cell even if it matches the active
// GC expression for its family.
GcRule gc_rule = 1;
+
+ // The type of data stored in each of this family's cell values, including its
+ // full encoding. If omitted, the family only serves raw untyped bytes.
+ //
+ // For now, only the `Aggregate` type is supported.
+ //
+ // `Aggregate` can only be set at family creation and is immutable afterwards.
+ //
+ //
+ // If `value_type` is `Aggregate`, written data must be compatible with:
+ // * `value_type.input_type` for `AddInput` mutations
+ Type value_type = 3;
}
// Rule for determining which cells to delete during garbage collection.
diff --git a/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/types.proto b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/types.proto
new file mode 100644
index 0000000000..12c9f180e9
--- /dev/null
+++ b/proto-google-cloud-bigtable-admin-v2/src/main/proto/google/bigtable/admin/v2/types.proto
@@ -0,0 +1,149 @@
+// Copyright 2023 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.bigtable.admin.v2;
+
+import "google/api/field_behavior.proto";
+
+option csharp_namespace = "Google.Cloud.Bigtable.Admin.V2";
+option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/v2;admin";
+option java_multiple_files = true;
+option java_outer_classname = "TypesProto";
+option java_package = "com.google.bigtable.admin.v2";
+option php_namespace = "Google\\Cloud\\Bigtable\\Admin\\V2";
+option ruby_package = "Google::Cloud::Bigtable::Admin::V2";
+
+// `Type` represents the type of data that is written to, read from, or stored
+// in Bigtable. It is heavily based on the GoogleSQL standard to help maintain
+// familiarity and consistency across products and features.
+//
+// For compatibility with Bigtable's existing untyped APIs, each `Type` includes
+// an `Encoding` which describes how to convert to/from the underlying data.
+// This might involve composing a series of steps into an "encoding chain," for
+// example to convert from INT64 -> STRING -> raw bytes. In most cases, a "link"
+// in the encoding chain will be based an on existing GoogleSQL conversion
+// function like `CAST`.
+//
+// Each link in the encoding chain also defines the following properties:
+// * Natural sort: Does the encoded value sort consistently with the original
+// typed value? Note that Bigtable will always sort data based on the raw
+// encoded value, *not* the decoded type.
+// - Example: STRING values sort in the same order as their UTF-8 encodings.
+// - Counterexample: Encoding INT64 to a fixed-width STRING does *not*
+// preserve sort order when dealing with negative numbers.
+// INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
+// - The overall encoding chain sorts naturally if *every* link does.
+// * Self-delimiting: If we concatenate two encoded values, can we always tell
+// where the first one ends and the second one begins?
+// - Example: If we encode INT64s to fixed-width STRINGs, the first value
+// will always contain exactly N digits, possibly preceded by a sign.
+// - Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have
+// no way to tell where the first one ends.
+// - The overall encoding chain is self-delimiting if *any* link is.
+// * Compatibility: Which other systems have matching encoding schemes? For
+// example, does this encoding have a GoogleSQL equivalent? HBase? Java?
+message Type {
+ // Bytes
+ // Values of type `Bytes` are stored in `Value.bytes_value`.
+ message Bytes {
+ // Rules used to convert to/from lower level types.
+ message Encoding {
+ // Leaves the value "as-is"
+ // * Natural sort? Yes
+ // * Self-delimiting? No
+ // * Compatibility? N/A
+ message Raw {}
+
+ // Which encoding to use.
+ oneof encoding {
+ // Use `Raw` encoding.
+ Raw raw = 1;
+ }
+ }
+
+ // The encoding to use when converting to/from lower level types.
+ Encoding encoding = 1;
+ }
+
+ // Int64
+ // Values of type `Int64` are stored in `Value.int_value`.
+ message Int64 {
+ // Rules used to convert to/from lower level types.
+ message Encoding {
+ // Encodes the value as an 8-byte big endian twos complement `Bytes`
+ // value.
+ // * Natural sort? No (positive values only)
+ // * Self-delimiting? Yes
+ // * Compatibility?
+ // - BigQuery Federation `BINARY` encoding
+ // - HBase `Bytes.toBytes`
+ // - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
+ message BigEndianBytes {
+ // The underlying `Bytes` type, which may be able to encode further.
+ Bytes bytes_type = 1;
+ }
+
+ // Which encoding to use.
+ oneof encoding {
+ // Use `BigEndianBytes` encoding.
+ BigEndianBytes big_endian_bytes = 1;
+ }
+ }
+
+ // The encoding to use when converting to/from lower level types.
+ Encoding encoding = 1;
+ }
+
+ // A value that combines incremental updates into a summarized value.
+ //
+ // Data is never directly written or read using type `Aggregate`. Writes will
+ // provide either the `input_type` or `state_type`, and reads will always
+ // return the `state_type` .
+ message Aggregate {
+ // Computes the sum of the input values.
+ // Allowed input: `Int64`
+ // State: same as input
+ message Sum {}
+
+ // Type of the inputs that are accumulated by this `Aggregate`, which must
+ // specify a full encoding.
+ // Use `AddInput` mutations to accumulate new inputs.
+ Type input_type = 1;
+
+ // Output only. Type that holds the internal accumulator state for the
+ // `Aggregate`. This is a function of the `input_type` and `aggregator`
+ // chosen, and will always specify a full encoding.
+ Type state_type = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Which aggregator function to use. The configured types must match.
+ oneof aggregator {
+ // Sum aggregator.
+ Sum sum = 4;
+ }
+ }
+
+ // The kind of type that this represents.
+ oneof kind {
+ // Bytes
+ Bytes bytes_type = 1;
+
+ // Int64
+ Int64 int64_type = 5;
+
+ // Aggregate
+ Aggregate aggregate_type = 6;
+ }
+}
diff --git a/proto-google-cloud-bigtable-v2/pom.xml b/proto-google-cloud-bigtable-v2/pom.xml
index f366279e74..394e2f26aa 100644
--- a/proto-google-cloud-bigtable-v2/pom.xml
+++ b/proto-google-cloud-bigtable-v2/pom.xml
@@ -4,13 +4,13 @@
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The familyName.
+ */
+ java.lang.String getFamilyName();
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The bytes for familyName.
+ */
+ com.google.protobuf.ByteString getFamilyNameBytes();
+
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return Whether the columnQualifier field is set.
+ */
+ boolean hasColumnQualifier();
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return The columnQualifier.
+ */
+ com.google.bigtable.v2.Value getColumnQualifier();
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ com.google.bigtable.v2.ValueOrBuilder getColumnQualifierOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return Whether the timestamp field is set.
+ */
+ boolean hasTimestamp();
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return The timestamp.
+ */
+ com.google.bigtable.v2.Value getTimestamp();
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ com.google.bigtable.v2.ValueOrBuilder getTimestampOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return Whether the input field is set.
+ */
+ boolean hasInput();
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return The input.
+ */
+ com.google.bigtable.v2.Value getInput();
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ com.google.bigtable.v2.ValueOrBuilder getInputOrBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * A Mutation which incrementally updates a cell in an `Aggregate` family.
+ *
+ *
+ * Protobuf type {@code google.bigtable.v2.Mutation.AddToCell}
+ */
+ public static final class AddToCell extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.v2.Mutation.AddToCell)
+ AddToCellOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use AddToCell.newBuilder() to construct.
+ private AddToCell(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private AddToCell() {
+ familyName_ = "";
+ }
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new AddToCell();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.v2.DataProto
+ .internal_static_google_bigtable_v2_Mutation_AddToCell_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.v2.DataProto
+ .internal_static_google_bigtable_v2_Mutation_AddToCell_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.v2.Mutation.AddToCell.class,
+ com.google.bigtable.v2.Mutation.AddToCell.Builder.class);
+ }
+
+ private int bitField0_;
+ public static final int FAMILY_NAME_FIELD_NUMBER = 1;
+
+ @SuppressWarnings("serial")
+ private volatile java.lang.Object familyName_ = "";
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The familyName.
+ */
+ @java.lang.Override
+ public java.lang.String getFamilyName() {
+ java.lang.Object ref = familyName_;
+ if (ref instanceof java.lang.String) {
+ return (java.lang.String) ref;
+ } else {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ familyName_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The bytes for familyName.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getFamilyNameBytes() {
+ java.lang.Object ref = familyName_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ familyName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int COLUMN_QUALIFIER_FIELD_NUMBER = 2;
+ private com.google.bigtable.v2.Value columnQualifier_;
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return Whether the columnQualifier field is set.
+ */
+ @java.lang.Override
+ public boolean hasColumnQualifier() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return The columnQualifier.
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Value getColumnQualifier() {
+ return columnQualifier_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : columnQualifier_;
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.ValueOrBuilder getColumnQualifierOrBuilder() {
+ return columnQualifier_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : columnQualifier_;
+ }
+
+ public static final int TIMESTAMP_FIELD_NUMBER = 3;
+ private com.google.bigtable.v2.Value timestamp_;
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return Whether the timestamp field is set.
+ */
+ @java.lang.Override
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return The timestamp.
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Value getTimestamp() {
+ return timestamp_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : timestamp_;
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.ValueOrBuilder getTimestampOrBuilder() {
+ return timestamp_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : timestamp_;
+ }
+
+ public static final int INPUT_FIELD_NUMBER = 4;
+ private com.google.bigtable.v2.Value input_;
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return Whether the input field is set.
+ */
+ @java.lang.Override
+ public boolean hasInput() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return The input.
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Value getInput() {
+ return input_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : input_;
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.ValueOrBuilder getInputOrBuilder() {
+ return input_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : input_;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(familyName_)) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, familyName_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeMessage(2, getColumnQualifier());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ output.writeMessage(3, getTimestamp());
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ output.writeMessage(4, getInput());
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(familyName_)) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, familyName_);
+ }
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getColumnQualifier());
+ }
+ if (((bitField0_ & 0x00000002) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getTimestamp());
+ }
+ if (((bitField0_ & 0x00000004) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getInput());
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.v2.Mutation.AddToCell)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.v2.Mutation.AddToCell other =
+ (com.google.bigtable.v2.Mutation.AddToCell) obj;
+
+ if (!getFamilyName().equals(other.getFamilyName())) return false;
+ if (hasColumnQualifier() != other.hasColumnQualifier()) return false;
+ if (hasColumnQualifier()) {
+ if (!getColumnQualifier().equals(other.getColumnQualifier())) return false;
+ }
+ if (hasTimestamp() != other.hasTimestamp()) return false;
+ if (hasTimestamp()) {
+ if (!getTimestamp().equals(other.getTimestamp())) return false;
+ }
+ if (hasInput() != other.hasInput()) return false;
+ if (hasInput()) {
+ if (!getInput().equals(other.getInput())) return false;
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ hash = (37 * hash) + FAMILY_NAME_FIELD_NUMBER;
+ hash = (53 * hash) + getFamilyName().hashCode();
+ if (hasColumnQualifier()) {
+ hash = (37 * hash) + COLUMN_QUALIFIER_FIELD_NUMBER;
+ hash = (53 * hash) + getColumnQualifier().hashCode();
+ }
+ if (hasTimestamp()) {
+ hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
+ hash = (53 * hash) + getTimestamp().hashCode();
+ }
+ if (hasInput()) {
+ hash = (37 * hash) + INPUT_FIELD_NUMBER;
+ hash = (53 * hash) + getInput().hashCode();
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseDelimitedFrom(
+ java.io.InputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ com.google.protobuf.CodedInputStream input) throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.v2.Mutation.AddToCell prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(
+ com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * A Mutation which incrementally updates a cell in an `Aggregate` family.
+ *
+ *
+ * Protobuf type {@code google.bigtable.v2.Mutation.AddToCell}
+ */
+ public static final class Builder
+ extends com.google.protobuf.GeneratedMessageV3.Builder
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The familyName.
+ */
+ public java.lang.String getFamilyName() {
+ java.lang.Object ref = familyName_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ familyName_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return The bytes for familyName.
+ */
+ public com.google.protobuf.ByteString getFamilyNameBytes() {
+ java.lang.Object ref = familyName_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ familyName_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @param value The familyName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFamilyName(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ familyName_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearFamilyName() {
+ familyName_ = getDefaultInstance().getFamilyName();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The name of the `Aggregate` family into which new data should be added.
+ * This must be a family with a `value_type` of `Aggregate`.
+ * Format: `[-_.a-zA-Z0-9]+`
+ *
+ *
+ * string family_name = 1;
+ *
+ * @param value The bytes for familyName to set.
+ * @return This builder for chaining.
+ */
+ public Builder setFamilyNameBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ familyName_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ private com.google.bigtable.v2.Value columnQualifier_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ columnQualifierBuilder_;
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return Whether the columnQualifier field is set.
+ */
+ public boolean hasColumnQualifier() {
+ return ((bitField0_ & 0x00000002) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ *
+ * @return The columnQualifier.
+ */
+ public com.google.bigtable.v2.Value getColumnQualifier() {
+ if (columnQualifierBuilder_ == null) {
+ return columnQualifier_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : columnQualifier_;
+ } else {
+ return columnQualifierBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public Builder setColumnQualifier(com.google.bigtable.v2.Value value) {
+ if (columnQualifierBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ columnQualifier_ = value;
+ } else {
+ columnQualifierBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public Builder setColumnQualifier(com.google.bigtable.v2.Value.Builder builderForValue) {
+ if (columnQualifierBuilder_ == null) {
+ columnQualifier_ = builderForValue.build();
+ } else {
+ columnQualifierBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public Builder mergeColumnQualifier(com.google.bigtable.v2.Value value) {
+ if (columnQualifierBuilder_ == null) {
+ if (((bitField0_ & 0x00000002) != 0)
+ && columnQualifier_ != null
+ && columnQualifier_ != com.google.bigtable.v2.Value.getDefaultInstance()) {
+ getColumnQualifierBuilder().mergeFrom(value);
+ } else {
+ columnQualifier_ = value;
+ }
+ } else {
+ columnQualifierBuilder_.mergeFrom(value);
+ }
+ if (columnQualifier_ != null) {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public Builder clearColumnQualifier() {
+ bitField0_ = (bitField0_ & ~0x00000002);
+ columnQualifier_ = null;
+ if (columnQualifierBuilder_ != null) {
+ columnQualifierBuilder_.dispose();
+ columnQualifierBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public com.google.bigtable.v2.Value.Builder getColumnQualifierBuilder() {
+ bitField0_ |= 0x00000002;
+ onChanged();
+ return getColumnQualifierFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ public com.google.bigtable.v2.ValueOrBuilder getColumnQualifierOrBuilder() {
+ if (columnQualifierBuilder_ != null) {
+ return columnQualifierBuilder_.getMessageOrBuilder();
+ } else {
+ return columnQualifier_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : columnQualifier_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The qualifier of the column into which new data should be added. This
+ * must be a `raw_value`.
+ *
+ *
+ * .google.bigtable.v2.Value column_qualifier = 2;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ getColumnQualifierFieldBuilder() {
+ if (columnQualifierBuilder_ == null) {
+ columnQualifierBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>(
+ getColumnQualifier(), getParentForChildren(), isClean());
+ columnQualifier_ = null;
+ }
+ return columnQualifierBuilder_;
+ }
+
+ private com.google.bigtable.v2.Value timestamp_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ timestampBuilder_;
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return Whether the timestamp field is set.
+ */
+ public boolean hasTimestamp() {
+ return ((bitField0_ & 0x00000004) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ *
+ * @return The timestamp.
+ */
+ public com.google.bigtable.v2.Value getTimestamp() {
+ if (timestampBuilder_ == null) {
+ return timestamp_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : timestamp_;
+ } else {
+ return timestampBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public Builder setTimestamp(com.google.bigtable.v2.Value value) {
+ if (timestampBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ timestamp_ = value;
+ } else {
+ timestampBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public Builder setTimestamp(com.google.bigtable.v2.Value.Builder builderForValue) {
+ if (timestampBuilder_ == null) {
+ timestamp_ = builderForValue.build();
+ } else {
+ timestampBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public Builder mergeTimestamp(com.google.bigtable.v2.Value value) {
+ if (timestampBuilder_ == null) {
+ if (((bitField0_ & 0x00000004) != 0)
+ && timestamp_ != null
+ && timestamp_ != com.google.bigtable.v2.Value.getDefaultInstance()) {
+ getTimestampBuilder().mergeFrom(value);
+ } else {
+ timestamp_ = value;
+ }
+ } else {
+ timestampBuilder_.mergeFrom(value);
+ }
+ if (timestamp_ != null) {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public Builder clearTimestamp() {
+ bitField0_ = (bitField0_ & ~0x00000004);
+ timestamp_ = null;
+ if (timestampBuilder_ != null) {
+ timestampBuilder_.dispose();
+ timestampBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public com.google.bigtable.v2.Value.Builder getTimestampBuilder() {
+ bitField0_ |= 0x00000004;
+ onChanged();
+ return getTimestampFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ public com.google.bigtable.v2.ValueOrBuilder getTimestampOrBuilder() {
+ if (timestampBuilder_ != null) {
+ return timestampBuilder_.getMessageOrBuilder();
+ } else {
+ return timestamp_ == null
+ ? com.google.bigtable.v2.Value.getDefaultInstance()
+ : timestamp_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The timestamp of the cell to which new data should be added. This must
+ * be a `raw_timestamp_micros` that matches the table's `granularity`.
+ *
+ *
+ * .google.bigtable.v2.Value timestamp = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ getTimestampFieldBuilder() {
+ if (timestampBuilder_ == null) {
+ timestampBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>(
+ getTimestamp(), getParentForChildren(), isClean());
+ timestamp_ = null;
+ }
+ return timestampBuilder_;
+ }
+
+ private com.google.bigtable.v2.Value input_;
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ inputBuilder_;
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return Whether the input field is set.
+ */
+ public boolean hasInput() {
+ return ((bitField0_ & 0x00000008) != 0);
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ *
+ * @return The input.
+ */
+ public com.google.bigtable.v2.Value getInput() {
+ if (inputBuilder_ == null) {
+ return input_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : input_;
+ } else {
+ return inputBuilder_.getMessage();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public Builder setInput(com.google.bigtable.v2.Value value) {
+ if (inputBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ input_ = value;
+ } else {
+ inputBuilder_.setMessage(value);
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public Builder setInput(com.google.bigtable.v2.Value.Builder builderForValue) {
+ if (inputBuilder_ == null) {
+ input_ = builderForValue.build();
+ } else {
+ inputBuilder_.setMessage(builderForValue.build());
+ }
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public Builder mergeInput(com.google.bigtable.v2.Value value) {
+ if (inputBuilder_ == null) {
+ if (((bitField0_ & 0x00000008) != 0)
+ && input_ != null
+ && input_ != com.google.bigtable.v2.Value.getDefaultInstance()) {
+ getInputBuilder().mergeFrom(value);
+ } else {
+ input_ = value;
+ }
+ } else {
+ inputBuilder_.mergeFrom(value);
+ }
+ if (input_ != null) {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public Builder clearInput() {
+ bitField0_ = (bitField0_ & ~0x00000008);
+ input_ = null;
+ if (inputBuilder_ != null) {
+ inputBuilder_.dispose();
+ inputBuilder_ = null;
+ }
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public com.google.bigtable.v2.Value.Builder getInputBuilder() {
+ bitField0_ |= 0x00000008;
+ onChanged();
+ return getInputFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ public com.google.bigtable.v2.ValueOrBuilder getInputOrBuilder() {
+ if (inputBuilder_ != null) {
+ return inputBuilder_.getMessageOrBuilder();
+ } else {
+ return input_ == null ? com.google.bigtable.v2.Value.getDefaultInstance() : input_;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * The input value to be accumulated into the specified cell. This must be
+ * compatible with the family's `value_type.input_type`.
+ *
+ *
+ * .google.bigtable.v2.Value input = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>
+ getInputFieldBuilder() {
+ if (inputBuilder_ == null) {
+ inputBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Value,
+ com.google.bigtable.v2.Value.Builder,
+ com.google.bigtable.v2.ValueOrBuilder>(
+ getInput(), getParentForChildren(), isClean());
+ input_ = null;
+ }
+ return inputBuilder_;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.v2.Mutation.AddToCell)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.v2.Mutation.AddToCell)
+ private static final com.google.bigtable.v2.Mutation.AddToCell DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.v2.Mutation.AddToCell();
+ }
+
+ public static com.google.bigtable.v2.Mutation.AddToCell getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return Whether the addToCell field is set.
+ */
+ @java.lang.Override
+ public boolean hasAddToCell() {
+ return mutationCase_ == 5;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return The addToCell.
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Mutation.AddToCell getAddToCell() {
+ if (mutationCase_ == 5) {
+ return (com.google.bigtable.v2.Mutation.AddToCell) mutation_;
+ }
+ return com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Mutation.AddToCellOrBuilder getAddToCellOrBuilder() {
+ if (mutationCase_ == 5) {
+ return (com.google.bigtable.v2.Mutation.AddToCell) mutation_;
+ }
+ return com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ }
+
public static final int DELETE_FROM_COLUMN_FIELD_NUMBER = 2;
/**
*
@@ -3495,6 +5162,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (mutationCase_ == 4) {
output.writeMessage(4, (com.google.bigtable.v2.Mutation.DeleteFromRow) mutation_);
}
+ if (mutationCase_ == 5) {
+ output.writeMessage(5, (com.google.bigtable.v2.Mutation.AddToCell) mutation_);
+ }
getUnknownFields().writeTo(output);
}
@@ -3524,6 +5194,11 @@ public int getSerializedSize() {
com.google.protobuf.CodedOutputStream.computeMessageSize(
4, (com.google.bigtable.v2.Mutation.DeleteFromRow) mutation_);
}
+ if (mutationCase_ == 5) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeMessageSize(
+ 5, (com.google.bigtable.v2.Mutation.AddToCell) mutation_);
+ }
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
@@ -3544,6 +5219,9 @@ public boolean equals(final java.lang.Object obj) {
case 1:
if (!getSetCell().equals(other.getSetCell())) return false;
break;
+ case 5:
+ if (!getAddToCell().equals(other.getAddToCell())) return false;
+ break;
case 2:
if (!getDeleteFromColumn().equals(other.getDeleteFromColumn())) return false;
break;
@@ -3572,6 +5250,10 @@ public int hashCode() {
hash = (37 * hash) + SET_CELL_FIELD_NUMBER;
hash = (53 * hash) + getSetCell().hashCode();
break;
+ case 5:
+ hash = (37 * hash) + ADD_TO_CELL_FIELD_NUMBER;
+ hash = (53 * hash) + getAddToCell().hashCode();
+ break;
case 2:
hash = (37 * hash) + DELETE_FROM_COLUMN_FIELD_NUMBER;
hash = (53 * hash) + getDeleteFromColumn().hashCode();
@@ -3727,6 +5409,9 @@ public Builder clear() {
if (setCellBuilder_ != null) {
setCellBuilder_.clear();
}
+ if (addToCellBuilder_ != null) {
+ addToCellBuilder_.clear();
+ }
if (deleteFromColumnBuilder_ != null) {
deleteFromColumnBuilder_.clear();
}
@@ -3782,6 +5467,9 @@ private void buildPartialOneofs(com.google.bigtable.v2.Mutation result) {
if (mutationCase_ == 1 && setCellBuilder_ != null) {
result.mutation_ = setCellBuilder_.build();
}
+ if (mutationCase_ == 5 && addToCellBuilder_ != null) {
+ result.mutation_ = addToCellBuilder_.build();
+ }
if (mutationCase_ == 2 && deleteFromColumnBuilder_ != null) {
result.mutation_ = deleteFromColumnBuilder_.build();
}
@@ -3844,6 +5532,11 @@ public Builder mergeFrom(com.google.bigtable.v2.Mutation other) {
mergeSetCell(other.getSetCell());
break;
}
+ case ADD_TO_CELL:
+ {
+ mergeAddToCell(other.getAddToCell());
+ break;
+ }
case DELETE_FROM_COLUMN:
{
mergeDeleteFromColumn(other.getDeleteFromColumn());
@@ -3916,6 +5609,12 @@ public Builder mergeFrom(
mutationCase_ = 4;
break;
} // case 34
+ case 42:
+ {
+ input.readMessage(getAddToCellFieldBuilder().getBuilder(), extensionRegistry);
+ mutationCase_ = 5;
+ break;
+ } // case 42
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
@@ -4157,6 +5856,214 @@ public com.google.bigtable.v2.Mutation.SetCellOrBuilder getSetCellOrBuilder() {
return setCellBuilder_;
}
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Mutation.AddToCell,
+ com.google.bigtable.v2.Mutation.AddToCell.Builder,
+ com.google.bigtable.v2.Mutation.AddToCellOrBuilder>
+ addToCellBuilder_;
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return Whether the addToCell field is set.
+ */
+ @java.lang.Override
+ public boolean hasAddToCell() {
+ return mutationCase_ == 5;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return The addToCell.
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Mutation.AddToCell getAddToCell() {
+ if (addToCellBuilder_ == null) {
+ if (mutationCase_ == 5) {
+ return (com.google.bigtable.v2.Mutation.AddToCell) mutation_;
+ }
+ return com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ } else {
+ if (mutationCase_ == 5) {
+ return addToCellBuilder_.getMessage();
+ }
+ return com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ public Builder setAddToCell(com.google.bigtable.v2.Mutation.AddToCell value) {
+ if (addToCellBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ mutation_ = value;
+ onChanged();
+ } else {
+ addToCellBuilder_.setMessage(value);
+ }
+ mutationCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ public Builder setAddToCell(com.google.bigtable.v2.Mutation.AddToCell.Builder builderForValue) {
+ if (addToCellBuilder_ == null) {
+ mutation_ = builderForValue.build();
+ onChanged();
+ } else {
+ addToCellBuilder_.setMessage(builderForValue.build());
+ }
+ mutationCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ public Builder mergeAddToCell(com.google.bigtable.v2.Mutation.AddToCell value) {
+ if (addToCellBuilder_ == null) {
+ if (mutationCase_ == 5
+ && mutation_ != com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance()) {
+ mutation_ =
+ com.google.bigtable.v2.Mutation.AddToCell.newBuilder(
+ (com.google.bigtable.v2.Mutation.AddToCell) mutation_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ mutation_ = value;
+ }
+ onChanged();
+ } else {
+ if (mutationCase_ == 5) {
+ addToCellBuilder_.mergeFrom(value);
+ } else {
+ addToCellBuilder_.setMessage(value);
+ }
+ }
+ mutationCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ public Builder clearAddToCell() {
+ if (addToCellBuilder_ == null) {
+ if (mutationCase_ == 5) {
+ mutationCase_ = 0;
+ mutation_ = null;
+ onChanged();
+ }
+ } else {
+ if (mutationCase_ == 5) {
+ mutationCase_ = 0;
+ mutation_ = null;
+ }
+ addToCellBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ public com.google.bigtable.v2.Mutation.AddToCell.Builder getAddToCellBuilder() {
+ return getAddToCellFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ @java.lang.Override
+ public com.google.bigtable.v2.Mutation.AddToCellOrBuilder getAddToCellOrBuilder() {
+ if ((mutationCase_ == 5) && (addToCellBuilder_ != null)) {
+ return addToCellBuilder_.getMessageOrBuilder();
+ } else {
+ if (mutationCase_ == 5) {
+ return (com.google.bigtable.v2.Mutation.AddToCell) mutation_;
+ }
+ return com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Mutation.AddToCell,
+ com.google.bigtable.v2.Mutation.AddToCell.Builder,
+ com.google.bigtable.v2.Mutation.AddToCellOrBuilder>
+ getAddToCellFieldBuilder() {
+ if (addToCellBuilder_ == null) {
+ if (!(mutationCase_ == 5)) {
+ mutation_ = com.google.bigtable.v2.Mutation.AddToCell.getDefaultInstance();
+ }
+ addToCellBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.bigtable.v2.Mutation.AddToCell,
+ com.google.bigtable.v2.Mutation.AddToCell.Builder,
+ com.google.bigtable.v2.Mutation.AddToCellOrBuilder>(
+ (com.google.bigtable.v2.Mutation.AddToCell) mutation_,
+ getParentForChildren(),
+ isClean());
+ mutation_ = null;
+ }
+ mutationCase_ = 5;
+ onChanged();
+ return addToCellBuilder_;
+ }
+
private com.google.protobuf.SingleFieldBuilderV3<
com.google.bigtable.v2.Mutation.DeleteFromColumn,
com.google.bigtable.v2.Mutation.DeleteFromColumn.Builder,
diff --git a/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/MutationOrBuilder.java b/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/MutationOrBuilder.java
index 2eb748508e..b96f0aa6c3 100644
--- a/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/MutationOrBuilder.java
+++ b/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/MutationOrBuilder.java
@@ -59,6 +59,41 @@ public interface MutationOrBuilder
*/
com.google.bigtable.v2.Mutation.SetCellOrBuilder getSetCellOrBuilder();
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return Whether the addToCell field is set.
+ */
+ boolean hasAddToCell();
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ *
+ * @return The addToCell.
+ */
+ com.google.bigtable.v2.Mutation.AddToCell getAddToCell();
+ /**
+ *
+ *
+ *
+ * Incrementally updates an `Aggregate` cell.
+ *
+ *
+ * .google.bigtable.v2.Mutation.AddToCell add_to_cell = 5;
+ */
+ com.google.bigtable.v2.Mutation.AddToCellOrBuilder getAddToCellOrBuilder();
+
/**
*
*
diff --git a/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/Value.java b/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/Value.java
new file mode 100644
index 0000000000..0d229b4de4
--- /dev/null
+++ b/proto-google-cloud-bigtable-v2/src/main/java/com/google/bigtable/v2/Value.java
@@ -0,0 +1,941 @@
+/*
+ * Copyright 2024 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+// Generated by the protocol buffer compiler. DO NOT EDIT!
+// source: google/bigtable/v2/data.proto
+
+// Protobuf Java Version: 3.25.2
+package com.google.bigtable.v2;
+
+/**
+ *
+ *
+ *
+ * `Value` represents a dynamically typed value.
+ * The typed fields in `Value` are used as a transport encoding for the actual
+ * value (which may be of a more complex type). See the documentation of the
+ * `Type` message for more details.
+ *
+ *
+ * Protobuf type {@code google.bigtable.v2.Value}
+ */
+public final class Value extends com.google.protobuf.GeneratedMessageV3
+ implements
+ // @@protoc_insertion_point(message_implements:google.bigtable.v2.Value)
+ ValueOrBuilder {
+ private static final long serialVersionUID = 0L;
+ // Use Value.newBuilder() to construct.
+ private Value(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
+ super(builder);
+ }
+
+ private Value() {}
+
+ @java.lang.Override
+ @SuppressWarnings({"unused"})
+ protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
+ return new Value();
+ }
+
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.bigtable.v2.DataProto.internal_static_google_bigtable_v2_Value_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.bigtable.v2.DataProto
+ .internal_static_google_bigtable_v2_Value_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.bigtable.v2.Value.class, com.google.bigtable.v2.Value.Builder.class);
+ }
+
+ private int kindCase_ = 0;
+
+ @SuppressWarnings("serial")
+ private java.lang.Object kind_;
+
+ public enum KindCase
+ implements
+ com.google.protobuf.Internal.EnumLite,
+ com.google.protobuf.AbstractMessage.InternalOneOfEnum {
+ RAW_VALUE(8),
+ RAW_TIMESTAMP_MICROS(9),
+ INT_VALUE(6),
+ KIND_NOT_SET(0);
+ private final int value;
+
+ private KindCase(int value) {
+ this.value = value;
+ }
+ /**
+ * @param value The number of the enum to look for.
+ * @return The enum associated with the given number.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static KindCase valueOf(int value) {
+ return forNumber(value);
+ }
+
+ public static KindCase forNumber(int value) {
+ switch (value) {
+ case 8:
+ return RAW_VALUE;
+ case 9:
+ return RAW_TIMESTAMP_MICROS;
+ case 6:
+ return INT_VALUE;
+ case 0:
+ return KIND_NOT_SET;
+ default:
+ return null;
+ }
+ }
+
+ public int getNumber() {
+ return this.value;
+ }
+ };
+
+ public KindCase getKindCase() {
+ return KindCase.forNumber(kindCase_);
+ }
+
+ public static final int RAW_VALUE_FIELD_NUMBER = 8;
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return Whether the rawValue field is set.
+ */
+ @java.lang.Override
+ public boolean hasRawValue() {
+ return kindCase_ == 8;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return The rawValue.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getRawValue() {
+ if (kindCase_ == 8) {
+ return (com.google.protobuf.ByteString) kind_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+
+ public static final int RAW_TIMESTAMP_MICROS_FIELD_NUMBER = 9;
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return Whether the rawTimestampMicros field is set.
+ */
+ @java.lang.Override
+ public boolean hasRawTimestampMicros() {
+ return kindCase_ == 9;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return The rawTimestampMicros.
+ */
+ @java.lang.Override
+ public long getRawTimestampMicros() {
+ if (kindCase_ == 9) {
+ return (java.lang.Long) kind_;
+ }
+ return 0L;
+ }
+
+ public static final int INT_VALUE_FIELD_NUMBER = 6;
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return Whether the intValue field is set.
+ */
+ @java.lang.Override
+ public boolean hasIntValue() {
+ return kindCase_ == 6;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return The intValue.
+ */
+ @java.lang.Override
+ public long getIntValue() {
+ if (kindCase_ == 6) {
+ return (java.lang.Long) kind_;
+ }
+ return 0L;
+ }
+
+ private byte memoizedIsInitialized = -1;
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ byte isInitialized = memoizedIsInitialized;
+ if (isInitialized == 1) return true;
+ if (isInitialized == 0) return false;
+
+ memoizedIsInitialized = 1;
+ return true;
+ }
+
+ @java.lang.Override
+ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
+ if (kindCase_ == 6) {
+ output.writeInt64(6, (long) ((java.lang.Long) kind_));
+ }
+ if (kindCase_ == 8) {
+ output.writeBytes(8, (com.google.protobuf.ByteString) kind_);
+ }
+ if (kindCase_ == 9) {
+ output.writeInt64(9, (long) ((java.lang.Long) kind_));
+ }
+ getUnknownFields().writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (kindCase_ == 6) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeInt64Size(
+ 6, (long) ((java.lang.Long) kind_));
+ }
+ if (kindCase_ == 8) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeBytesSize(
+ 8, (com.google.protobuf.ByteString) kind_);
+ }
+ if (kindCase_ == 9) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeInt64Size(
+ 9, (long) ((java.lang.Long) kind_));
+ }
+ size += getUnknownFields().getSerializedSize();
+ memoizedSize = size;
+ return size;
+ }
+
+ @java.lang.Override
+ public boolean equals(final java.lang.Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof com.google.bigtable.v2.Value)) {
+ return super.equals(obj);
+ }
+ com.google.bigtable.v2.Value other = (com.google.bigtable.v2.Value) obj;
+
+ if (!getKindCase().equals(other.getKindCase())) return false;
+ switch (kindCase_) {
+ case 8:
+ if (!getRawValue().equals(other.getRawValue())) return false;
+ break;
+ case 9:
+ if (getRawTimestampMicros() != other.getRawTimestampMicros()) return false;
+ break;
+ case 6:
+ if (getIntValue() != other.getIntValue()) return false;
+ break;
+ case 0:
+ default:
+ }
+ if (!getUnknownFields().equals(other.getUnknownFields())) return false;
+ return true;
+ }
+
+ @java.lang.Override
+ public int hashCode() {
+ if (memoizedHashCode != 0) {
+ return memoizedHashCode;
+ }
+ int hash = 41;
+ hash = (19 * hash) + getDescriptor().hashCode();
+ switch (kindCase_) {
+ case 8:
+ hash = (37 * hash) + RAW_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + getRawValue().hashCode();
+ break;
+ case 9:
+ hash = (37 * hash) + RAW_TIMESTAMP_MICROS_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getRawTimestampMicros());
+ break;
+ case 6:
+ hash = (37 * hash) + INT_VALUE_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getIntValue());
+ break;
+ case 0:
+ default:
+ }
+ hash = (29 * hash) + getUnknownFields().hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(
+ com.google.protobuf.ByteString data,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Value parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Value parseDelimitedFrom(
+ java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.bigtable.v2.Value parseFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
+ PARSER, input, extensionRegistry);
+ }
+
+ @java.lang.Override
+ public Builder newBuilderForType() {
+ return newBuilder();
+ }
+
+ public static Builder newBuilder() {
+ return DEFAULT_INSTANCE.toBuilder();
+ }
+
+ public static Builder newBuilder(com.google.bigtable.v2.Value prototype) {
+ return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
+ }
+
+ @java.lang.Override
+ public Builder toBuilder() {
+ return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
+ }
+
+ @java.lang.Override
+ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ Builder builder = new Builder(parent);
+ return builder;
+ }
+ /**
+ *
+ *
+ *
+ * `Value` represents a dynamically typed value.
+ * The typed fields in `Value` are used as a transport encoding for the actual
+ * value (which may be of a more complex type). See the documentation of the
+ * `Type` message for more details.
+ *
+ *
+ * Protobuf type {@code google.bigtable.v2.Value}
+ */
+ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return Whether the rawValue field is set.
+ */
+ public boolean hasRawValue() {
+ return kindCase_ == 8;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return The rawValue.
+ */
+ public com.google.protobuf.ByteString getRawValue() {
+ if (kindCase_ == 8) {
+ return (com.google.protobuf.ByteString) kind_;
+ }
+ return com.google.protobuf.ByteString.EMPTY;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @param value The rawValue to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRawValue(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ kindCase_ = 8;
+ kind_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRawValue() {
+ if (kindCase_ == 8) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return Whether the rawTimestampMicros field is set.
+ */
+ public boolean hasRawTimestampMicros() {
+ return kindCase_ == 9;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return The rawTimestampMicros.
+ */
+ public long getRawTimestampMicros() {
+ if (kindCase_ == 9) {
+ return (java.lang.Long) kind_;
+ }
+ return 0L;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @param value The rawTimestampMicros to set.
+ * @return This builder for chaining.
+ */
+ public Builder setRawTimestampMicros(long value) {
+
+ kindCase_ = 9;
+ kind_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearRawTimestampMicros() {
+ if (kindCase_ == 9) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return Whether the intValue field is set.
+ */
+ public boolean hasIntValue() {
+ return kindCase_ == 6;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return The intValue.
+ */
+ public long getIntValue() {
+ if (kindCase_ == 6) {
+ return (java.lang.Long) kind_;
+ }
+ return 0L;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @param value The intValue to set.
+ * @return This builder for chaining.
+ */
+ public Builder setIntValue(long value) {
+
+ kindCase_ = 6;
+ kind_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearIntValue() {
+ if (kindCase_ == 6) {
+ kindCase_ = 0;
+ kind_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ @java.lang.Override
+ public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.setUnknownFields(unknownFields);
+ }
+
+ @java.lang.Override
+ public final Builder mergeUnknownFields(
+ final com.google.protobuf.UnknownFieldSet unknownFields) {
+ return super.mergeUnknownFields(unknownFields);
+ }
+
+ // @@protoc_insertion_point(builder_scope:google.bigtable.v2.Value)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.bigtable.v2.Value)
+ private static final com.google.bigtable.v2.Value DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.bigtable.v2.Value();
+ }
+
+ public static com.google.bigtable.v2.Value getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return Whether the rawValue field is set.
+ */
+ boolean hasRawValue();
+ /**
+ *
+ *
+ *
+ * Represents a raw byte sequence with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * bytes raw_value = 8;
+ *
+ * @return The rawValue.
+ */
+ com.google.protobuf.ByteString getRawValue();
+
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return Whether the rawTimestampMicros field is set.
+ */
+ boolean hasRawTimestampMicros();
+ /**
+ *
+ *
+ *
+ * Represents a raw cell timestamp with no type information.
+ * The `type` field must be omitted.
+ *
+ *
+ * int64 raw_timestamp_micros = 9;
+ *
+ * @return The rawTimestampMicros.
+ */
+ long getRawTimestampMicros();
+
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return Whether the intValue field is set.
+ */
+ boolean hasIntValue();
+ /**
+ *
+ *
+ *
+ * Represents a typed value transported as an integer.
+ * Default type for writes: `Int64`
+ *
+ *
+ * int64 int_value = 6;
+ *
+ * @return The intValue.
+ */
+ long getIntValue();
+
+ com.google.bigtable.v2.Value.KindCase getKindCase();
+}
diff --git a/proto-google-cloud-bigtable-v2/src/main/proto/google/bigtable/v2/data.proto b/proto-google-cloud-bigtable-v2/src/main/proto/google/bigtable/v2/data.proto
index 1e7d463c77..86dca2784f 100644
--- a/proto-google-cloud-bigtable-v2/src/main/proto/google/bigtable/v2/data.proto
+++ b/proto-google-cloud-bigtable-v2/src/main/proto/google/bigtable/v2/data.proto
@@ -1,4 +1,4 @@
-// Copyright 2022 Google LLC
+// Copyright 2023 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -16,6 +16,8 @@ syntax = "proto3";
package google.bigtable.v2;
+import "google/api/field_behavior.proto";
+
option csharp_namespace = "Google.Cloud.Bigtable.V2";
option go_package = "google.golang.org/genproto/googleapis/bigtable/v2;bigtable";
option java_multiple_files = true;
@@ -85,6 +87,32 @@ message Cell {
repeated string labels = 3;
}
+// `Value` represents a dynamically typed value.
+// The typed fields in `Value` are used as a transport encoding for the actual
+// value (which may be of a more complex type). See the documentation of the
+// `Type` message for more details.
+message Value {
+ // Options for transporting values within the protobuf type system. A given
+ // `kind` may support more than one `type` and vice versa. On write, this is
+ // roughly analogous to a GoogleSQL literal.
+ //
+ // The value is `NULL` if none of the fields in `kind` is set. If `type` is
+ // also omitted on write, we will infer it based on the schema.
+ oneof kind {
+ // Represents a raw byte sequence with no type information.
+ // The `type` field must be omitted.
+ bytes raw_value = 8;
+
+ // Represents a raw cell timestamp with no type information.
+ // The `type` field must be omitted.
+ int64 raw_timestamp_micros = 9;
+
+ // Represents a typed value transported as an integer.
+ // Default type for writes: `Int64`
+ int64 int_value = 6;
+ }
+}
+
// Specifies a contiguous range of rows.
message RowRange {
// The row key at which to start the range.
@@ -463,6 +491,26 @@ message Mutation {
bytes value = 4;
}
+ // A Mutation which incrementally updates a cell in an `Aggregate` family.
+ message AddToCell {
+ // The name of the `Aggregate` family into which new data should be added.
+ // This must be a family with a `value_type` of `Aggregate`.
+ // Format: `[-_.a-zA-Z0-9]+`
+ string family_name = 1;
+
+ // The qualifier of the column into which new data should be added. This
+ // must be a `raw_value`.
+ Value column_qualifier = 2;
+
+ // The timestamp of the cell to which new data should be added. This must
+ // be a `raw_timestamp_micros` that matches the table's `granularity`.
+ Value timestamp = 3;
+
+ // The input value to be accumulated into the specified cell. This must be
+ // compatible with the family's `value_type.input_type`.
+ Value input = 4;
+ }
+
// A Mutation which deletes cells from the specified column, optionally
// restricting the deletions to a given timestamp range.
message DeleteFromColumn {
@@ -493,6 +541,9 @@ message Mutation {
// Set a cell's value.
SetCell set_cell = 1;
+ // Incrementally updates an `Aggregate` cell.
+ AddToCell add_to_cell = 5;
+
// Deletes cells from a column.
DeleteFromColumn delete_from_column = 2;
diff --git a/renovate.json b/renovate.json
index 587b17be96..837f09eaa2 100644
--- a/renovate.json
+++ b/renovate.json
@@ -101,10 +101,11 @@
"datasourceTemplate": "maven"
},
{
+ "customType": "regex",
"fileMatch": [
"^.github/workflows/unmanaged_dependency_check.yaml$"
],
- "matchStrings": ["uses: googleapis/sdk-platform-java/java-shared-dependencies/unmanaged-dependency-check@google-cloud-shared-dependencies/v(?