+ implements
+ // @@protoc_insertion_point(builder_implements:google.datastore.v1.PropertyTransform)
+ com.google.datastore.v1.PropertyTransformOrBuilder {
+ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
+ return com.google.datastore.v1.DatastoreProto
+ .internal_static_google_datastore_v1_PropertyTransform_descriptor;
+ }
+
+ @java.lang.Override
+ protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internalGetFieldAccessorTable() {
+ return com.google.datastore.v1.DatastoreProto
+ .internal_static_google_datastore_v1_PropertyTransform_fieldAccessorTable
+ .ensureFieldAccessorsInitialized(
+ com.google.datastore.v1.PropertyTransform.class,
+ com.google.datastore.v1.PropertyTransform.Builder.class);
+ }
+
+ // Construct using com.google.datastore.v1.PropertyTransform.newBuilder()
+ private Builder() {}
+
+ private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
+ super(parent);
+ }
+
+ @java.lang.Override
+ public Builder clear() {
+ super.clear();
+ bitField0_ = 0;
+ property_ = "";
+ if (incrementBuilder_ != null) {
+ incrementBuilder_.clear();
+ }
+ if (maximumBuilder_ != null) {
+ maximumBuilder_.clear();
+ }
+ if (minimumBuilder_ != null) {
+ minimumBuilder_.clear();
+ }
+ if (appendMissingElementsBuilder_ != null) {
+ appendMissingElementsBuilder_.clear();
+ }
+ if (removeAllFromArrayBuilder_ != null) {
+ removeAllFromArrayBuilder_.clear();
+ }
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ return this;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
+ return com.google.datastore.v1.DatastoreProto
+ .internal_static_google_datastore_v1_PropertyTransform_descriptor;
+ }
+
+ @java.lang.Override
+ public com.google.datastore.v1.PropertyTransform getDefaultInstanceForType() {
+ return com.google.datastore.v1.PropertyTransform.getDefaultInstance();
+ }
+
+ @java.lang.Override
+ public com.google.datastore.v1.PropertyTransform build() {
+ com.google.datastore.v1.PropertyTransform result = buildPartial();
+ if (!result.isInitialized()) {
+ throw newUninitializedMessageException(result);
+ }
+ return result;
+ }
+
+ @java.lang.Override
+ public com.google.datastore.v1.PropertyTransform buildPartial() {
+ com.google.datastore.v1.PropertyTransform result =
+ new com.google.datastore.v1.PropertyTransform(this);
+ if (bitField0_ != 0) {
+ buildPartial0(result);
+ }
+ buildPartialOneofs(result);
+ onBuilt();
+ return result;
+ }
+
+ private void buildPartial0(com.google.datastore.v1.PropertyTransform result) {
+ int from_bitField0_ = bitField0_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.property_ = property_;
+ }
+ }
+
+ private void buildPartialOneofs(com.google.datastore.v1.PropertyTransform result) {
+ result.transformTypeCase_ = transformTypeCase_;
+ result.transformType_ = this.transformType_;
+ if (transformTypeCase_ == 3 && incrementBuilder_ != null) {
+ result.transformType_ = incrementBuilder_.build();
+ }
+ if (transformTypeCase_ == 4 && maximumBuilder_ != null) {
+ result.transformType_ = maximumBuilder_.build();
+ }
+ if (transformTypeCase_ == 5 && minimumBuilder_ != null) {
+ result.transformType_ = minimumBuilder_.build();
+ }
+ if (transformTypeCase_ == 6 && appendMissingElementsBuilder_ != null) {
+ result.transformType_ = appendMissingElementsBuilder_.build();
+ }
+ if (transformTypeCase_ == 7 && removeAllFromArrayBuilder_ != null) {
+ result.transformType_ = removeAllFromArrayBuilder_.build();
+ }
+ }
+
+ @java.lang.Override
+ public Builder clone() {
+ return super.clone();
+ }
+
+ @java.lang.Override
+ public Builder setField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.setField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+ return super.clearField(field);
+ }
+
+ @java.lang.Override
+ public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+ return super.clearOneof(oneof);
+ }
+
+ @java.lang.Override
+ public Builder setRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+ return super.setRepeatedField(field, index, value);
+ }
+
+ @java.lang.Override
+ public Builder addRepeatedField(
+ com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+ return super.addRepeatedField(field, value);
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(com.google.protobuf.Message other) {
+ if (other instanceof com.google.datastore.v1.PropertyTransform) {
+ return mergeFrom((com.google.datastore.v1.PropertyTransform) other);
+ } else {
+ super.mergeFrom(other);
+ return this;
+ }
+ }
+
+ public Builder mergeFrom(com.google.datastore.v1.PropertyTransform other) {
+ if (other == com.google.datastore.v1.PropertyTransform.getDefaultInstance()) return this;
+ if (!other.getProperty().isEmpty()) {
+ property_ = other.property_;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ }
+ switch (other.getTransformTypeCase()) {
+ case SET_TO_SERVER_VALUE:
+ {
+ setSetToServerValueValue(other.getSetToServerValueValue());
+ break;
+ }
+ case INCREMENT:
+ {
+ mergeIncrement(other.getIncrement());
+ break;
+ }
+ case MAXIMUM:
+ {
+ mergeMaximum(other.getMaximum());
+ break;
+ }
+ case MINIMUM:
+ {
+ mergeMinimum(other.getMinimum());
+ break;
+ }
+ case APPEND_MISSING_ELEMENTS:
+ {
+ mergeAppendMissingElements(other.getAppendMissingElements());
+ break;
+ }
+ case REMOVE_ALL_FROM_ARRAY:
+ {
+ mergeRemoveAllFromArray(other.getRemoveAllFromArray());
+ break;
+ }
+ case TRANSFORMTYPE_NOT_SET:
+ {
+ break;
+ }
+ }
+ this.mergeUnknownFields(other.getUnknownFields());
+ onChanged();
+ return this;
+ }
+
+ @java.lang.Override
+ public final boolean isInitialized() {
+ return true;
+ }
+
+ @java.lang.Override
+ public Builder mergeFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws java.io.IOException {
+ if (extensionRegistry == null) {
+ throw new java.lang.NullPointerException();
+ }
+ try {
+ boolean done = false;
+ while (!done) {
+ int tag = input.readTag();
+ switch (tag) {
+ case 0:
+ done = true;
+ break;
+ case 10:
+ {
+ property_ = input.readStringRequireUtf8();
+ bitField0_ |= 0x00000001;
+ break;
+ } // case 10
+ case 16:
+ {
+ int rawValue = input.readEnum();
+ transformTypeCase_ = 2;
+ transformType_ = rawValue;
+ break;
+ } // case 16
+ case 26:
+ {
+ input.readMessage(getIncrementFieldBuilder().getBuilder(), extensionRegistry);
+ transformTypeCase_ = 3;
+ break;
+ } // case 26
+ case 34:
+ {
+ input.readMessage(getMaximumFieldBuilder().getBuilder(), extensionRegistry);
+ transformTypeCase_ = 4;
+ break;
+ } // case 34
+ case 42:
+ {
+ input.readMessage(getMinimumFieldBuilder().getBuilder(), extensionRegistry);
+ transformTypeCase_ = 5;
+ break;
+ } // case 42
+ case 50:
+ {
+ input.readMessage(
+ getAppendMissingElementsFieldBuilder().getBuilder(), extensionRegistry);
+ transformTypeCase_ = 6;
+ break;
+ } // case 50
+ case 58:
+ {
+ input.readMessage(
+ getRemoveAllFromArrayFieldBuilder().getBuilder(), extensionRegistry);
+ transformTypeCase_ = 7;
+ break;
+ } // case 58
+ default:
+ {
+ if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+ done = true; // was an endgroup tag
+ }
+ break;
+ } // default:
+ } // switch (tag)
+ } // while (!done)
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.unwrapIOException();
+ } finally {
+ onChanged();
+ } // finally
+ return this;
+ }
+
+ private int transformTypeCase_ = 0;
+ private java.lang.Object transformType_;
+
+ public TransformTypeCase getTransformTypeCase() {
+ return TransformTypeCase.forNumber(transformTypeCase_);
+ }
+
+ public Builder clearTransformType() {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ return this;
+ }
+
+ private int bitField0_;
+
+ private java.lang.Object property_ = "";
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The property.
+ */
+ public java.lang.String getProperty() {
+ java.lang.Object ref = property_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ property_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for property.
+ */
+ public com.google.protobuf.ByteString getPropertyBytes() {
+ java.lang.Object ref = property_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ property_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The property to set.
+ * @return This builder for chaining.
+ */
+ public Builder setProperty(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ property_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearProperty() {
+ property_ = getDefaultInstance().getProperty();
+ bitField0_ = (bitField0_ & ~0x00000001);
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The bytes for property to set.
+ * @return This builder for chaining.
+ */
+ public Builder setPropertyBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+ property_ = value;
+ bitField0_ |= 0x00000001;
+ onChanged();
+ return this;
+ }
+
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return Whether the setToServerValue field is set.
+ */
+ @java.lang.Override
+ public boolean hasSetToServerValue() {
+ return transformTypeCase_ == 2;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return The enum numeric value on the wire for setToServerValue.
+ */
+ @java.lang.Override
+ public int getSetToServerValueValue() {
+ if (transformTypeCase_ == 2) {
+ return ((java.lang.Integer) transformType_).intValue();
+ }
+ return 0;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @param value The enum numeric value on the wire for setToServerValue to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSetToServerValueValue(int value) {
+ transformTypeCase_ = 2;
+ transformType_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return The setToServerValue.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.PropertyTransform.ServerValue getSetToServerValue() {
+ if (transformTypeCase_ == 2) {
+ com.google.datastore.v1.PropertyTransform.ServerValue result =
+ com.google.datastore.v1.PropertyTransform.ServerValue.forNumber(
+ (java.lang.Integer) transformType_);
+ return result == null
+ ? com.google.datastore.v1.PropertyTransform.ServerValue.UNRECOGNIZED
+ : result;
+ }
+ return com.google.datastore.v1.PropertyTransform.ServerValue.SERVER_VALUE_UNSPECIFIED;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @param value The setToServerValue to set.
+ * @return This builder for chaining.
+ */
+ public Builder setSetToServerValue(
+ com.google.datastore.v1.PropertyTransform.ServerValue value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformTypeCase_ = 2;
+ transformType_ = value.getNumber();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearSetToServerValue() {
+ if (transformTypeCase_ == 2) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ return this;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ incrementBuilder_;
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ *
+ * @return Whether the increment field is set.
+ */
+ @java.lang.Override
+ public boolean hasIncrement() {
+ return transformTypeCase_ == 3;
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ *
+ * @return The increment.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.Value getIncrement() {
+ if (incrementBuilder_ == null) {
+ if (transformTypeCase_ == 3) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ } else {
+ if (transformTypeCase_ == 3) {
+ return incrementBuilder_.getMessage();
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ public Builder setIncrement(com.google.datastore.v1.Value value) {
+ if (incrementBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformType_ = value;
+ onChanged();
+ } else {
+ incrementBuilder_.setMessage(value);
+ }
+ transformTypeCase_ = 3;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ public Builder setIncrement(com.google.datastore.v1.Value.Builder builderForValue) {
+ if (incrementBuilder_ == null) {
+ transformType_ = builderForValue.build();
+ onChanged();
+ } else {
+ incrementBuilder_.setMessage(builderForValue.build());
+ }
+ transformTypeCase_ = 3;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ public Builder mergeIncrement(com.google.datastore.v1.Value value) {
+ if (incrementBuilder_ == null) {
+ if (transformTypeCase_ == 3
+ && transformType_ != com.google.datastore.v1.Value.getDefaultInstance()) {
+ transformType_ =
+ com.google.datastore.v1.Value.newBuilder(
+ (com.google.datastore.v1.Value) transformType_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ transformType_ = value;
+ }
+ onChanged();
+ } else {
+ if (transformTypeCase_ == 3) {
+ incrementBuilder_.mergeFrom(value);
+ } else {
+ incrementBuilder_.setMessage(value);
+ }
+ }
+ transformTypeCase_ = 3;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ public Builder clearIncrement() {
+ if (incrementBuilder_ == null) {
+ if (transformTypeCase_ == 3) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ } else {
+ if (transformTypeCase_ == 3) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ }
+ incrementBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ public com.google.datastore.v1.Value.Builder getIncrementBuilder() {
+ return getIncrementFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ValueOrBuilder getIncrementOrBuilder() {
+ if ((transformTypeCase_ == 3) && (incrementBuilder_ != null)) {
+ return incrementBuilder_.getMessageOrBuilder();
+ } else {
+ if (transformTypeCase_ == 3) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ getIncrementFieldBuilder() {
+ if (incrementBuilder_ == null) {
+ if (!(transformTypeCase_ == 3)) {
+ transformType_ = com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ incrementBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>(
+ (com.google.datastore.v1.Value) transformType_, getParentForChildren(), isClean());
+ transformType_ = null;
+ }
+ transformTypeCase_ = 3;
+ onChanged();
+ return incrementBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ maximumBuilder_;
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ *
+ * @return Whether the maximum field is set.
+ */
+ @java.lang.Override
+ public boolean hasMaximum() {
+ return transformTypeCase_ == 4;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ *
+ * @return The maximum.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.Value getMaximum() {
+ if (maximumBuilder_ == null) {
+ if (transformTypeCase_ == 4) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ } else {
+ if (transformTypeCase_ == 4) {
+ return maximumBuilder_.getMessage();
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ public Builder setMaximum(com.google.datastore.v1.Value value) {
+ if (maximumBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformType_ = value;
+ onChanged();
+ } else {
+ maximumBuilder_.setMessage(value);
+ }
+ transformTypeCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ public Builder setMaximum(com.google.datastore.v1.Value.Builder builderForValue) {
+ if (maximumBuilder_ == null) {
+ transformType_ = builderForValue.build();
+ onChanged();
+ } else {
+ maximumBuilder_.setMessage(builderForValue.build());
+ }
+ transformTypeCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ public Builder mergeMaximum(com.google.datastore.v1.Value value) {
+ if (maximumBuilder_ == null) {
+ if (transformTypeCase_ == 4
+ && transformType_ != com.google.datastore.v1.Value.getDefaultInstance()) {
+ transformType_ =
+ com.google.datastore.v1.Value.newBuilder(
+ (com.google.datastore.v1.Value) transformType_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ transformType_ = value;
+ }
+ onChanged();
+ } else {
+ if (transformTypeCase_ == 4) {
+ maximumBuilder_.mergeFrom(value);
+ } else {
+ maximumBuilder_.setMessage(value);
+ }
+ }
+ transformTypeCase_ = 4;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ public Builder clearMaximum() {
+ if (maximumBuilder_ == null) {
+ if (transformTypeCase_ == 4) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ } else {
+ if (transformTypeCase_ == 4) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ }
+ maximumBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ public com.google.datastore.v1.Value.Builder getMaximumBuilder() {
+ return getMaximumFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ValueOrBuilder getMaximumOrBuilder() {
+ if ((transformTypeCase_ == 4) && (maximumBuilder_ != null)) {
+ return maximumBuilder_.getMessageOrBuilder();
+ } else {
+ if (transformTypeCase_ == 4) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ getMaximumFieldBuilder() {
+ if (maximumBuilder_ == null) {
+ if (!(transformTypeCase_ == 4)) {
+ transformType_ = com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ maximumBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>(
+ (com.google.datastore.v1.Value) transformType_, getParentForChildren(), isClean());
+ transformType_ = null;
+ }
+ transformTypeCase_ = 4;
+ onChanged();
+ return maximumBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ minimumBuilder_;
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ *
+ * @return Whether the minimum field is set.
+ */
+ @java.lang.Override
+ public boolean hasMinimum() {
+ return transformTypeCase_ == 5;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ *
+ * @return The minimum.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.Value getMinimum() {
+ if (minimumBuilder_ == null) {
+ if (transformTypeCase_ == 5) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ } else {
+ if (transformTypeCase_ == 5) {
+ return minimumBuilder_.getMessage();
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ public Builder setMinimum(com.google.datastore.v1.Value value) {
+ if (minimumBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformType_ = value;
+ onChanged();
+ } else {
+ minimumBuilder_.setMessage(value);
+ }
+ transformTypeCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ public Builder setMinimum(com.google.datastore.v1.Value.Builder builderForValue) {
+ if (minimumBuilder_ == null) {
+ transformType_ = builderForValue.build();
+ onChanged();
+ } else {
+ minimumBuilder_.setMessage(builderForValue.build());
+ }
+ transformTypeCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ public Builder mergeMinimum(com.google.datastore.v1.Value value) {
+ if (minimumBuilder_ == null) {
+ if (transformTypeCase_ == 5
+ && transformType_ != com.google.datastore.v1.Value.getDefaultInstance()) {
+ transformType_ =
+ com.google.datastore.v1.Value.newBuilder(
+ (com.google.datastore.v1.Value) transformType_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ transformType_ = value;
+ }
+ onChanged();
+ } else {
+ if (transformTypeCase_ == 5) {
+ minimumBuilder_.mergeFrom(value);
+ } else {
+ minimumBuilder_.setMessage(value);
+ }
+ }
+ transformTypeCase_ = 5;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ public Builder clearMinimum() {
+ if (minimumBuilder_ == null) {
+ if (transformTypeCase_ == 5) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ } else {
+ if (transformTypeCase_ == 5) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ }
+ minimumBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ public com.google.datastore.v1.Value.Builder getMinimumBuilder() {
+ return getMinimumFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ValueOrBuilder getMinimumOrBuilder() {
+ if ((transformTypeCase_ == 5) && (minimumBuilder_ != null)) {
+ return minimumBuilder_.getMessageOrBuilder();
+ } else {
+ if (transformTypeCase_ == 5) {
+ return (com.google.datastore.v1.Value) transformType_;
+ }
+ return com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>
+ getMinimumFieldBuilder() {
+ if (minimumBuilder_ == null) {
+ if (!(transformTypeCase_ == 5)) {
+ transformType_ = com.google.datastore.v1.Value.getDefaultInstance();
+ }
+ minimumBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.Value,
+ com.google.datastore.v1.Value.Builder,
+ com.google.datastore.v1.ValueOrBuilder>(
+ (com.google.datastore.v1.Value) transformType_, getParentForChildren(), isClean());
+ transformType_ = null;
+ }
+ transformTypeCase_ = 5;
+ onChanged();
+ return minimumBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>
+ appendMissingElementsBuilder_;
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ *
+ * @return Whether the appendMissingElements field is set.
+ */
+ @java.lang.Override
+ public boolean hasAppendMissingElements() {
+ return transformTypeCase_ == 6;
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ *
+ * @return The appendMissingElements.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ArrayValue getAppendMissingElements() {
+ if (appendMissingElementsBuilder_ == null) {
+ if (transformTypeCase_ == 6) {
+ return (com.google.datastore.v1.ArrayValue) transformType_;
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ } else {
+ if (transformTypeCase_ == 6) {
+ return appendMissingElementsBuilder_.getMessage();
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ public Builder setAppendMissingElements(com.google.datastore.v1.ArrayValue value) {
+ if (appendMissingElementsBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformType_ = value;
+ onChanged();
+ } else {
+ appendMissingElementsBuilder_.setMessage(value);
+ }
+ transformTypeCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ public Builder setAppendMissingElements(
+ com.google.datastore.v1.ArrayValue.Builder builderForValue) {
+ if (appendMissingElementsBuilder_ == null) {
+ transformType_ = builderForValue.build();
+ onChanged();
+ } else {
+ appendMissingElementsBuilder_.setMessage(builderForValue.build());
+ }
+ transformTypeCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ public Builder mergeAppendMissingElements(com.google.datastore.v1.ArrayValue value) {
+ if (appendMissingElementsBuilder_ == null) {
+ if (transformTypeCase_ == 6
+ && transformType_ != com.google.datastore.v1.ArrayValue.getDefaultInstance()) {
+ transformType_ =
+ com.google.datastore.v1.ArrayValue.newBuilder(
+ (com.google.datastore.v1.ArrayValue) transformType_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ transformType_ = value;
+ }
+ onChanged();
+ } else {
+ if (transformTypeCase_ == 6) {
+ appendMissingElementsBuilder_.mergeFrom(value);
+ } else {
+ appendMissingElementsBuilder_.setMessage(value);
+ }
+ }
+ transformTypeCase_ = 6;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ public Builder clearAppendMissingElements() {
+ if (appendMissingElementsBuilder_ == null) {
+ if (transformTypeCase_ == 6) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ } else {
+ if (transformTypeCase_ == 6) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ }
+ appendMissingElementsBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ public com.google.datastore.v1.ArrayValue.Builder getAppendMissingElementsBuilder() {
+ return getAppendMissingElementsFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ArrayValueOrBuilder getAppendMissingElementsOrBuilder() {
+ if ((transformTypeCase_ == 6) && (appendMissingElementsBuilder_ != null)) {
+ return appendMissingElementsBuilder_.getMessageOrBuilder();
+ } else {
+ if (transformTypeCase_ == 6) {
+ return (com.google.datastore.v1.ArrayValue) transformType_;
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>
+ getAppendMissingElementsFieldBuilder() {
+ if (appendMissingElementsBuilder_ == null) {
+ if (!(transformTypeCase_ == 6)) {
+ transformType_ = com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ appendMissingElementsBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>(
+ (com.google.datastore.v1.ArrayValue) transformType_,
+ getParentForChildren(),
+ isClean());
+ transformType_ = null;
+ }
+ transformTypeCase_ = 6;
+ onChanged();
+ return appendMissingElementsBuilder_;
+ }
+
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>
+ removeAllFromArrayBuilder_;
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ *
+ * @return Whether the removeAllFromArray field is set.
+ */
+ @java.lang.Override
+ public boolean hasRemoveAllFromArray() {
+ return transformTypeCase_ == 7;
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ *
+ * @return The removeAllFromArray.
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ArrayValue getRemoveAllFromArray() {
+ if (removeAllFromArrayBuilder_ == null) {
+ if (transformTypeCase_ == 7) {
+ return (com.google.datastore.v1.ArrayValue) transformType_;
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ } else {
+ if (transformTypeCase_ == 7) {
+ return removeAllFromArrayBuilder_.getMessage();
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ public Builder setRemoveAllFromArray(com.google.datastore.v1.ArrayValue value) {
+ if (removeAllFromArrayBuilder_ == null) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ transformType_ = value;
+ onChanged();
+ } else {
+ removeAllFromArrayBuilder_.setMessage(value);
+ }
+ transformTypeCase_ = 7;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ public Builder setRemoveAllFromArray(
+ com.google.datastore.v1.ArrayValue.Builder builderForValue) {
+ if (removeAllFromArrayBuilder_ == null) {
+ transformType_ = builderForValue.build();
+ onChanged();
+ } else {
+ removeAllFromArrayBuilder_.setMessage(builderForValue.build());
+ }
+ transformTypeCase_ = 7;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ public Builder mergeRemoveAllFromArray(com.google.datastore.v1.ArrayValue value) {
+ if (removeAllFromArrayBuilder_ == null) {
+ if (transformTypeCase_ == 7
+ && transformType_ != com.google.datastore.v1.ArrayValue.getDefaultInstance()) {
+ transformType_ =
+ com.google.datastore.v1.ArrayValue.newBuilder(
+ (com.google.datastore.v1.ArrayValue) transformType_)
+ .mergeFrom(value)
+ .buildPartial();
+ } else {
+ transformType_ = value;
+ }
+ onChanged();
+ } else {
+ if (transformTypeCase_ == 7) {
+ removeAllFromArrayBuilder_.mergeFrom(value);
+ } else {
+ removeAllFromArrayBuilder_.setMessage(value);
+ }
+ }
+ transformTypeCase_ = 7;
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ public Builder clearRemoveAllFromArray() {
+ if (removeAllFromArrayBuilder_ == null) {
+ if (transformTypeCase_ == 7) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ onChanged();
+ }
+ } else {
+ if (transformTypeCase_ == 7) {
+ transformTypeCase_ = 0;
+ transformType_ = null;
+ }
+ removeAllFromArrayBuilder_.clear();
+ }
+ return this;
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ public com.google.datastore.v1.ArrayValue.Builder getRemoveAllFromArrayBuilder() {
+ return getRemoveAllFromArrayFieldBuilder().getBuilder();
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ @java.lang.Override
+ public com.google.datastore.v1.ArrayValueOrBuilder getRemoveAllFromArrayOrBuilder() {
+ if ((transformTypeCase_ == 7) && (removeAllFromArrayBuilder_ != null)) {
+ return removeAllFromArrayBuilder_.getMessageOrBuilder();
+ } else {
+ if (transformTypeCase_ == 7) {
+ return (com.google.datastore.v1.ArrayValue) transformType_;
+ }
+ return com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ }
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ private com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>
+ getRemoveAllFromArrayFieldBuilder() {
+ if (removeAllFromArrayBuilder_ == null) {
+ if (!(transformTypeCase_ == 7)) {
+ transformType_ = com.google.datastore.v1.ArrayValue.getDefaultInstance();
+ }
+ removeAllFromArrayBuilder_ =
+ new com.google.protobuf.SingleFieldBuilderV3<
+ com.google.datastore.v1.ArrayValue,
+ com.google.datastore.v1.ArrayValue.Builder,
+ com.google.datastore.v1.ArrayValueOrBuilder>(
+ (com.google.datastore.v1.ArrayValue) transformType_,
+ getParentForChildren(),
+ isClean());
+ transformType_ = null;
+ }
+ transformTypeCase_ = 7;
+ onChanged();
+ return removeAllFromArrayBuilder_;
+ }
+
+ @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.datastore.v1.PropertyTransform)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.datastore.v1.PropertyTransform)
+ private static final com.google.datastore.v1.PropertyTransform DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.datastore.v1.PropertyTransform();
+ }
+
+ public static com.google.datastore.v1.PropertyTransform getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser PARSER =
+ new com.google.protobuf.AbstractParser() {
+ @java.lang.Override
+ public PropertyTransform parsePartialFrom(
+ com.google.protobuf.CodedInputStream input,
+ com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ Builder builder = newBuilder();
+ try {
+ builder.mergeFrom(input, extensionRegistry);
+ } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+ throw e.setUnfinishedMessage(builder.buildPartial());
+ } catch (com.google.protobuf.UninitializedMessageException e) {
+ throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
+ } catch (java.io.IOException e) {
+ throw new com.google.protobuf.InvalidProtocolBufferException(e)
+ .setUnfinishedMessage(builder.buildPartial());
+ }
+ return builder.buildPartial();
+ }
+ };
+
+ public static com.google.protobuf.Parser parser() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.protobuf.Parser getParserForType() {
+ return PARSER;
+ }
+
+ @java.lang.Override
+ public com.google.datastore.v1.PropertyTransform getDefaultInstanceForType() {
+ return DEFAULT_INSTANCE;
+ }
+}
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/PropertyTransformOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/PropertyTransformOrBuilder.java
new file mode 100644
index 000000000..34782a859
--- /dev/null
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/PropertyTransformOrBuilder.java
@@ -0,0 +1,438 @@
+/*
+ * 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/datastore/v1/datastore.proto
+
+// Protobuf Java Version: 3.25.5
+package com.google.datastore.v1;
+
+public interface PropertyTransformOrBuilder
+ extends
+ // @@protoc_insertion_point(interface_extends:google.datastore.v1.PropertyTransform)
+ com.google.protobuf.MessageOrBuilder {
+
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The property.
+ */
+ java.lang.String getProperty();
+ /**
+ *
+ *
+ *
+ * Optional. The name of the property.
+ *
+ * Property paths (a list of property names separated by dots (`.`)) may be
+ * used to refer to properties inside entity values. For example `foo.bar`
+ * means the property `bar` inside the entity property `foo`.
+ *
+ * If a property name contains a dot `.` or a backlslash `\`, then that name
+ * must be escaped.
+ *
+ *
+ * string property = 1 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The bytes for property.
+ */
+ com.google.protobuf.ByteString getPropertyBytes();
+
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return Whether the setToServerValue field is set.
+ */
+ boolean hasSetToServerValue();
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return The enum numeric value on the wire for setToServerValue.
+ */
+ int getSetToServerValueValue();
+ /**
+ *
+ *
+ *
+ * Sets the property to the given server value.
+ *
+ *
+ * .google.datastore.v1.PropertyTransform.ServerValue set_to_server_value = 2;
+ *
+ * @return The setToServerValue.
+ */
+ com.google.datastore.v1.PropertyTransform.ServerValue getSetToServerValue();
+
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ *
+ * @return Whether the increment field is set.
+ */
+ boolean hasIncrement();
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ *
+ * @return The increment.
+ */
+ com.google.datastore.v1.Value getIncrement();
+ /**
+ *
+ *
+ *
+ * Adds the given value to the property's current value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If either of the given value or the current property value are doubles,
+ * both values will be interpreted as doubles. Double arithmetic and
+ * representation of double values follows IEEE 754 semantics.
+ * If there is positive/negative integer overflow, the property is resolved
+ * to the largest magnitude positive/negative integer.
+ *
+ *
+ * .google.datastore.v1.Value increment = 3;
+ */
+ com.google.datastore.v1.ValueOrBuilder getIncrementOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ *
+ * @return Whether the maximum field is set.
+ */
+ boolean hasMaximum();
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ *
+ * @return The maximum.
+ */
+ com.google.datastore.v1.Value getMaximum();
+ /**
+ *
+ *
+ *
+ * Sets the property to the maximum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the given value.
+ * If a maximum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the larger operand. If the operands are
+ * equivalent (e.g. 3 and 3.0), the property does not change.
+ * 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ * zero input value is always the stored value.
+ * The maximum of any numeric value x and NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value maximum = 4;
+ */
+ com.google.datastore.v1.ValueOrBuilder getMaximumOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ *
+ * @return Whether the minimum field is set.
+ */
+ boolean hasMinimum();
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ *
+ * @return The minimum.
+ */
+ com.google.datastore.v1.Value getMinimum();
+ /**
+ *
+ *
+ *
+ * Sets the property to the minimum of its current value and the given
+ * value.
+ *
+ * This must be an integer or a double value.
+ * If the property is not an integer or double, or if the property does not
+ * yet exist, the transformation will set the property to the input value.
+ * If a minimum operation is applied where the property and the input value
+ * are of mixed types (that is - one is an integer and one is a double)
+ * the property takes on the type of the smaller operand. If the operands
+ * are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ * and -0.0 are all zero. The minimum of a zero stored value and zero input
+ * value is always the stored value. The minimum of any numeric value x and
+ * NaN is NaN.
+ *
+ *
+ * .google.datastore.v1.Value minimum = 5;
+ */
+ com.google.datastore.v1.ValueOrBuilder getMinimumOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ *
+ * @return Whether the appendMissingElements field is set.
+ */
+ boolean hasAppendMissingElements();
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ *
+ * @return The appendMissingElements.
+ */
+ com.google.datastore.v1.ArrayValue getAppendMissingElements();
+ /**
+ *
+ *
+ *
+ * Appends the given elements in order if they are not already present in
+ * the current property value.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is first set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when checking if a value is missing.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * If the input contains multiple equivalent values, only the first will
+ * be considered.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue append_missing_elements = 6;
+ */
+ com.google.datastore.v1.ArrayValueOrBuilder getAppendMissingElementsOrBuilder();
+
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ *
+ * @return Whether the removeAllFromArray field is set.
+ */
+ boolean hasRemoveAllFromArray();
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ *
+ * @return The removeAllFromArray.
+ */
+ com.google.datastore.v1.ArrayValue getRemoveAllFromArray();
+ /**
+ *
+ *
+ *
+ * Removes all of the given elements from the array in the property.
+ * If the property is not an array, or if the property does not yet exist,
+ * it is set to the empty array.
+ *
+ * Equivalent numbers of different types (e.g. 3L and 3.0) are
+ * considered equal when deciding whether an element should be removed.
+ * NaN is equal to NaN, and the null value is equal to the null value.
+ * This will remove all equivalent values if there are duplicates.
+ *
+ * The corresponding transform result will be the null value.
+ *
+ *
+ * .google.datastore.v1.ArrayValue remove_all_from_array = 7;
+ */
+ com.google.datastore.v1.ArrayValueOrBuilder getRemoveAllFromArrayOrBuilder();
+
+ com.google.datastore.v1.PropertyTransform.TransformTypeCase getTransformTypeCase();
+}
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Query.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Query.java
index d925fbd82..2c0c40f79 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Query.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Query.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryOrBuilder.java
index bda9dcb7c..70533577f 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface QueryOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProfileProto.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProfileProto.java
index 5b1d59a7a..83e5d1763 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProfileProto.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProfileProto.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query_profile.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public final class QueryProfileProto {
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProto.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProto.java
index 749fbb368..60c35e2e1 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProto.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryProto.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public final class QueryProto {
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatch.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatch.java
index 264b04c2b..49bb3799f 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatch.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatch.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatchOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatchOrBuilder.java
index 10e886e97..57ae675f6 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatchOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/QueryResultBatchOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/query.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface QueryResultBatchOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptions.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptions.java
index 195a26679..dd545344e 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptions.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptions.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptionsOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptionsOrBuilder.java
index 22210bac5..64500abd9 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptionsOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReadOptionsOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface ReadOptionsOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequest.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequest.java
index 4fb3a324a..d37792b79 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequest.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequest.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequestOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequestOrBuilder.java
index 1509951d0..74644db43 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequestOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsRequestOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface ReserveIdsRequestOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponse.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponse.java
index b64df8ca4..9cf9adff3 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponse.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponse.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponseOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponseOrBuilder.java
index 93ad913d3..8858bddf2 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponseOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ReserveIdsResponseOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface ReserveIdsResponseOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequest.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequest.java
index b8efa3620..1e3b5e93d 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequest.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequest.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequestOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequestOrBuilder.java
index 76f2ec4f7..5c4ac4664 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequestOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackRequestOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RollbackRequestOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponse.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponse.java
index 7ecae56a6..a8de2a48b 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponse.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponse.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponseOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponseOrBuilder.java
index c5f5cddac..3b89b7ed5 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponseOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RollbackResponseOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RollbackResponseOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequest.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequest.java
index a3e4b5fbb..85021f6fa 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequest.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequest.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequestOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequestOrBuilder.java
index 181e67626..6137bb693 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequestOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryRequestOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RunAggregationQueryRequestOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponse.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponse.java
index e15917183..f122b0943 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponse.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponse.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponseOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponseOrBuilder.java
index 518244e3a..cacfa52e8 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponseOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunAggregationQueryResponseOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RunAggregationQueryResponseOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequest.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequest.java
index 42a25c70e..7886ca3c7 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequest.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequest.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequestOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequestOrBuilder.java
index 66125f517..858455723 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequestOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryRequestOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RunQueryRequestOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponse.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponse.java
index 50de039e4..714256e65 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponse.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponse.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponseOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponseOrBuilder.java
index 2eb2df5c7..c7fceec74 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponseOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/RunQueryResponseOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface RunQueryResponseOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptions.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptions.java
index 1460d75c9..7e73f6826 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptions.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptions.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptionsOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptionsOrBuilder.java
index 915877a31..551969802 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptionsOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/TransactionOptionsOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/datastore.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface TransactionOptionsOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Value.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Value.java
index d8db3277e..56b6fae30 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Value.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/Value.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/entity.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
/**
diff --git a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ValueOrBuilder.java b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ValueOrBuilder.java
index 6024a74d7..a375525d9 100644
--- a/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ValueOrBuilder.java
+++ b/proto-google-cloud-datastore-v1/src/main/java/com/google/datastore/v1/ValueOrBuilder.java
@@ -16,7 +16,7 @@
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/datastore/v1/entity.proto
-// Protobuf Java Version: 3.25.4
+// Protobuf Java Version: 3.25.5
package com.google.datastore.v1;
public interface ValueOrBuilder
diff --git a/proto-google-cloud-datastore-v1/src/main/proto/google/datastore/v1/datastore.proto b/proto-google-cloud-datastore-v1/src/main/proto/google/datastore/v1/datastore.proto
index 9c44501af..c0683b9ba 100644
--- a/proto-google-cloud-datastore-v1/src/main/proto/google/datastore/v1/datastore.proto
+++ b/proto-google-cloud-datastore-v1/src/main/proto/google/datastore/v1/datastore.proto
@@ -501,6 +501,18 @@ message ReserveIdsResponse {}
// A mutation to apply to an entity.
message Mutation {
+ // The possible ways to resolve a conflict detected in a mutation.
+ enum ConflictResolutionStrategy {
+ // Unspecified. Defaults to `SERVER_VALUE`.
+ STRATEGY_UNSPECIFIED = 0;
+
+ // The server entity is kept.
+ SERVER_VALUE = 1;
+
+ // The whole commit request fails.
+ FAIL = 3;
+ }
+
// The mutation operation.
//
// For `insert`, `update`, and `upsert`:
@@ -542,6 +554,11 @@ message Mutation {
google.protobuf.Timestamp update_time = 11;
}
+ // The strategy to use when a conflict is detected. Defaults to
+ // `SERVER_VALUE`.
+ // If this is set, then `conflict_detection_strategy` must also be set.
+ ConflictResolutionStrategy conflict_resolution_strategy = 10;
+
// The properties to write in this mutation.
// None of the properties in the mask may have a reserved name, except for
// `__key__`.
@@ -551,6 +568,112 @@ message Mutation {
// updated, others are left untouched.
// Properties referenced in the mask but not in the entity are deleted.
PropertyMask property_mask = 9;
+
+ // Optional. The transforms to perform on the entity.
+ //
+ // This field can be set only when the operation is `insert`, `update`,
+ // or `upsert`. If present, the transforms are be applied to the entity
+ // regardless of the property mask, in order, after the operation.
+ repeated PropertyTransform property_transforms = 12
+ [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A transformation of an entity property.
+message PropertyTransform {
+ // A value that is calculated by the server.
+ enum ServerValue {
+ // Unspecified. This value must not be used.
+ SERVER_VALUE_UNSPECIFIED = 0;
+
+ // The time at which the server processed the request, with millisecond
+ // precision. If used on multiple properties (same or different entities)
+ // in a transaction, all the properties will get the same server timestamp.
+ REQUEST_TIME = 1;
+ }
+
+ // Optional. The name of the property.
+ //
+ // Property paths (a list of property names separated by dots (`.`)) may be
+ // used to refer to properties inside entity values. For example `foo.bar`
+ // means the property `bar` inside the entity property `foo`.
+ //
+ // If a property name contains a dot `.` or a backlslash `\`, then that name
+ // must be escaped.
+ string property = 1 [(google.api.field_behavior) = OPTIONAL];
+
+ // The transformation to apply to the property.
+ oneof transform_type {
+ // Sets the property to the given server value.
+ ServerValue set_to_server_value = 2;
+
+ // Adds the given value to the property's current value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the given value.
+ // If either of the given value or the current property value are doubles,
+ // both values will be interpreted as doubles. Double arithmetic and
+ // representation of double values follows IEEE 754 semantics.
+ // If there is positive/negative integer overflow, the property is resolved
+ // to the largest magnitude positive/negative integer.
+ Value increment = 3;
+
+ // Sets the property to the maximum of its current value and the given
+ // value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the given value.
+ // If a maximum operation is applied where the property and the input value
+ // are of mixed types (that is - one is an integer and one is a double)
+ // the property takes on the type of the larger operand. If the operands are
+ // equivalent (e.g. 3 and 3.0), the property does not change.
+ // 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and
+ // zero input value is always the stored value.
+ // The maximum of any numeric value x and NaN is NaN.
+ Value maximum = 4;
+
+ // Sets the property to the minimum of its current value and the given
+ // value.
+ //
+ // This must be an integer or a double value.
+ // If the property is not an integer or double, or if the property does not
+ // yet exist, the transformation will set the property to the input value.
+ // If a minimum operation is applied where the property and the input value
+ // are of mixed types (that is - one is an integer and one is a double)
+ // the property takes on the type of the smaller operand. If the operands
+ // are equivalent (e.g. 3 and 3.0), the property does not change. 0, 0.0,
+ // and -0.0 are all zero. The minimum of a zero stored value and zero input
+ // value is always the stored value. The minimum of any numeric value x and
+ // NaN is NaN.
+ Value minimum = 5;
+
+ // Appends the given elements in order if they are not already present in
+ // the current property value.
+ // If the property is not an array, or if the property does not yet exist,
+ // it is first set to the empty array.
+ //
+ // Equivalent numbers of different types (e.g. 3L and 3.0) are
+ // considered equal when checking if a value is missing.
+ // NaN is equal to NaN, and the null value is equal to the null value.
+ // If the input contains multiple equivalent values, only the first will
+ // be considered.
+ //
+ // The corresponding transform result will be the null value.
+ ArrayValue append_missing_elements = 6;
+
+ // Removes all of the given elements from the array in the property.
+ // If the property is not an array, or if the property does not yet exist,
+ // it is set to the empty array.
+ //
+ // Equivalent numbers of different types (e.g. 3L and 3.0) are
+ // considered equal when deciding whether an element should be removed.
+ // NaN is equal to NaN, and the null value is equal to the null value.
+ // This will remove all equivalent values if there are duplicates.
+ //
+ // The corresponding transform result will be the null value.
+ ArrayValue remove_all_from_array = 7;
+ }
}
// The result of applying a mutation.
@@ -578,6 +701,11 @@ message MutationResult {
// Whether a conflict was detected for this mutation. Always false when a
// conflict detection strategy field is not set in the mutation.
bool conflict_detected = 5;
+
+ // The results of applying each
+ // [PropertyTransform][google.datastore.v1.PropertyTransform], in the same
+ // order of the request.
+ repeated Value transform_results = 8;
}
// The set of arbitrarily nested property paths used to restrict an operation to
@@ -611,16 +739,13 @@ message ReadOptions {
EVENTUAL = 2;
}
- // For Cloud Datastore, if read_consistency is not specified, then lookups and
- // ancestor queries default to `read_consistency`=`STRONG`, global queries
- // default to `read_consistency`=`EVENTUAL`.
- //
- // For Cloud Firestore in Datastore mode, if read_consistency is not specified
- // then lookups and all queries default to `read_consistency`=`STRONG`.
+ // For Cloud Firestore in Datastore mode, if you don't specify
+ // read_consistency then all lookups and queries default to
+ // `read_consistency`=`STRONG`. Note that, in Cloud Datastore, global queries
+ // defaulted to `read_consistency`=`EVENTUAL`.
//
// Explicitly setting `read_consistency`=`EVENTUAL` will result in eventually
- // consistent lookups & queries in both Cloud Datastore & Cloud Firestore in
- // Datastore mode.
+ // consistent lookups and queries.
oneof consistency_type {
// The non-transactional read consistency to use.
ReadConsistency read_consistency = 1;
diff --git a/renovate.json b/renovate.json
index 586208852..b3314f4b2 100644
--- a/renovate.json
+++ b/renovate.json
@@ -41,6 +41,16 @@
],
"depNameTemplate": "com.google.cloud:sdk-platform-java-config",
"datasourceTemplate": "maven"
+ },
+ {
+ "fileMatch": [
+ "^.github/workflows/hermetic_library_generation.yaml$"
+ ],
+ "matchStrings": [
+ "uses: googleapis/sdk-platform-java/.github/scripts@v(?.+?)\\n"
+ ],
+ "depNameTemplate": "com.google.api:gapic-generator-java",
+ "datasourceTemplate": "maven"
}
],
"packageRules": [
@@ -101,6 +111,13 @@
"^com.fasterxml.jackson.core"
],
"groupName": "jackson dependencies"
+ },
+ {
+ "matchPackagePatterns": [
+ "^com.google.api:gapic-generator-java",
+ "^com.google.cloud:sdk-platform-java-config"
+ ],
+ "groupName": "SDK platform Java dependencies"
}
],
"semanticCommits": true,
diff --git a/samples/install-without-bom/pom.xml b/samples/install-without-bom/pom.xml
index 9187ea8ce..c39bbf20b 100644
--- a/samples/install-without-bom/pom.xml
+++ b/samples/install-without-bom/pom.xml
@@ -29,7 +29,7 @@
com.google.cloud
google-cloud-datastore
- 2.21.3
+ 2.22.0
diff --git a/samples/snapshot/pom.xml b/samples/snapshot/pom.xml
index 973390f5d..4da3f232b 100644
--- a/samples/snapshot/pom.xml
+++ b/samples/snapshot/pom.xml
@@ -28,7 +28,7 @@
com.google.cloud
google-cloud-datastore
- 2.22.0
+ 2.23.0
diff --git a/samples/snippets/src/main/java/com/example/datastore/filters/IndexingConsiderationQuery.java b/samples/snippets/src/main/java/com/example/datastore/filters/IndexingConsiderationQuery.java
index f0c9cd5da..90a94014c 100644
--- a/samples/snippets/src/main/java/com/example/datastore/filters/IndexingConsiderationQuery.java
+++ b/samples/snippets/src/main/java/com/example/datastore/filters/IndexingConsiderationQuery.java
@@ -29,7 +29,6 @@
import com.google.cloud.datastore.Query;
import com.google.cloud.datastore.QueryResults;
import com.google.cloud.datastore.StructuredQuery.CompositeFilter;
-import com.google.cloud.datastore.StructuredQuery.Filter;
import com.google.cloud.datastore.StructuredQuery.OrderBy;
import com.google.cloud.datastore.StructuredQuery.PropertyFilter;
@@ -40,11 +39,12 @@ public static void invoke() throws Exception {
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
// Build a query with multi inequal filters and optimized index order of index properties.
- Query query = Query.newEntityQueryBuilder()
+ Query query =
+ Query.newEntityQueryBuilder()
.setKind("employees")
- .setFilter(CompositeFilter.and(
- PropertyFilter.gt("salary", 100000),
- PropertyFilter.gt("experience", 0)))
+ .setFilter(
+ CompositeFilter.and(
+ PropertyFilter.gt("salary", 100000), PropertyFilter.gt("experience", 0)))
.setOrderBy(OrderBy.asc("salary"), OrderBy.asc("experience"))
.build();
diff --git a/samples/snippets/src/main/java/com/example/datastore/filters/OrderFieldsQuery.java b/samples/snippets/src/main/java/com/example/datastore/filters/OrderFieldsQuery.java
index 1739dbade..24fc7901c 100644
--- a/samples/snippets/src/main/java/com/example/datastore/filters/OrderFieldsQuery.java
+++ b/samples/snippets/src/main/java/com/example/datastore/filters/OrderFieldsQuery.java
@@ -28,7 +28,6 @@
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Query;
import com.google.cloud.datastore.QueryResults;
-import com.google.cloud.datastore.StructuredQuery.Filter;
import com.google.cloud.datastore.StructuredQuery.OrderBy;
import com.google.cloud.datastore.StructuredQuery.PropertyFilter;
@@ -40,11 +39,11 @@ public static void invoke() throws Exception {
// Build a query with order properties in the decreasing order of query constraint selectivity.
Query query =
- Query.newEntityQueryBuilder()
- .setKind("employees")
- .setFilter(PropertyFilter.gt("salary", 100000))
- .setOrderBy(OrderBy.asc("salary"))
- .build();
+ Query.newEntityQueryBuilder()
+ .setKind("employees")
+ .setFilter(PropertyFilter.gt("salary", 100000))
+ .setOrderBy(OrderBy.asc("salary"))
+ .build();
// Get the results back from Datastore
QueryResults results = datastore.run(query);
diff --git a/samples/snippets/src/test/java/com/example/datastore/filters/MultiIneqQuerySampleIT.java b/samples/snippets/src/test/java/com/example/datastore/filters/MultiIneqQuerySampleIT.java
index 6fee2a806..8e3fa4c10 100644
--- a/samples/snippets/src/test/java/com/example/datastore/filters/MultiIneqQuerySampleIT.java
+++ b/samples/snippets/src/test/java/com/example/datastore/filters/MultiIneqQuerySampleIT.java
@@ -38,27 +38,29 @@ public class MultiIneqQuerySampleIT {
private Key employeeKey2;
private Key employeeKey3;
- @Rule
- public final SystemsOutRule systemsOutRule = new SystemsOutRule();
+ @Rule public final SystemsOutRule systemsOutRule = new SystemsOutRule();
@Before
public void setUp() {
employeeKey1 = datastore.newKeyFactory().setKind("employees").newKey("employee1");
- Entity employee1 = Entity.newBuilder(employeeKey1)
+ Entity employee1 =
+ Entity.newBuilder(employeeKey1)
.set("name", "Alice")
.set("salary", 100001)
.set("experience", 10)
.build();
employeeKey2 = datastore.newKeyFactory().setKind("employees").newKey("employee2");
- Entity employee2 = Entity.newBuilder(employeeKey2)
+ Entity employee2 =
+ Entity.newBuilder(employeeKey2)
.set("name", "Bob")
.set("salary", 90000)
.set("experience", 5)
.build();
employeeKey3 = datastore.newKeyFactory().setKind("employees").newKey("employee3");
- Entity employee3 = Entity.newBuilder(employeeKey3)
+ Entity employee3 =
+ Entity.newBuilder(employeeKey3)
.set("name", "Jay")
.set("salary", 120000)
.set("experience", 15)
diff --git a/versions.txt b/versions.txt
index 191d0abf1..666cbda4e 100644
--- a/versions.txt
+++ b/versions.txt
@@ -1,9 +1,9 @@
# Format:
# module:released-version:current-version
-google-cloud-datastore:2.22.0:2.22.0
-google-cloud-datastore-bom:2.22.0:2.22.0
-proto-google-cloud-datastore-v1:0.113.0:0.113.0
-datastore-v1-proto-client:2.22.0:2.22.0
-proto-google-cloud-datastore-admin-v1:2.22.0:2.22.0
-grpc-google-cloud-datastore-admin-v1:2.22.0:2.22.0
+google-cloud-datastore:2.23.0:2.23.0
+google-cloud-datastore-bom:2.23.0:2.23.0
+proto-google-cloud-datastore-v1:0.114.0:0.114.0
+datastore-v1-proto-client:2.23.0:2.23.0
+proto-google-cloud-datastore-admin-v1:2.23.0:2.23.0
+grpc-google-cloud-datastore-admin-v1:2.23.0:2.23.0