1 /* 2 * Copyright 2020 Google LLC 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * https://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 // Generated by the protocol buffer compiler. DO NOT EDIT! 17 // source: google/cloud/retail/v2/product_service.proto 18 19 package com.google.cloud.retail.v2; 20 21 /** 22 * 23 * 24 * <pre> 25 * Request message for 26 * [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory] 27 * method. 28 * </pre> 29 * 30 * Protobuf type {@code google.cloud.retail.v2.SetInventoryRequest} 31 */ 32 public final class SetInventoryRequest extends com.google.protobuf.GeneratedMessageV3 33 implements 34 // @@protoc_insertion_point(message_implements:google.cloud.retail.v2.SetInventoryRequest) 35 SetInventoryRequestOrBuilder { 36 private static final long serialVersionUID = 0L; 37 // Use SetInventoryRequest.newBuilder() to construct. SetInventoryRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)38 private SetInventoryRequest(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 39 super(builder); 40 } 41 SetInventoryRequest()42 private SetInventoryRequest() {} 43 44 @java.lang.Override 45 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)46 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 47 return new SetInventoryRequest(); 48 } 49 50 @java.lang.Override getUnknownFields()51 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 52 return this.unknownFields; 53 } 54 getDescriptor()55 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 56 return com.google.cloud.retail.v2.ProductServiceProto 57 .internal_static_google_cloud_retail_v2_SetInventoryRequest_descriptor; 58 } 59 60 @java.lang.Override 61 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()62 internalGetFieldAccessorTable() { 63 return com.google.cloud.retail.v2.ProductServiceProto 64 .internal_static_google_cloud_retail_v2_SetInventoryRequest_fieldAccessorTable 65 .ensureFieldAccessorsInitialized( 66 com.google.cloud.retail.v2.SetInventoryRequest.class, 67 com.google.cloud.retail.v2.SetInventoryRequest.Builder.class); 68 } 69 70 public static final int INVENTORY_FIELD_NUMBER = 1; 71 private com.google.cloud.retail.v2.Product inventory_; 72 /** 73 * 74 * 75 * <pre> 76 * Required. The inventory information to update. The allowable fields to 77 * update are: 78 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 79 * * [Product.availability][google.cloud.retail.v2.Product.availability] 80 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 81 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 82 * The updated inventory fields must be specified in 83 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 84 * If 85 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 86 * is empty or invalid, an INVALID_ARGUMENT error is returned. 87 * If the caller does not have permission to update the 88 * [Product][google.cloud.retail.v2.Product] named in 89 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 90 * or not it exists, a PERMISSION_DENIED error is returned. 91 * If the [Product][google.cloud.retail.v2.Product] to update does not have 92 * existing inventory information, the provided inventory information will be 93 * inserted. 94 * If the [Product][google.cloud.retail.v2.Product] to update has existing 95 * inventory information, the provided inventory information will be merged 96 * while respecting the last update time for each inventory field, using the 97 * provided or default value for 98 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 99 * The caller can replace place IDs for a subset of fulfillment types in the 100 * following ways: 101 * * Adds "fulfillment_info" in 102 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 103 * * Specifies only the desired fulfillment types and corresponding place IDs 104 * to update in 105 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 106 * The caller can clear all place IDs from a subset of fulfillment types in 107 * the following ways: 108 * * Adds "fulfillment_info" in 109 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 110 * * Specifies only the desired fulfillment types to clear in 111 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 112 * * Checks that only the desired fulfillment info types have empty 113 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 114 * The last update time is recorded for the following inventory fields: 115 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 116 * * [Product.availability][google.cloud.retail.v2.Product.availability] 117 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 118 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 119 * If a full overwrite of inventory information while ignoring timestamps is 120 * needed, 121 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 122 * should be invoked instead. 123 * </pre> 124 * 125 * <code>.google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 126 * </code> 127 * 128 * @return Whether the inventory field is set. 129 */ 130 @java.lang.Override hasInventory()131 public boolean hasInventory() { 132 return inventory_ != null; 133 } 134 /** 135 * 136 * 137 * <pre> 138 * Required. The inventory information to update. The allowable fields to 139 * update are: 140 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 141 * * [Product.availability][google.cloud.retail.v2.Product.availability] 142 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 143 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 144 * The updated inventory fields must be specified in 145 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 146 * If 147 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 148 * is empty or invalid, an INVALID_ARGUMENT error is returned. 149 * If the caller does not have permission to update the 150 * [Product][google.cloud.retail.v2.Product] named in 151 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 152 * or not it exists, a PERMISSION_DENIED error is returned. 153 * If the [Product][google.cloud.retail.v2.Product] to update does not have 154 * existing inventory information, the provided inventory information will be 155 * inserted. 156 * If the [Product][google.cloud.retail.v2.Product] to update has existing 157 * inventory information, the provided inventory information will be merged 158 * while respecting the last update time for each inventory field, using the 159 * provided or default value for 160 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 161 * The caller can replace place IDs for a subset of fulfillment types in the 162 * following ways: 163 * * Adds "fulfillment_info" in 164 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 165 * * Specifies only the desired fulfillment types and corresponding place IDs 166 * to update in 167 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 168 * The caller can clear all place IDs from a subset of fulfillment types in 169 * the following ways: 170 * * Adds "fulfillment_info" in 171 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 172 * * Specifies only the desired fulfillment types to clear in 173 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 174 * * Checks that only the desired fulfillment info types have empty 175 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 176 * The last update time is recorded for the following inventory fields: 177 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 178 * * [Product.availability][google.cloud.retail.v2.Product.availability] 179 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 180 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 181 * If a full overwrite of inventory information while ignoring timestamps is 182 * needed, 183 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 184 * should be invoked instead. 185 * </pre> 186 * 187 * <code>.google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 188 * </code> 189 * 190 * @return The inventory. 191 */ 192 @java.lang.Override getInventory()193 public com.google.cloud.retail.v2.Product getInventory() { 194 return inventory_ == null 195 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 196 : inventory_; 197 } 198 /** 199 * 200 * 201 * <pre> 202 * Required. The inventory information to update. The allowable fields to 203 * update are: 204 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 205 * * [Product.availability][google.cloud.retail.v2.Product.availability] 206 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 207 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 208 * The updated inventory fields must be specified in 209 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 210 * If 211 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 212 * is empty or invalid, an INVALID_ARGUMENT error is returned. 213 * If the caller does not have permission to update the 214 * [Product][google.cloud.retail.v2.Product] named in 215 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 216 * or not it exists, a PERMISSION_DENIED error is returned. 217 * If the [Product][google.cloud.retail.v2.Product] to update does not have 218 * existing inventory information, the provided inventory information will be 219 * inserted. 220 * If the [Product][google.cloud.retail.v2.Product] to update has existing 221 * inventory information, the provided inventory information will be merged 222 * while respecting the last update time for each inventory field, using the 223 * provided or default value for 224 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 225 * The caller can replace place IDs for a subset of fulfillment types in the 226 * following ways: 227 * * Adds "fulfillment_info" in 228 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 229 * * Specifies only the desired fulfillment types and corresponding place IDs 230 * to update in 231 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 232 * The caller can clear all place IDs from a subset of fulfillment types in 233 * the following ways: 234 * * Adds "fulfillment_info" in 235 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 236 * * Specifies only the desired fulfillment types to clear in 237 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 238 * * Checks that only the desired fulfillment info types have empty 239 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 240 * The last update time is recorded for the following inventory fields: 241 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 242 * * [Product.availability][google.cloud.retail.v2.Product.availability] 243 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 244 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 245 * If a full overwrite of inventory information while ignoring timestamps is 246 * needed, 247 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 248 * should be invoked instead. 249 * </pre> 250 * 251 * <code>.google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 252 * </code> 253 */ 254 @java.lang.Override getInventoryOrBuilder()255 public com.google.cloud.retail.v2.ProductOrBuilder getInventoryOrBuilder() { 256 return inventory_ == null 257 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 258 : inventory_; 259 } 260 261 public static final int SET_MASK_FIELD_NUMBER = 2; 262 private com.google.protobuf.FieldMask setMask_; 263 /** 264 * 265 * 266 * <pre> 267 * Indicates which inventory fields in the provided 268 * [Product][google.cloud.retail.v2.Product] to update. 269 * At least one field must be provided. 270 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 271 * is returned and the entire update will be ignored. 272 * </pre> 273 * 274 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 275 * 276 * @return Whether the setMask field is set. 277 */ 278 @java.lang.Override hasSetMask()279 public boolean hasSetMask() { 280 return setMask_ != null; 281 } 282 /** 283 * 284 * 285 * <pre> 286 * Indicates which inventory fields in the provided 287 * [Product][google.cloud.retail.v2.Product] to update. 288 * At least one field must be provided. 289 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 290 * is returned and the entire update will be ignored. 291 * </pre> 292 * 293 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 294 * 295 * @return The setMask. 296 */ 297 @java.lang.Override getSetMask()298 public com.google.protobuf.FieldMask getSetMask() { 299 return setMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : setMask_; 300 } 301 /** 302 * 303 * 304 * <pre> 305 * Indicates which inventory fields in the provided 306 * [Product][google.cloud.retail.v2.Product] to update. 307 * At least one field must be provided. 308 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 309 * is returned and the entire update will be ignored. 310 * </pre> 311 * 312 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 313 */ 314 @java.lang.Override getSetMaskOrBuilder()315 public com.google.protobuf.FieldMaskOrBuilder getSetMaskOrBuilder() { 316 return setMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : setMask_; 317 } 318 319 public static final int SET_TIME_FIELD_NUMBER = 3; 320 private com.google.protobuf.Timestamp setTime_; 321 /** 322 * 323 * 324 * <pre> 325 * The time when the request is issued, used to prevent 326 * out-of-order updates on inventory fields with the last update time 327 * recorded. If not provided, the internal system time will be used. 328 * </pre> 329 * 330 * <code>.google.protobuf.Timestamp set_time = 3;</code> 331 * 332 * @return Whether the setTime field is set. 333 */ 334 @java.lang.Override hasSetTime()335 public boolean hasSetTime() { 336 return setTime_ != null; 337 } 338 /** 339 * 340 * 341 * <pre> 342 * The time when the request is issued, used to prevent 343 * out-of-order updates on inventory fields with the last update time 344 * recorded. If not provided, the internal system time will be used. 345 * </pre> 346 * 347 * <code>.google.protobuf.Timestamp set_time = 3;</code> 348 * 349 * @return The setTime. 350 */ 351 @java.lang.Override getSetTime()352 public com.google.protobuf.Timestamp getSetTime() { 353 return setTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : setTime_; 354 } 355 /** 356 * 357 * 358 * <pre> 359 * The time when the request is issued, used to prevent 360 * out-of-order updates on inventory fields with the last update time 361 * recorded. If not provided, the internal system time will be used. 362 * </pre> 363 * 364 * <code>.google.protobuf.Timestamp set_time = 3;</code> 365 */ 366 @java.lang.Override getSetTimeOrBuilder()367 public com.google.protobuf.TimestampOrBuilder getSetTimeOrBuilder() { 368 return setTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : setTime_; 369 } 370 371 public static final int ALLOW_MISSING_FIELD_NUMBER = 4; 372 private boolean allowMissing_ = false; 373 /** 374 * 375 * 376 * <pre> 377 * If set to true, and the [Product][google.cloud.retail.v2.Product] with name 378 * [Product.name][google.cloud.retail.v2.Product.name] is not found, the 379 * inventory update will still be processed and retained for at most 1 day 380 * until the [Product][google.cloud.retail.v2.Product] is created. If set to 381 * false, a NOT_FOUND error is returned if the 382 * [Product][google.cloud.retail.v2.Product] is not found. 383 * </pre> 384 * 385 * <code>bool allow_missing = 4;</code> 386 * 387 * @return The allowMissing. 388 */ 389 @java.lang.Override getAllowMissing()390 public boolean getAllowMissing() { 391 return allowMissing_; 392 } 393 394 private byte memoizedIsInitialized = -1; 395 396 @java.lang.Override isInitialized()397 public final boolean isInitialized() { 398 byte isInitialized = memoizedIsInitialized; 399 if (isInitialized == 1) return true; 400 if (isInitialized == 0) return false; 401 402 memoizedIsInitialized = 1; 403 return true; 404 } 405 406 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)407 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 408 if (inventory_ != null) { 409 output.writeMessage(1, getInventory()); 410 } 411 if (setMask_ != null) { 412 output.writeMessage(2, getSetMask()); 413 } 414 if (setTime_ != null) { 415 output.writeMessage(3, getSetTime()); 416 } 417 if (allowMissing_ != false) { 418 output.writeBool(4, allowMissing_); 419 } 420 getUnknownFields().writeTo(output); 421 } 422 423 @java.lang.Override getSerializedSize()424 public int getSerializedSize() { 425 int size = memoizedSize; 426 if (size != -1) return size; 427 428 size = 0; 429 if (inventory_ != null) { 430 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getInventory()); 431 } 432 if (setMask_ != null) { 433 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSetMask()); 434 } 435 if (setTime_ != null) { 436 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getSetTime()); 437 } 438 if (allowMissing_ != false) { 439 size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, allowMissing_); 440 } 441 size += getUnknownFields().getSerializedSize(); 442 memoizedSize = size; 443 return size; 444 } 445 446 @java.lang.Override equals(final java.lang.Object obj)447 public boolean equals(final java.lang.Object obj) { 448 if (obj == this) { 449 return true; 450 } 451 if (!(obj instanceof com.google.cloud.retail.v2.SetInventoryRequest)) { 452 return super.equals(obj); 453 } 454 com.google.cloud.retail.v2.SetInventoryRequest other = 455 (com.google.cloud.retail.v2.SetInventoryRequest) obj; 456 457 if (hasInventory() != other.hasInventory()) return false; 458 if (hasInventory()) { 459 if (!getInventory().equals(other.getInventory())) return false; 460 } 461 if (hasSetMask() != other.hasSetMask()) return false; 462 if (hasSetMask()) { 463 if (!getSetMask().equals(other.getSetMask())) return false; 464 } 465 if (hasSetTime() != other.hasSetTime()) return false; 466 if (hasSetTime()) { 467 if (!getSetTime().equals(other.getSetTime())) return false; 468 } 469 if (getAllowMissing() != other.getAllowMissing()) return false; 470 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 471 return true; 472 } 473 474 @java.lang.Override hashCode()475 public int hashCode() { 476 if (memoizedHashCode != 0) { 477 return memoizedHashCode; 478 } 479 int hash = 41; 480 hash = (19 * hash) + getDescriptor().hashCode(); 481 if (hasInventory()) { 482 hash = (37 * hash) + INVENTORY_FIELD_NUMBER; 483 hash = (53 * hash) + getInventory().hashCode(); 484 } 485 if (hasSetMask()) { 486 hash = (37 * hash) + SET_MASK_FIELD_NUMBER; 487 hash = (53 * hash) + getSetMask().hashCode(); 488 } 489 if (hasSetTime()) { 490 hash = (37 * hash) + SET_TIME_FIELD_NUMBER; 491 hash = (53 * hash) + getSetTime().hashCode(); 492 } 493 hash = (37 * hash) + ALLOW_MISSING_FIELD_NUMBER; 494 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAllowMissing()); 495 hash = (29 * hash) + getUnknownFields().hashCode(); 496 memoizedHashCode = hash; 497 return hash; 498 } 499 parseFrom(java.nio.ByteBuffer data)500 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom(java.nio.ByteBuffer data) 501 throws com.google.protobuf.InvalidProtocolBufferException { 502 return PARSER.parseFrom(data); 503 } 504 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)505 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 506 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 507 throws com.google.protobuf.InvalidProtocolBufferException { 508 return PARSER.parseFrom(data, extensionRegistry); 509 } 510 parseFrom( com.google.protobuf.ByteString data)511 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 512 com.google.protobuf.ByteString data) 513 throws com.google.protobuf.InvalidProtocolBufferException { 514 return PARSER.parseFrom(data); 515 } 516 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)517 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 518 com.google.protobuf.ByteString data, 519 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 520 throws com.google.protobuf.InvalidProtocolBufferException { 521 return PARSER.parseFrom(data, extensionRegistry); 522 } 523 parseFrom(byte[] data)524 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom(byte[] data) 525 throws com.google.protobuf.InvalidProtocolBufferException { 526 return PARSER.parseFrom(data); 527 } 528 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)529 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 530 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 531 throws com.google.protobuf.InvalidProtocolBufferException { 532 return PARSER.parseFrom(data, extensionRegistry); 533 } 534 parseFrom(java.io.InputStream input)535 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom(java.io.InputStream input) 536 throws java.io.IOException { 537 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 538 } 539 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)540 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 541 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 542 throws java.io.IOException { 543 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 544 PARSER, input, extensionRegistry); 545 } 546 parseDelimitedFrom( java.io.InputStream input)547 public static com.google.cloud.retail.v2.SetInventoryRequest parseDelimitedFrom( 548 java.io.InputStream input) throws java.io.IOException { 549 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 550 } 551 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)552 public static com.google.cloud.retail.v2.SetInventoryRequest parseDelimitedFrom( 553 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 554 throws java.io.IOException { 555 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 556 PARSER, input, extensionRegistry); 557 } 558 parseFrom( com.google.protobuf.CodedInputStream input)559 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 560 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 561 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 562 } 563 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)564 public static com.google.cloud.retail.v2.SetInventoryRequest parseFrom( 565 com.google.protobuf.CodedInputStream input, 566 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 567 throws java.io.IOException { 568 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 569 PARSER, input, extensionRegistry); 570 } 571 572 @java.lang.Override newBuilderForType()573 public Builder newBuilderForType() { 574 return newBuilder(); 575 } 576 newBuilder()577 public static Builder newBuilder() { 578 return DEFAULT_INSTANCE.toBuilder(); 579 } 580 newBuilder(com.google.cloud.retail.v2.SetInventoryRequest prototype)581 public static Builder newBuilder(com.google.cloud.retail.v2.SetInventoryRequest prototype) { 582 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 583 } 584 585 @java.lang.Override toBuilder()586 public Builder toBuilder() { 587 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 588 } 589 590 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)591 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 592 Builder builder = new Builder(parent); 593 return builder; 594 } 595 /** 596 * 597 * 598 * <pre> 599 * Request message for 600 * [ProductService.SetInventory][google.cloud.retail.v2.ProductService.SetInventory] 601 * method. 602 * </pre> 603 * 604 * Protobuf type {@code google.cloud.retail.v2.SetInventoryRequest} 605 */ 606 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 607 implements 608 // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2.SetInventoryRequest) 609 com.google.cloud.retail.v2.SetInventoryRequestOrBuilder { getDescriptor()610 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 611 return com.google.cloud.retail.v2.ProductServiceProto 612 .internal_static_google_cloud_retail_v2_SetInventoryRequest_descriptor; 613 } 614 615 @java.lang.Override 616 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()617 internalGetFieldAccessorTable() { 618 return com.google.cloud.retail.v2.ProductServiceProto 619 .internal_static_google_cloud_retail_v2_SetInventoryRequest_fieldAccessorTable 620 .ensureFieldAccessorsInitialized( 621 com.google.cloud.retail.v2.SetInventoryRequest.class, 622 com.google.cloud.retail.v2.SetInventoryRequest.Builder.class); 623 } 624 625 // Construct using com.google.cloud.retail.v2.SetInventoryRequest.newBuilder() Builder()626 private Builder() {} 627 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)628 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 629 super(parent); 630 } 631 632 @java.lang.Override clear()633 public Builder clear() { 634 super.clear(); 635 bitField0_ = 0; 636 inventory_ = null; 637 if (inventoryBuilder_ != null) { 638 inventoryBuilder_.dispose(); 639 inventoryBuilder_ = null; 640 } 641 setMask_ = null; 642 if (setMaskBuilder_ != null) { 643 setMaskBuilder_.dispose(); 644 setMaskBuilder_ = null; 645 } 646 setTime_ = null; 647 if (setTimeBuilder_ != null) { 648 setTimeBuilder_.dispose(); 649 setTimeBuilder_ = null; 650 } 651 allowMissing_ = false; 652 return this; 653 } 654 655 @java.lang.Override getDescriptorForType()656 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 657 return com.google.cloud.retail.v2.ProductServiceProto 658 .internal_static_google_cloud_retail_v2_SetInventoryRequest_descriptor; 659 } 660 661 @java.lang.Override getDefaultInstanceForType()662 public com.google.cloud.retail.v2.SetInventoryRequest getDefaultInstanceForType() { 663 return com.google.cloud.retail.v2.SetInventoryRequest.getDefaultInstance(); 664 } 665 666 @java.lang.Override build()667 public com.google.cloud.retail.v2.SetInventoryRequest build() { 668 com.google.cloud.retail.v2.SetInventoryRequest result = buildPartial(); 669 if (!result.isInitialized()) { 670 throw newUninitializedMessageException(result); 671 } 672 return result; 673 } 674 675 @java.lang.Override buildPartial()676 public com.google.cloud.retail.v2.SetInventoryRequest buildPartial() { 677 com.google.cloud.retail.v2.SetInventoryRequest result = 678 new com.google.cloud.retail.v2.SetInventoryRequest(this); 679 if (bitField0_ != 0) { 680 buildPartial0(result); 681 } 682 onBuilt(); 683 return result; 684 } 685 buildPartial0(com.google.cloud.retail.v2.SetInventoryRequest result)686 private void buildPartial0(com.google.cloud.retail.v2.SetInventoryRequest result) { 687 int from_bitField0_ = bitField0_; 688 if (((from_bitField0_ & 0x00000001) != 0)) { 689 result.inventory_ = inventoryBuilder_ == null ? inventory_ : inventoryBuilder_.build(); 690 } 691 if (((from_bitField0_ & 0x00000002) != 0)) { 692 result.setMask_ = setMaskBuilder_ == null ? setMask_ : setMaskBuilder_.build(); 693 } 694 if (((from_bitField0_ & 0x00000004) != 0)) { 695 result.setTime_ = setTimeBuilder_ == null ? setTime_ : setTimeBuilder_.build(); 696 } 697 if (((from_bitField0_ & 0x00000008) != 0)) { 698 result.allowMissing_ = allowMissing_; 699 } 700 } 701 702 @java.lang.Override clone()703 public Builder clone() { 704 return super.clone(); 705 } 706 707 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)708 public Builder setField( 709 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 710 return super.setField(field, value); 711 } 712 713 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)714 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 715 return super.clearField(field); 716 } 717 718 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)719 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 720 return super.clearOneof(oneof); 721 } 722 723 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)724 public Builder setRepeatedField( 725 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 726 return super.setRepeatedField(field, index, value); 727 } 728 729 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)730 public Builder addRepeatedField( 731 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 732 return super.addRepeatedField(field, value); 733 } 734 735 @java.lang.Override mergeFrom(com.google.protobuf.Message other)736 public Builder mergeFrom(com.google.protobuf.Message other) { 737 if (other instanceof com.google.cloud.retail.v2.SetInventoryRequest) { 738 return mergeFrom((com.google.cloud.retail.v2.SetInventoryRequest) other); 739 } else { 740 super.mergeFrom(other); 741 return this; 742 } 743 } 744 mergeFrom(com.google.cloud.retail.v2.SetInventoryRequest other)745 public Builder mergeFrom(com.google.cloud.retail.v2.SetInventoryRequest other) { 746 if (other == com.google.cloud.retail.v2.SetInventoryRequest.getDefaultInstance()) return this; 747 if (other.hasInventory()) { 748 mergeInventory(other.getInventory()); 749 } 750 if (other.hasSetMask()) { 751 mergeSetMask(other.getSetMask()); 752 } 753 if (other.hasSetTime()) { 754 mergeSetTime(other.getSetTime()); 755 } 756 if (other.getAllowMissing() != false) { 757 setAllowMissing(other.getAllowMissing()); 758 } 759 this.mergeUnknownFields(other.getUnknownFields()); 760 onChanged(); 761 return this; 762 } 763 764 @java.lang.Override isInitialized()765 public final boolean isInitialized() { 766 return true; 767 } 768 769 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)770 public Builder mergeFrom( 771 com.google.protobuf.CodedInputStream input, 772 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 773 throws java.io.IOException { 774 if (extensionRegistry == null) { 775 throw new java.lang.NullPointerException(); 776 } 777 try { 778 boolean done = false; 779 while (!done) { 780 int tag = input.readTag(); 781 switch (tag) { 782 case 0: 783 done = true; 784 break; 785 case 10: 786 { 787 input.readMessage(getInventoryFieldBuilder().getBuilder(), extensionRegistry); 788 bitField0_ |= 0x00000001; 789 break; 790 } // case 10 791 case 18: 792 { 793 input.readMessage(getSetMaskFieldBuilder().getBuilder(), extensionRegistry); 794 bitField0_ |= 0x00000002; 795 break; 796 } // case 18 797 case 26: 798 { 799 input.readMessage(getSetTimeFieldBuilder().getBuilder(), extensionRegistry); 800 bitField0_ |= 0x00000004; 801 break; 802 } // case 26 803 case 32: 804 { 805 allowMissing_ = input.readBool(); 806 bitField0_ |= 0x00000008; 807 break; 808 } // case 32 809 default: 810 { 811 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 812 done = true; // was an endgroup tag 813 } 814 break; 815 } // default: 816 } // switch (tag) 817 } // while (!done) 818 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 819 throw e.unwrapIOException(); 820 } finally { 821 onChanged(); 822 } // finally 823 return this; 824 } 825 826 private int bitField0_; 827 828 private com.google.cloud.retail.v2.Product inventory_; 829 private com.google.protobuf.SingleFieldBuilderV3< 830 com.google.cloud.retail.v2.Product, 831 com.google.cloud.retail.v2.Product.Builder, 832 com.google.cloud.retail.v2.ProductOrBuilder> 833 inventoryBuilder_; 834 /** 835 * 836 * 837 * <pre> 838 * Required. The inventory information to update. The allowable fields to 839 * update are: 840 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 841 * * [Product.availability][google.cloud.retail.v2.Product.availability] 842 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 843 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 844 * The updated inventory fields must be specified in 845 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 846 * If 847 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 848 * is empty or invalid, an INVALID_ARGUMENT error is returned. 849 * If the caller does not have permission to update the 850 * [Product][google.cloud.retail.v2.Product] named in 851 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 852 * or not it exists, a PERMISSION_DENIED error is returned. 853 * If the [Product][google.cloud.retail.v2.Product] to update does not have 854 * existing inventory information, the provided inventory information will be 855 * inserted. 856 * If the [Product][google.cloud.retail.v2.Product] to update has existing 857 * inventory information, the provided inventory information will be merged 858 * while respecting the last update time for each inventory field, using the 859 * provided or default value for 860 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 861 * The caller can replace place IDs for a subset of fulfillment types in the 862 * following ways: 863 * * Adds "fulfillment_info" in 864 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 865 * * Specifies only the desired fulfillment types and corresponding place IDs 866 * to update in 867 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 868 * The caller can clear all place IDs from a subset of fulfillment types in 869 * the following ways: 870 * * Adds "fulfillment_info" in 871 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 872 * * Specifies only the desired fulfillment types to clear in 873 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 874 * * Checks that only the desired fulfillment info types have empty 875 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 876 * The last update time is recorded for the following inventory fields: 877 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 878 * * [Product.availability][google.cloud.retail.v2.Product.availability] 879 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 880 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 881 * If a full overwrite of inventory information while ignoring timestamps is 882 * needed, 883 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 884 * should be invoked instead. 885 * </pre> 886 * 887 * <code> 888 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 889 * </code> 890 * 891 * @return Whether the inventory field is set. 892 */ hasInventory()893 public boolean hasInventory() { 894 return ((bitField0_ & 0x00000001) != 0); 895 } 896 /** 897 * 898 * 899 * <pre> 900 * Required. The inventory information to update. The allowable fields to 901 * update are: 902 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 903 * * [Product.availability][google.cloud.retail.v2.Product.availability] 904 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 905 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 906 * The updated inventory fields must be specified in 907 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 908 * If 909 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 910 * is empty or invalid, an INVALID_ARGUMENT error is returned. 911 * If the caller does not have permission to update the 912 * [Product][google.cloud.retail.v2.Product] named in 913 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 914 * or not it exists, a PERMISSION_DENIED error is returned. 915 * If the [Product][google.cloud.retail.v2.Product] to update does not have 916 * existing inventory information, the provided inventory information will be 917 * inserted. 918 * If the [Product][google.cloud.retail.v2.Product] to update has existing 919 * inventory information, the provided inventory information will be merged 920 * while respecting the last update time for each inventory field, using the 921 * provided or default value for 922 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 923 * The caller can replace place IDs for a subset of fulfillment types in the 924 * following ways: 925 * * Adds "fulfillment_info" in 926 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 927 * * Specifies only the desired fulfillment types and corresponding place IDs 928 * to update in 929 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 930 * The caller can clear all place IDs from a subset of fulfillment types in 931 * the following ways: 932 * * Adds "fulfillment_info" in 933 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 934 * * Specifies only the desired fulfillment types to clear in 935 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 936 * * Checks that only the desired fulfillment info types have empty 937 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 938 * The last update time is recorded for the following inventory fields: 939 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 940 * * [Product.availability][google.cloud.retail.v2.Product.availability] 941 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 942 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 943 * If a full overwrite of inventory information while ignoring timestamps is 944 * needed, 945 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 946 * should be invoked instead. 947 * </pre> 948 * 949 * <code> 950 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 951 * </code> 952 * 953 * @return The inventory. 954 */ getInventory()955 public com.google.cloud.retail.v2.Product getInventory() { 956 if (inventoryBuilder_ == null) { 957 return inventory_ == null 958 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 959 : inventory_; 960 } else { 961 return inventoryBuilder_.getMessage(); 962 } 963 } 964 /** 965 * 966 * 967 * <pre> 968 * Required. The inventory information to update. The allowable fields to 969 * update are: 970 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 971 * * [Product.availability][google.cloud.retail.v2.Product.availability] 972 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 973 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 974 * The updated inventory fields must be specified in 975 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 976 * If 977 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 978 * is empty or invalid, an INVALID_ARGUMENT error is returned. 979 * If the caller does not have permission to update the 980 * [Product][google.cloud.retail.v2.Product] named in 981 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 982 * or not it exists, a PERMISSION_DENIED error is returned. 983 * If the [Product][google.cloud.retail.v2.Product] to update does not have 984 * existing inventory information, the provided inventory information will be 985 * inserted. 986 * If the [Product][google.cloud.retail.v2.Product] to update has existing 987 * inventory information, the provided inventory information will be merged 988 * while respecting the last update time for each inventory field, using the 989 * provided or default value for 990 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 991 * The caller can replace place IDs for a subset of fulfillment types in the 992 * following ways: 993 * * Adds "fulfillment_info" in 994 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 995 * * Specifies only the desired fulfillment types and corresponding place IDs 996 * to update in 997 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 998 * The caller can clear all place IDs from a subset of fulfillment types in 999 * the following ways: 1000 * * Adds "fulfillment_info" in 1001 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1002 * * Specifies only the desired fulfillment types to clear in 1003 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1004 * * Checks that only the desired fulfillment info types have empty 1005 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1006 * The last update time is recorded for the following inventory fields: 1007 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1008 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1009 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1010 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1011 * If a full overwrite of inventory information while ignoring timestamps is 1012 * needed, 1013 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1014 * should be invoked instead. 1015 * </pre> 1016 * 1017 * <code> 1018 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1019 * </code> 1020 */ setInventory(com.google.cloud.retail.v2.Product value)1021 public Builder setInventory(com.google.cloud.retail.v2.Product value) { 1022 if (inventoryBuilder_ == null) { 1023 if (value == null) { 1024 throw new NullPointerException(); 1025 } 1026 inventory_ = value; 1027 } else { 1028 inventoryBuilder_.setMessage(value); 1029 } 1030 bitField0_ |= 0x00000001; 1031 onChanged(); 1032 return this; 1033 } 1034 /** 1035 * 1036 * 1037 * <pre> 1038 * Required. The inventory information to update. The allowable fields to 1039 * update are: 1040 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1041 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1042 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1043 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1044 * The updated inventory fields must be specified in 1045 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1046 * If 1047 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1048 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1049 * If the caller does not have permission to update the 1050 * [Product][google.cloud.retail.v2.Product] named in 1051 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1052 * or not it exists, a PERMISSION_DENIED error is returned. 1053 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1054 * existing inventory information, the provided inventory information will be 1055 * inserted. 1056 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1057 * inventory information, the provided inventory information will be merged 1058 * while respecting the last update time for each inventory field, using the 1059 * provided or default value for 1060 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1061 * The caller can replace place IDs for a subset of fulfillment types in the 1062 * following ways: 1063 * * Adds "fulfillment_info" in 1064 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1065 * * Specifies only the desired fulfillment types and corresponding place IDs 1066 * to update in 1067 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1068 * The caller can clear all place IDs from a subset of fulfillment types in 1069 * the following ways: 1070 * * Adds "fulfillment_info" in 1071 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1072 * * Specifies only the desired fulfillment types to clear in 1073 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1074 * * Checks that only the desired fulfillment info types have empty 1075 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1076 * The last update time is recorded for the following inventory fields: 1077 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1078 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1079 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1080 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1081 * If a full overwrite of inventory information while ignoring timestamps is 1082 * needed, 1083 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1084 * should be invoked instead. 1085 * </pre> 1086 * 1087 * <code> 1088 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1089 * </code> 1090 */ setInventory(com.google.cloud.retail.v2.Product.Builder builderForValue)1091 public Builder setInventory(com.google.cloud.retail.v2.Product.Builder builderForValue) { 1092 if (inventoryBuilder_ == null) { 1093 inventory_ = builderForValue.build(); 1094 } else { 1095 inventoryBuilder_.setMessage(builderForValue.build()); 1096 } 1097 bitField0_ |= 0x00000001; 1098 onChanged(); 1099 return this; 1100 } 1101 /** 1102 * 1103 * 1104 * <pre> 1105 * Required. The inventory information to update. The allowable fields to 1106 * update are: 1107 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1108 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1109 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1110 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1111 * The updated inventory fields must be specified in 1112 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1113 * If 1114 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1115 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1116 * If the caller does not have permission to update the 1117 * [Product][google.cloud.retail.v2.Product] named in 1118 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1119 * or not it exists, a PERMISSION_DENIED error is returned. 1120 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1121 * existing inventory information, the provided inventory information will be 1122 * inserted. 1123 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1124 * inventory information, the provided inventory information will be merged 1125 * while respecting the last update time for each inventory field, using the 1126 * provided or default value for 1127 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1128 * The caller can replace place IDs for a subset of fulfillment types in the 1129 * following ways: 1130 * * Adds "fulfillment_info" in 1131 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1132 * * Specifies only the desired fulfillment types and corresponding place IDs 1133 * to update in 1134 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1135 * The caller can clear all place IDs from a subset of fulfillment types in 1136 * the following ways: 1137 * * Adds "fulfillment_info" in 1138 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1139 * * Specifies only the desired fulfillment types to clear in 1140 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1141 * * Checks that only the desired fulfillment info types have empty 1142 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1143 * The last update time is recorded for the following inventory fields: 1144 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1145 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1146 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1147 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1148 * If a full overwrite of inventory information while ignoring timestamps is 1149 * needed, 1150 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1151 * should be invoked instead. 1152 * </pre> 1153 * 1154 * <code> 1155 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1156 * </code> 1157 */ mergeInventory(com.google.cloud.retail.v2.Product value)1158 public Builder mergeInventory(com.google.cloud.retail.v2.Product value) { 1159 if (inventoryBuilder_ == null) { 1160 if (((bitField0_ & 0x00000001) != 0) 1161 && inventory_ != null 1162 && inventory_ != com.google.cloud.retail.v2.Product.getDefaultInstance()) { 1163 getInventoryBuilder().mergeFrom(value); 1164 } else { 1165 inventory_ = value; 1166 } 1167 } else { 1168 inventoryBuilder_.mergeFrom(value); 1169 } 1170 bitField0_ |= 0x00000001; 1171 onChanged(); 1172 return this; 1173 } 1174 /** 1175 * 1176 * 1177 * <pre> 1178 * Required. The inventory information to update. The allowable fields to 1179 * update are: 1180 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1181 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1182 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1183 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1184 * The updated inventory fields must be specified in 1185 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1186 * If 1187 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1188 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1189 * If the caller does not have permission to update the 1190 * [Product][google.cloud.retail.v2.Product] named in 1191 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1192 * or not it exists, a PERMISSION_DENIED error is returned. 1193 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1194 * existing inventory information, the provided inventory information will be 1195 * inserted. 1196 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1197 * inventory information, the provided inventory information will be merged 1198 * while respecting the last update time for each inventory field, using the 1199 * provided or default value for 1200 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1201 * The caller can replace place IDs for a subset of fulfillment types in the 1202 * following ways: 1203 * * Adds "fulfillment_info" in 1204 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1205 * * Specifies only the desired fulfillment types and corresponding place IDs 1206 * to update in 1207 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1208 * The caller can clear all place IDs from a subset of fulfillment types in 1209 * the following ways: 1210 * * Adds "fulfillment_info" in 1211 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1212 * * Specifies only the desired fulfillment types to clear in 1213 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1214 * * Checks that only the desired fulfillment info types have empty 1215 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1216 * The last update time is recorded for the following inventory fields: 1217 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1218 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1219 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1220 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1221 * If a full overwrite of inventory information while ignoring timestamps is 1222 * needed, 1223 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1224 * should be invoked instead. 1225 * </pre> 1226 * 1227 * <code> 1228 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1229 * </code> 1230 */ clearInventory()1231 public Builder clearInventory() { 1232 bitField0_ = (bitField0_ & ~0x00000001); 1233 inventory_ = null; 1234 if (inventoryBuilder_ != null) { 1235 inventoryBuilder_.dispose(); 1236 inventoryBuilder_ = null; 1237 } 1238 onChanged(); 1239 return this; 1240 } 1241 /** 1242 * 1243 * 1244 * <pre> 1245 * Required. The inventory information to update. The allowable fields to 1246 * update are: 1247 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1248 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1249 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1250 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1251 * The updated inventory fields must be specified in 1252 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1253 * If 1254 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1255 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1256 * If the caller does not have permission to update the 1257 * [Product][google.cloud.retail.v2.Product] named in 1258 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1259 * or not it exists, a PERMISSION_DENIED error is returned. 1260 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1261 * existing inventory information, the provided inventory information will be 1262 * inserted. 1263 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1264 * inventory information, the provided inventory information will be merged 1265 * while respecting the last update time for each inventory field, using the 1266 * provided or default value for 1267 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1268 * The caller can replace place IDs for a subset of fulfillment types in the 1269 * following ways: 1270 * * Adds "fulfillment_info" in 1271 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1272 * * Specifies only the desired fulfillment types and corresponding place IDs 1273 * to update in 1274 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1275 * The caller can clear all place IDs from a subset of fulfillment types in 1276 * the following ways: 1277 * * Adds "fulfillment_info" in 1278 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1279 * * Specifies only the desired fulfillment types to clear in 1280 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1281 * * Checks that only the desired fulfillment info types have empty 1282 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1283 * The last update time is recorded for the following inventory fields: 1284 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1285 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1286 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1287 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1288 * If a full overwrite of inventory information while ignoring timestamps is 1289 * needed, 1290 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1291 * should be invoked instead. 1292 * </pre> 1293 * 1294 * <code> 1295 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1296 * </code> 1297 */ getInventoryBuilder()1298 public com.google.cloud.retail.v2.Product.Builder getInventoryBuilder() { 1299 bitField0_ |= 0x00000001; 1300 onChanged(); 1301 return getInventoryFieldBuilder().getBuilder(); 1302 } 1303 /** 1304 * 1305 * 1306 * <pre> 1307 * Required. The inventory information to update. The allowable fields to 1308 * update are: 1309 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1310 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1311 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1312 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1313 * The updated inventory fields must be specified in 1314 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1315 * If 1316 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1317 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1318 * If the caller does not have permission to update the 1319 * [Product][google.cloud.retail.v2.Product] named in 1320 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1321 * or not it exists, a PERMISSION_DENIED error is returned. 1322 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1323 * existing inventory information, the provided inventory information will be 1324 * inserted. 1325 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1326 * inventory information, the provided inventory information will be merged 1327 * while respecting the last update time for each inventory field, using the 1328 * provided or default value for 1329 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1330 * The caller can replace place IDs for a subset of fulfillment types in the 1331 * following ways: 1332 * * Adds "fulfillment_info" in 1333 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1334 * * Specifies only the desired fulfillment types and corresponding place IDs 1335 * to update in 1336 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1337 * The caller can clear all place IDs from a subset of fulfillment types in 1338 * the following ways: 1339 * * Adds "fulfillment_info" in 1340 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1341 * * Specifies only the desired fulfillment types to clear in 1342 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1343 * * Checks that only the desired fulfillment info types have empty 1344 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1345 * The last update time is recorded for the following inventory fields: 1346 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1347 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1348 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1349 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1350 * If a full overwrite of inventory information while ignoring timestamps is 1351 * needed, 1352 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1353 * should be invoked instead. 1354 * </pre> 1355 * 1356 * <code> 1357 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1358 * </code> 1359 */ getInventoryOrBuilder()1360 public com.google.cloud.retail.v2.ProductOrBuilder getInventoryOrBuilder() { 1361 if (inventoryBuilder_ != null) { 1362 return inventoryBuilder_.getMessageOrBuilder(); 1363 } else { 1364 return inventory_ == null 1365 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 1366 : inventory_; 1367 } 1368 } 1369 /** 1370 * 1371 * 1372 * <pre> 1373 * Required. The inventory information to update. The allowable fields to 1374 * update are: 1375 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1376 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1377 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1378 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1379 * The updated inventory fields must be specified in 1380 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask]. 1381 * If 1382 * [SetInventoryRequest.inventory.name][google.cloud.retail.v2.Product.name] 1383 * is empty or invalid, an INVALID_ARGUMENT error is returned. 1384 * If the caller does not have permission to update the 1385 * [Product][google.cloud.retail.v2.Product] named in 1386 * [Product.name][google.cloud.retail.v2.Product.name], regardless of whether 1387 * or not it exists, a PERMISSION_DENIED error is returned. 1388 * If the [Product][google.cloud.retail.v2.Product] to update does not have 1389 * existing inventory information, the provided inventory information will be 1390 * inserted. 1391 * If the [Product][google.cloud.retail.v2.Product] to update has existing 1392 * inventory information, the provided inventory information will be merged 1393 * while respecting the last update time for each inventory field, using the 1394 * provided or default value for 1395 * [SetInventoryRequest.set_time][google.cloud.retail.v2.SetInventoryRequest.set_time]. 1396 * The caller can replace place IDs for a subset of fulfillment types in the 1397 * following ways: 1398 * * Adds "fulfillment_info" in 1399 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1400 * * Specifies only the desired fulfillment types and corresponding place IDs 1401 * to update in 1402 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1403 * The caller can clear all place IDs from a subset of fulfillment types in 1404 * the following ways: 1405 * * Adds "fulfillment_info" in 1406 * [SetInventoryRequest.set_mask][google.cloud.retail.v2.SetInventoryRequest.set_mask] 1407 * * Specifies only the desired fulfillment types to clear in 1408 * [SetInventoryRequest.inventory.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1409 * * Checks that only the desired fulfillment info types have empty 1410 * [SetInventoryRequest.inventory.fulfillment_info.place_ids][google.cloud.retail.v2.FulfillmentInfo.place_ids] 1411 * The last update time is recorded for the following inventory fields: 1412 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 1413 * * [Product.availability][google.cloud.retail.v2.Product.availability] 1414 * * [Product.available_quantity][google.cloud.retail.v2.Product.available_quantity] 1415 * * [Product.fulfillment_info][google.cloud.retail.v2.Product.fulfillment_info] 1416 * If a full overwrite of inventory information while ignoring timestamps is 1417 * needed, 1418 * [ProductService.UpdateProduct][google.cloud.retail.v2.ProductService.UpdateProduct] 1419 * should be invoked instead. 1420 * </pre> 1421 * 1422 * <code> 1423 * .google.cloud.retail.v2.Product inventory = 1 [(.google.api.field_behavior) = REQUIRED]; 1424 * </code> 1425 */ 1426 private com.google.protobuf.SingleFieldBuilderV3< 1427 com.google.cloud.retail.v2.Product, 1428 com.google.cloud.retail.v2.Product.Builder, 1429 com.google.cloud.retail.v2.ProductOrBuilder> getInventoryFieldBuilder()1430 getInventoryFieldBuilder() { 1431 if (inventoryBuilder_ == null) { 1432 inventoryBuilder_ = 1433 new com.google.protobuf.SingleFieldBuilderV3< 1434 com.google.cloud.retail.v2.Product, 1435 com.google.cloud.retail.v2.Product.Builder, 1436 com.google.cloud.retail.v2.ProductOrBuilder>( 1437 getInventory(), getParentForChildren(), isClean()); 1438 inventory_ = null; 1439 } 1440 return inventoryBuilder_; 1441 } 1442 1443 private com.google.protobuf.FieldMask setMask_; 1444 private com.google.protobuf.SingleFieldBuilderV3< 1445 com.google.protobuf.FieldMask, 1446 com.google.protobuf.FieldMask.Builder, 1447 com.google.protobuf.FieldMaskOrBuilder> 1448 setMaskBuilder_; 1449 /** 1450 * 1451 * 1452 * <pre> 1453 * Indicates which inventory fields in the provided 1454 * [Product][google.cloud.retail.v2.Product] to update. 1455 * At least one field must be provided. 1456 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1457 * is returned and the entire update will be ignored. 1458 * </pre> 1459 * 1460 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1461 * 1462 * @return Whether the setMask field is set. 1463 */ hasSetMask()1464 public boolean hasSetMask() { 1465 return ((bitField0_ & 0x00000002) != 0); 1466 } 1467 /** 1468 * 1469 * 1470 * <pre> 1471 * Indicates which inventory fields in the provided 1472 * [Product][google.cloud.retail.v2.Product] to update. 1473 * At least one field must be provided. 1474 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1475 * is returned and the entire update will be ignored. 1476 * </pre> 1477 * 1478 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1479 * 1480 * @return The setMask. 1481 */ getSetMask()1482 public com.google.protobuf.FieldMask getSetMask() { 1483 if (setMaskBuilder_ == null) { 1484 return setMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : setMask_; 1485 } else { 1486 return setMaskBuilder_.getMessage(); 1487 } 1488 } 1489 /** 1490 * 1491 * 1492 * <pre> 1493 * Indicates which inventory fields in the provided 1494 * [Product][google.cloud.retail.v2.Product] to update. 1495 * At least one field must be provided. 1496 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1497 * is returned and the entire update will be ignored. 1498 * </pre> 1499 * 1500 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1501 */ setSetMask(com.google.protobuf.FieldMask value)1502 public Builder setSetMask(com.google.protobuf.FieldMask value) { 1503 if (setMaskBuilder_ == null) { 1504 if (value == null) { 1505 throw new NullPointerException(); 1506 } 1507 setMask_ = value; 1508 } else { 1509 setMaskBuilder_.setMessage(value); 1510 } 1511 bitField0_ |= 0x00000002; 1512 onChanged(); 1513 return this; 1514 } 1515 /** 1516 * 1517 * 1518 * <pre> 1519 * Indicates which inventory fields in the provided 1520 * [Product][google.cloud.retail.v2.Product] to update. 1521 * At least one field must be provided. 1522 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1523 * is returned and the entire update will be ignored. 1524 * </pre> 1525 * 1526 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1527 */ setSetMask(com.google.protobuf.FieldMask.Builder builderForValue)1528 public Builder setSetMask(com.google.protobuf.FieldMask.Builder builderForValue) { 1529 if (setMaskBuilder_ == null) { 1530 setMask_ = builderForValue.build(); 1531 } else { 1532 setMaskBuilder_.setMessage(builderForValue.build()); 1533 } 1534 bitField0_ |= 0x00000002; 1535 onChanged(); 1536 return this; 1537 } 1538 /** 1539 * 1540 * 1541 * <pre> 1542 * Indicates which inventory fields in the provided 1543 * [Product][google.cloud.retail.v2.Product] to update. 1544 * At least one field must be provided. 1545 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1546 * is returned and the entire update will be ignored. 1547 * </pre> 1548 * 1549 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1550 */ mergeSetMask(com.google.protobuf.FieldMask value)1551 public Builder mergeSetMask(com.google.protobuf.FieldMask value) { 1552 if (setMaskBuilder_ == null) { 1553 if (((bitField0_ & 0x00000002) != 0) 1554 && setMask_ != null 1555 && setMask_ != com.google.protobuf.FieldMask.getDefaultInstance()) { 1556 getSetMaskBuilder().mergeFrom(value); 1557 } else { 1558 setMask_ = value; 1559 } 1560 } else { 1561 setMaskBuilder_.mergeFrom(value); 1562 } 1563 bitField0_ |= 0x00000002; 1564 onChanged(); 1565 return this; 1566 } 1567 /** 1568 * 1569 * 1570 * <pre> 1571 * Indicates which inventory fields in the provided 1572 * [Product][google.cloud.retail.v2.Product] to update. 1573 * At least one field must be provided. 1574 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1575 * is returned and the entire update will be ignored. 1576 * </pre> 1577 * 1578 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1579 */ clearSetMask()1580 public Builder clearSetMask() { 1581 bitField0_ = (bitField0_ & ~0x00000002); 1582 setMask_ = null; 1583 if (setMaskBuilder_ != null) { 1584 setMaskBuilder_.dispose(); 1585 setMaskBuilder_ = null; 1586 } 1587 onChanged(); 1588 return this; 1589 } 1590 /** 1591 * 1592 * 1593 * <pre> 1594 * Indicates which inventory fields in the provided 1595 * [Product][google.cloud.retail.v2.Product] to update. 1596 * At least one field must be provided. 1597 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1598 * is returned and the entire update will be ignored. 1599 * </pre> 1600 * 1601 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1602 */ getSetMaskBuilder()1603 public com.google.protobuf.FieldMask.Builder getSetMaskBuilder() { 1604 bitField0_ |= 0x00000002; 1605 onChanged(); 1606 return getSetMaskFieldBuilder().getBuilder(); 1607 } 1608 /** 1609 * 1610 * 1611 * <pre> 1612 * Indicates which inventory fields in the provided 1613 * [Product][google.cloud.retail.v2.Product] to update. 1614 * At least one field must be provided. 1615 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1616 * is returned and the entire update will be ignored. 1617 * </pre> 1618 * 1619 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1620 */ getSetMaskOrBuilder()1621 public com.google.protobuf.FieldMaskOrBuilder getSetMaskOrBuilder() { 1622 if (setMaskBuilder_ != null) { 1623 return setMaskBuilder_.getMessageOrBuilder(); 1624 } else { 1625 return setMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : setMask_; 1626 } 1627 } 1628 /** 1629 * 1630 * 1631 * <pre> 1632 * Indicates which inventory fields in the provided 1633 * [Product][google.cloud.retail.v2.Product] to update. 1634 * At least one field must be provided. 1635 * If an unsupported or unknown field is provided, an INVALID_ARGUMENT error 1636 * is returned and the entire update will be ignored. 1637 * </pre> 1638 * 1639 * <code>.google.protobuf.FieldMask set_mask = 2;</code> 1640 */ 1641 private com.google.protobuf.SingleFieldBuilderV3< 1642 com.google.protobuf.FieldMask, 1643 com.google.protobuf.FieldMask.Builder, 1644 com.google.protobuf.FieldMaskOrBuilder> getSetMaskFieldBuilder()1645 getSetMaskFieldBuilder() { 1646 if (setMaskBuilder_ == null) { 1647 setMaskBuilder_ = 1648 new com.google.protobuf.SingleFieldBuilderV3< 1649 com.google.protobuf.FieldMask, 1650 com.google.protobuf.FieldMask.Builder, 1651 com.google.protobuf.FieldMaskOrBuilder>( 1652 getSetMask(), getParentForChildren(), isClean()); 1653 setMask_ = null; 1654 } 1655 return setMaskBuilder_; 1656 } 1657 1658 private com.google.protobuf.Timestamp setTime_; 1659 private com.google.protobuf.SingleFieldBuilderV3< 1660 com.google.protobuf.Timestamp, 1661 com.google.protobuf.Timestamp.Builder, 1662 com.google.protobuf.TimestampOrBuilder> 1663 setTimeBuilder_; 1664 /** 1665 * 1666 * 1667 * <pre> 1668 * The time when the request is issued, used to prevent 1669 * out-of-order updates on inventory fields with the last update time 1670 * recorded. If not provided, the internal system time will be used. 1671 * </pre> 1672 * 1673 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1674 * 1675 * @return Whether the setTime field is set. 1676 */ hasSetTime()1677 public boolean hasSetTime() { 1678 return ((bitField0_ & 0x00000004) != 0); 1679 } 1680 /** 1681 * 1682 * 1683 * <pre> 1684 * The time when the request is issued, used to prevent 1685 * out-of-order updates on inventory fields with the last update time 1686 * recorded. If not provided, the internal system time will be used. 1687 * </pre> 1688 * 1689 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1690 * 1691 * @return The setTime. 1692 */ getSetTime()1693 public com.google.protobuf.Timestamp getSetTime() { 1694 if (setTimeBuilder_ == null) { 1695 return setTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : setTime_; 1696 } else { 1697 return setTimeBuilder_.getMessage(); 1698 } 1699 } 1700 /** 1701 * 1702 * 1703 * <pre> 1704 * The time when the request is issued, used to prevent 1705 * out-of-order updates on inventory fields with the last update time 1706 * recorded. If not provided, the internal system time will be used. 1707 * </pre> 1708 * 1709 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1710 */ setSetTime(com.google.protobuf.Timestamp value)1711 public Builder setSetTime(com.google.protobuf.Timestamp value) { 1712 if (setTimeBuilder_ == null) { 1713 if (value == null) { 1714 throw new NullPointerException(); 1715 } 1716 setTime_ = value; 1717 } else { 1718 setTimeBuilder_.setMessage(value); 1719 } 1720 bitField0_ |= 0x00000004; 1721 onChanged(); 1722 return this; 1723 } 1724 /** 1725 * 1726 * 1727 * <pre> 1728 * The time when the request is issued, used to prevent 1729 * out-of-order updates on inventory fields with the last update time 1730 * recorded. If not provided, the internal system time will be used. 1731 * </pre> 1732 * 1733 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1734 */ setSetTime(com.google.protobuf.Timestamp.Builder builderForValue)1735 public Builder setSetTime(com.google.protobuf.Timestamp.Builder builderForValue) { 1736 if (setTimeBuilder_ == null) { 1737 setTime_ = builderForValue.build(); 1738 } else { 1739 setTimeBuilder_.setMessage(builderForValue.build()); 1740 } 1741 bitField0_ |= 0x00000004; 1742 onChanged(); 1743 return this; 1744 } 1745 /** 1746 * 1747 * 1748 * <pre> 1749 * The time when the request is issued, used to prevent 1750 * out-of-order updates on inventory fields with the last update time 1751 * recorded. If not provided, the internal system time will be used. 1752 * </pre> 1753 * 1754 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1755 */ mergeSetTime(com.google.protobuf.Timestamp value)1756 public Builder mergeSetTime(com.google.protobuf.Timestamp value) { 1757 if (setTimeBuilder_ == null) { 1758 if (((bitField0_ & 0x00000004) != 0) 1759 && setTime_ != null 1760 && setTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { 1761 getSetTimeBuilder().mergeFrom(value); 1762 } else { 1763 setTime_ = value; 1764 } 1765 } else { 1766 setTimeBuilder_.mergeFrom(value); 1767 } 1768 bitField0_ |= 0x00000004; 1769 onChanged(); 1770 return this; 1771 } 1772 /** 1773 * 1774 * 1775 * <pre> 1776 * The time when the request is issued, used to prevent 1777 * out-of-order updates on inventory fields with the last update time 1778 * recorded. If not provided, the internal system time will be used. 1779 * </pre> 1780 * 1781 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1782 */ clearSetTime()1783 public Builder clearSetTime() { 1784 bitField0_ = (bitField0_ & ~0x00000004); 1785 setTime_ = null; 1786 if (setTimeBuilder_ != null) { 1787 setTimeBuilder_.dispose(); 1788 setTimeBuilder_ = null; 1789 } 1790 onChanged(); 1791 return this; 1792 } 1793 /** 1794 * 1795 * 1796 * <pre> 1797 * The time when the request is issued, used to prevent 1798 * out-of-order updates on inventory fields with the last update time 1799 * recorded. If not provided, the internal system time will be used. 1800 * </pre> 1801 * 1802 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1803 */ getSetTimeBuilder()1804 public com.google.protobuf.Timestamp.Builder getSetTimeBuilder() { 1805 bitField0_ |= 0x00000004; 1806 onChanged(); 1807 return getSetTimeFieldBuilder().getBuilder(); 1808 } 1809 /** 1810 * 1811 * 1812 * <pre> 1813 * The time when the request is issued, used to prevent 1814 * out-of-order updates on inventory fields with the last update time 1815 * recorded. If not provided, the internal system time will be used. 1816 * </pre> 1817 * 1818 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1819 */ getSetTimeOrBuilder()1820 public com.google.protobuf.TimestampOrBuilder getSetTimeOrBuilder() { 1821 if (setTimeBuilder_ != null) { 1822 return setTimeBuilder_.getMessageOrBuilder(); 1823 } else { 1824 return setTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : setTime_; 1825 } 1826 } 1827 /** 1828 * 1829 * 1830 * <pre> 1831 * The time when the request is issued, used to prevent 1832 * out-of-order updates on inventory fields with the last update time 1833 * recorded. If not provided, the internal system time will be used. 1834 * </pre> 1835 * 1836 * <code>.google.protobuf.Timestamp set_time = 3;</code> 1837 */ 1838 private com.google.protobuf.SingleFieldBuilderV3< 1839 com.google.protobuf.Timestamp, 1840 com.google.protobuf.Timestamp.Builder, 1841 com.google.protobuf.TimestampOrBuilder> getSetTimeFieldBuilder()1842 getSetTimeFieldBuilder() { 1843 if (setTimeBuilder_ == null) { 1844 setTimeBuilder_ = 1845 new com.google.protobuf.SingleFieldBuilderV3< 1846 com.google.protobuf.Timestamp, 1847 com.google.protobuf.Timestamp.Builder, 1848 com.google.protobuf.TimestampOrBuilder>( 1849 getSetTime(), getParentForChildren(), isClean()); 1850 setTime_ = null; 1851 } 1852 return setTimeBuilder_; 1853 } 1854 1855 private boolean allowMissing_; 1856 /** 1857 * 1858 * 1859 * <pre> 1860 * If set to true, and the [Product][google.cloud.retail.v2.Product] with name 1861 * [Product.name][google.cloud.retail.v2.Product.name] is not found, the 1862 * inventory update will still be processed and retained for at most 1 day 1863 * until the [Product][google.cloud.retail.v2.Product] is created. If set to 1864 * false, a NOT_FOUND error is returned if the 1865 * [Product][google.cloud.retail.v2.Product] is not found. 1866 * </pre> 1867 * 1868 * <code>bool allow_missing = 4;</code> 1869 * 1870 * @return The allowMissing. 1871 */ 1872 @java.lang.Override getAllowMissing()1873 public boolean getAllowMissing() { 1874 return allowMissing_; 1875 } 1876 /** 1877 * 1878 * 1879 * <pre> 1880 * If set to true, and the [Product][google.cloud.retail.v2.Product] with name 1881 * [Product.name][google.cloud.retail.v2.Product.name] is not found, the 1882 * inventory update will still be processed and retained for at most 1 day 1883 * until the [Product][google.cloud.retail.v2.Product] is created. If set to 1884 * false, a NOT_FOUND error is returned if the 1885 * [Product][google.cloud.retail.v2.Product] is not found. 1886 * </pre> 1887 * 1888 * <code>bool allow_missing = 4;</code> 1889 * 1890 * @param value The allowMissing to set. 1891 * @return This builder for chaining. 1892 */ setAllowMissing(boolean value)1893 public Builder setAllowMissing(boolean value) { 1894 1895 allowMissing_ = value; 1896 bitField0_ |= 0x00000008; 1897 onChanged(); 1898 return this; 1899 } 1900 /** 1901 * 1902 * 1903 * <pre> 1904 * If set to true, and the [Product][google.cloud.retail.v2.Product] with name 1905 * [Product.name][google.cloud.retail.v2.Product.name] is not found, the 1906 * inventory update will still be processed and retained for at most 1 day 1907 * until the [Product][google.cloud.retail.v2.Product] is created. If set to 1908 * false, a NOT_FOUND error is returned if the 1909 * [Product][google.cloud.retail.v2.Product] is not found. 1910 * </pre> 1911 * 1912 * <code>bool allow_missing = 4;</code> 1913 * 1914 * @return This builder for chaining. 1915 */ clearAllowMissing()1916 public Builder clearAllowMissing() { 1917 bitField0_ = (bitField0_ & ~0x00000008); 1918 allowMissing_ = false; 1919 onChanged(); 1920 return this; 1921 } 1922 1923 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)1924 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 1925 return super.setUnknownFields(unknownFields); 1926 } 1927 1928 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1929 public final Builder mergeUnknownFields( 1930 final com.google.protobuf.UnknownFieldSet unknownFields) { 1931 return super.mergeUnknownFields(unknownFields); 1932 } 1933 1934 // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2.SetInventoryRequest) 1935 } 1936 1937 // @@protoc_insertion_point(class_scope:google.cloud.retail.v2.SetInventoryRequest) 1938 private static final com.google.cloud.retail.v2.SetInventoryRequest DEFAULT_INSTANCE; 1939 1940 static { 1941 DEFAULT_INSTANCE = new com.google.cloud.retail.v2.SetInventoryRequest(); 1942 } 1943 getDefaultInstance()1944 public static com.google.cloud.retail.v2.SetInventoryRequest getDefaultInstance() { 1945 return DEFAULT_INSTANCE; 1946 } 1947 1948 private static final com.google.protobuf.Parser<SetInventoryRequest> PARSER = 1949 new com.google.protobuf.AbstractParser<SetInventoryRequest>() { 1950 @java.lang.Override 1951 public SetInventoryRequest parsePartialFrom( 1952 com.google.protobuf.CodedInputStream input, 1953 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1954 throws com.google.protobuf.InvalidProtocolBufferException { 1955 Builder builder = newBuilder(); 1956 try { 1957 builder.mergeFrom(input, extensionRegistry); 1958 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1959 throw e.setUnfinishedMessage(builder.buildPartial()); 1960 } catch (com.google.protobuf.UninitializedMessageException e) { 1961 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 1962 } catch (java.io.IOException e) { 1963 throw new com.google.protobuf.InvalidProtocolBufferException(e) 1964 .setUnfinishedMessage(builder.buildPartial()); 1965 } 1966 return builder.buildPartial(); 1967 } 1968 }; 1969 parser()1970 public static com.google.protobuf.Parser<SetInventoryRequest> parser() { 1971 return PARSER; 1972 } 1973 1974 @java.lang.Override getParserForType()1975 public com.google.protobuf.Parser<SetInventoryRequest> getParserForType() { 1976 return PARSER; 1977 } 1978 1979 @java.lang.Override getDefaultInstanceForType()1980 public com.google.cloud.retail.v2.SetInventoryRequest getDefaultInstanceForType() { 1981 return DEFAULT_INSTANCE; 1982 } 1983 } 1984