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/user_event.proto 18 19 package com.google.cloud.retail.v2; 20 21 /** 22 * 23 * 24 * <pre> 25 * Detailed product information associated with a user event. 26 * </pre> 27 * 28 * Protobuf type {@code google.cloud.retail.v2.ProductDetail} 29 */ 30 public final class ProductDetail extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.cloud.retail.v2.ProductDetail) 33 ProductDetailOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use ProductDetail.newBuilder() to construct. ProductDetail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private ProductDetail(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 ProductDetail()40 private ProductDetail() {} 41 42 @java.lang.Override 43 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)44 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 45 return new ProductDetail(); 46 } 47 48 @java.lang.Override getUnknownFields()49 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 50 return this.unknownFields; 51 } 52 getDescriptor()53 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 54 return com.google.cloud.retail.v2.UserEventProto 55 .internal_static_google_cloud_retail_v2_ProductDetail_descriptor; 56 } 57 58 @java.lang.Override 59 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()60 internalGetFieldAccessorTable() { 61 return com.google.cloud.retail.v2.UserEventProto 62 .internal_static_google_cloud_retail_v2_ProductDetail_fieldAccessorTable 63 .ensureFieldAccessorsInitialized( 64 com.google.cloud.retail.v2.ProductDetail.class, 65 com.google.cloud.retail.v2.ProductDetail.Builder.class); 66 } 67 68 public static final int PRODUCT_FIELD_NUMBER = 1; 69 private com.google.cloud.retail.v2.Product product_; 70 /** 71 * 72 * 73 * <pre> 74 * Required. [Product][google.cloud.retail.v2.Product] information. 75 * Required field(s): 76 * * [Product.id][google.cloud.retail.v2.Product.id] 77 * Optional override field(s): 78 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 79 * If any supported optional fields are provided, we will treat them as a full 80 * override when looking up product information from the catalog. Thus, it is 81 * important to ensure that the overriding fields are accurate and 82 * complete. 83 * All other product fields are ignored and instead populated via catalog 84 * lookup after event ingestion. 85 * </pre> 86 * 87 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 88 * </code> 89 * 90 * @return Whether the product field is set. 91 */ 92 @java.lang.Override hasProduct()93 public boolean hasProduct() { 94 return product_ != null; 95 } 96 /** 97 * 98 * 99 * <pre> 100 * Required. [Product][google.cloud.retail.v2.Product] information. 101 * Required field(s): 102 * * [Product.id][google.cloud.retail.v2.Product.id] 103 * Optional override field(s): 104 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 105 * If any supported optional fields are provided, we will treat them as a full 106 * override when looking up product information from the catalog. Thus, it is 107 * important to ensure that the overriding fields are accurate and 108 * complete. 109 * All other product fields are ignored and instead populated via catalog 110 * lookup after event ingestion. 111 * </pre> 112 * 113 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 114 * </code> 115 * 116 * @return The product. 117 */ 118 @java.lang.Override getProduct()119 public com.google.cloud.retail.v2.Product getProduct() { 120 return product_ == null ? com.google.cloud.retail.v2.Product.getDefaultInstance() : product_; 121 } 122 /** 123 * 124 * 125 * <pre> 126 * Required. [Product][google.cloud.retail.v2.Product] information. 127 * Required field(s): 128 * * [Product.id][google.cloud.retail.v2.Product.id] 129 * Optional override field(s): 130 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 131 * If any supported optional fields are provided, we will treat them as a full 132 * override when looking up product information from the catalog. Thus, it is 133 * important to ensure that the overriding fields are accurate and 134 * complete. 135 * All other product fields are ignored and instead populated via catalog 136 * lookup after event ingestion. 137 * </pre> 138 * 139 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 140 * </code> 141 */ 142 @java.lang.Override getProductOrBuilder()143 public com.google.cloud.retail.v2.ProductOrBuilder getProductOrBuilder() { 144 return product_ == null ? com.google.cloud.retail.v2.Product.getDefaultInstance() : product_; 145 } 146 147 public static final int QUANTITY_FIELD_NUMBER = 2; 148 private com.google.protobuf.Int32Value quantity_; 149 /** 150 * 151 * 152 * <pre> 153 * Quantity of the product associated with the user event. 154 * For example, this field will be 2 if two products are added to the shopping 155 * cart for `purchase-complete` event. Required for `add-to-cart` and 156 * `purchase-complete` event types. 157 * </pre> 158 * 159 * <code>.google.protobuf.Int32Value quantity = 2;</code> 160 * 161 * @return Whether the quantity field is set. 162 */ 163 @java.lang.Override hasQuantity()164 public boolean hasQuantity() { 165 return quantity_ != null; 166 } 167 /** 168 * 169 * 170 * <pre> 171 * Quantity of the product associated with the user event. 172 * For example, this field will be 2 if two products are added to the shopping 173 * cart for `purchase-complete` event. Required for `add-to-cart` and 174 * `purchase-complete` event types. 175 * </pre> 176 * 177 * <code>.google.protobuf.Int32Value quantity = 2;</code> 178 * 179 * @return The quantity. 180 */ 181 @java.lang.Override getQuantity()182 public com.google.protobuf.Int32Value getQuantity() { 183 return quantity_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : quantity_; 184 } 185 /** 186 * 187 * 188 * <pre> 189 * Quantity of the product associated with the user event. 190 * For example, this field will be 2 if two products are added to the shopping 191 * cart for `purchase-complete` event. Required for `add-to-cart` and 192 * `purchase-complete` event types. 193 * </pre> 194 * 195 * <code>.google.protobuf.Int32Value quantity = 2;</code> 196 */ 197 @java.lang.Override getQuantityOrBuilder()198 public com.google.protobuf.Int32ValueOrBuilder getQuantityOrBuilder() { 199 return quantity_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : quantity_; 200 } 201 202 private byte memoizedIsInitialized = -1; 203 204 @java.lang.Override isInitialized()205 public final boolean isInitialized() { 206 byte isInitialized = memoizedIsInitialized; 207 if (isInitialized == 1) return true; 208 if (isInitialized == 0) return false; 209 210 memoizedIsInitialized = 1; 211 return true; 212 } 213 214 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)215 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 216 if (product_ != null) { 217 output.writeMessage(1, getProduct()); 218 } 219 if (quantity_ != null) { 220 output.writeMessage(2, getQuantity()); 221 } 222 getUnknownFields().writeTo(output); 223 } 224 225 @java.lang.Override getSerializedSize()226 public int getSerializedSize() { 227 int size = memoizedSize; 228 if (size != -1) return size; 229 230 size = 0; 231 if (product_ != null) { 232 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getProduct()); 233 } 234 if (quantity_ != null) { 235 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getQuantity()); 236 } 237 size += getUnknownFields().getSerializedSize(); 238 memoizedSize = size; 239 return size; 240 } 241 242 @java.lang.Override equals(final java.lang.Object obj)243 public boolean equals(final java.lang.Object obj) { 244 if (obj == this) { 245 return true; 246 } 247 if (!(obj instanceof com.google.cloud.retail.v2.ProductDetail)) { 248 return super.equals(obj); 249 } 250 com.google.cloud.retail.v2.ProductDetail other = (com.google.cloud.retail.v2.ProductDetail) obj; 251 252 if (hasProduct() != other.hasProduct()) return false; 253 if (hasProduct()) { 254 if (!getProduct().equals(other.getProduct())) return false; 255 } 256 if (hasQuantity() != other.hasQuantity()) return false; 257 if (hasQuantity()) { 258 if (!getQuantity().equals(other.getQuantity())) return false; 259 } 260 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 261 return true; 262 } 263 264 @java.lang.Override hashCode()265 public int hashCode() { 266 if (memoizedHashCode != 0) { 267 return memoizedHashCode; 268 } 269 int hash = 41; 270 hash = (19 * hash) + getDescriptor().hashCode(); 271 if (hasProduct()) { 272 hash = (37 * hash) + PRODUCT_FIELD_NUMBER; 273 hash = (53 * hash) + getProduct().hashCode(); 274 } 275 if (hasQuantity()) { 276 hash = (37 * hash) + QUANTITY_FIELD_NUMBER; 277 hash = (53 * hash) + getQuantity().hashCode(); 278 } 279 hash = (29 * hash) + getUnknownFields().hashCode(); 280 memoizedHashCode = hash; 281 return hash; 282 } 283 parseFrom(java.nio.ByteBuffer data)284 public static com.google.cloud.retail.v2.ProductDetail parseFrom(java.nio.ByteBuffer data) 285 throws com.google.protobuf.InvalidProtocolBufferException { 286 return PARSER.parseFrom(data); 287 } 288 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)289 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 290 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 291 throws com.google.protobuf.InvalidProtocolBufferException { 292 return PARSER.parseFrom(data, extensionRegistry); 293 } 294 parseFrom( com.google.protobuf.ByteString data)295 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 296 com.google.protobuf.ByteString data) 297 throws com.google.protobuf.InvalidProtocolBufferException { 298 return PARSER.parseFrom(data); 299 } 300 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)301 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 302 com.google.protobuf.ByteString data, 303 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 304 throws com.google.protobuf.InvalidProtocolBufferException { 305 return PARSER.parseFrom(data, extensionRegistry); 306 } 307 parseFrom(byte[] data)308 public static com.google.cloud.retail.v2.ProductDetail parseFrom(byte[] data) 309 throws com.google.protobuf.InvalidProtocolBufferException { 310 return PARSER.parseFrom(data); 311 } 312 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)313 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 314 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 315 throws com.google.protobuf.InvalidProtocolBufferException { 316 return PARSER.parseFrom(data, extensionRegistry); 317 } 318 parseFrom(java.io.InputStream input)319 public static com.google.cloud.retail.v2.ProductDetail parseFrom(java.io.InputStream input) 320 throws java.io.IOException { 321 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 322 } 323 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)324 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 325 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 326 throws java.io.IOException { 327 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 328 PARSER, input, extensionRegistry); 329 } 330 parseDelimitedFrom( java.io.InputStream input)331 public static com.google.cloud.retail.v2.ProductDetail parseDelimitedFrom( 332 java.io.InputStream input) throws java.io.IOException { 333 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 334 } 335 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)336 public static com.google.cloud.retail.v2.ProductDetail parseDelimitedFrom( 337 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 338 throws java.io.IOException { 339 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 340 PARSER, input, extensionRegistry); 341 } 342 parseFrom( com.google.protobuf.CodedInputStream input)343 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 344 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 345 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 346 } 347 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)348 public static com.google.cloud.retail.v2.ProductDetail parseFrom( 349 com.google.protobuf.CodedInputStream input, 350 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 351 throws java.io.IOException { 352 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 353 PARSER, input, extensionRegistry); 354 } 355 356 @java.lang.Override newBuilderForType()357 public Builder newBuilderForType() { 358 return newBuilder(); 359 } 360 newBuilder()361 public static Builder newBuilder() { 362 return DEFAULT_INSTANCE.toBuilder(); 363 } 364 newBuilder(com.google.cloud.retail.v2.ProductDetail prototype)365 public static Builder newBuilder(com.google.cloud.retail.v2.ProductDetail prototype) { 366 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 367 } 368 369 @java.lang.Override toBuilder()370 public Builder toBuilder() { 371 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 372 } 373 374 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)375 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 376 Builder builder = new Builder(parent); 377 return builder; 378 } 379 /** 380 * 381 * 382 * <pre> 383 * Detailed product information associated with a user event. 384 * </pre> 385 * 386 * Protobuf type {@code google.cloud.retail.v2.ProductDetail} 387 */ 388 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 389 implements 390 // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2.ProductDetail) 391 com.google.cloud.retail.v2.ProductDetailOrBuilder { getDescriptor()392 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 393 return com.google.cloud.retail.v2.UserEventProto 394 .internal_static_google_cloud_retail_v2_ProductDetail_descriptor; 395 } 396 397 @java.lang.Override 398 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()399 internalGetFieldAccessorTable() { 400 return com.google.cloud.retail.v2.UserEventProto 401 .internal_static_google_cloud_retail_v2_ProductDetail_fieldAccessorTable 402 .ensureFieldAccessorsInitialized( 403 com.google.cloud.retail.v2.ProductDetail.class, 404 com.google.cloud.retail.v2.ProductDetail.Builder.class); 405 } 406 407 // Construct using com.google.cloud.retail.v2.ProductDetail.newBuilder() Builder()408 private Builder() {} 409 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)410 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 411 super(parent); 412 } 413 414 @java.lang.Override clear()415 public Builder clear() { 416 super.clear(); 417 bitField0_ = 0; 418 product_ = null; 419 if (productBuilder_ != null) { 420 productBuilder_.dispose(); 421 productBuilder_ = null; 422 } 423 quantity_ = null; 424 if (quantityBuilder_ != null) { 425 quantityBuilder_.dispose(); 426 quantityBuilder_ = null; 427 } 428 return this; 429 } 430 431 @java.lang.Override getDescriptorForType()432 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 433 return com.google.cloud.retail.v2.UserEventProto 434 .internal_static_google_cloud_retail_v2_ProductDetail_descriptor; 435 } 436 437 @java.lang.Override getDefaultInstanceForType()438 public com.google.cloud.retail.v2.ProductDetail getDefaultInstanceForType() { 439 return com.google.cloud.retail.v2.ProductDetail.getDefaultInstance(); 440 } 441 442 @java.lang.Override build()443 public com.google.cloud.retail.v2.ProductDetail build() { 444 com.google.cloud.retail.v2.ProductDetail result = buildPartial(); 445 if (!result.isInitialized()) { 446 throw newUninitializedMessageException(result); 447 } 448 return result; 449 } 450 451 @java.lang.Override buildPartial()452 public com.google.cloud.retail.v2.ProductDetail buildPartial() { 453 com.google.cloud.retail.v2.ProductDetail result = 454 new com.google.cloud.retail.v2.ProductDetail(this); 455 if (bitField0_ != 0) { 456 buildPartial0(result); 457 } 458 onBuilt(); 459 return result; 460 } 461 buildPartial0(com.google.cloud.retail.v2.ProductDetail result)462 private void buildPartial0(com.google.cloud.retail.v2.ProductDetail result) { 463 int from_bitField0_ = bitField0_; 464 if (((from_bitField0_ & 0x00000001) != 0)) { 465 result.product_ = productBuilder_ == null ? product_ : productBuilder_.build(); 466 } 467 if (((from_bitField0_ & 0x00000002) != 0)) { 468 result.quantity_ = quantityBuilder_ == null ? quantity_ : quantityBuilder_.build(); 469 } 470 } 471 472 @java.lang.Override clone()473 public Builder clone() { 474 return super.clone(); 475 } 476 477 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)478 public Builder setField( 479 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 480 return super.setField(field, value); 481 } 482 483 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)484 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 485 return super.clearField(field); 486 } 487 488 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)489 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 490 return super.clearOneof(oneof); 491 } 492 493 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)494 public Builder setRepeatedField( 495 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 496 return super.setRepeatedField(field, index, value); 497 } 498 499 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)500 public Builder addRepeatedField( 501 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 502 return super.addRepeatedField(field, value); 503 } 504 505 @java.lang.Override mergeFrom(com.google.protobuf.Message other)506 public Builder mergeFrom(com.google.protobuf.Message other) { 507 if (other instanceof com.google.cloud.retail.v2.ProductDetail) { 508 return mergeFrom((com.google.cloud.retail.v2.ProductDetail) other); 509 } else { 510 super.mergeFrom(other); 511 return this; 512 } 513 } 514 mergeFrom(com.google.cloud.retail.v2.ProductDetail other)515 public Builder mergeFrom(com.google.cloud.retail.v2.ProductDetail other) { 516 if (other == com.google.cloud.retail.v2.ProductDetail.getDefaultInstance()) return this; 517 if (other.hasProduct()) { 518 mergeProduct(other.getProduct()); 519 } 520 if (other.hasQuantity()) { 521 mergeQuantity(other.getQuantity()); 522 } 523 this.mergeUnknownFields(other.getUnknownFields()); 524 onChanged(); 525 return this; 526 } 527 528 @java.lang.Override isInitialized()529 public final boolean isInitialized() { 530 return true; 531 } 532 533 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)534 public Builder mergeFrom( 535 com.google.protobuf.CodedInputStream input, 536 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 537 throws java.io.IOException { 538 if (extensionRegistry == null) { 539 throw new java.lang.NullPointerException(); 540 } 541 try { 542 boolean done = false; 543 while (!done) { 544 int tag = input.readTag(); 545 switch (tag) { 546 case 0: 547 done = true; 548 break; 549 case 10: 550 { 551 input.readMessage(getProductFieldBuilder().getBuilder(), extensionRegistry); 552 bitField0_ |= 0x00000001; 553 break; 554 } // case 10 555 case 18: 556 { 557 input.readMessage(getQuantityFieldBuilder().getBuilder(), extensionRegistry); 558 bitField0_ |= 0x00000002; 559 break; 560 } // case 18 561 default: 562 { 563 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 564 done = true; // was an endgroup tag 565 } 566 break; 567 } // default: 568 } // switch (tag) 569 } // while (!done) 570 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 571 throw e.unwrapIOException(); 572 } finally { 573 onChanged(); 574 } // finally 575 return this; 576 } 577 578 private int bitField0_; 579 580 private com.google.cloud.retail.v2.Product product_; 581 private com.google.protobuf.SingleFieldBuilderV3< 582 com.google.cloud.retail.v2.Product, 583 com.google.cloud.retail.v2.Product.Builder, 584 com.google.cloud.retail.v2.ProductOrBuilder> 585 productBuilder_; 586 /** 587 * 588 * 589 * <pre> 590 * Required. [Product][google.cloud.retail.v2.Product] information. 591 * Required field(s): 592 * * [Product.id][google.cloud.retail.v2.Product.id] 593 * Optional override field(s): 594 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 595 * If any supported optional fields are provided, we will treat them as a full 596 * override when looking up product information from the catalog. Thus, it is 597 * important to ensure that the overriding fields are accurate and 598 * complete. 599 * All other product fields are ignored and instead populated via catalog 600 * lookup after event ingestion. 601 * </pre> 602 * 603 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 604 * </code> 605 * 606 * @return Whether the product field is set. 607 */ hasProduct()608 public boolean hasProduct() { 609 return ((bitField0_ & 0x00000001) != 0); 610 } 611 /** 612 * 613 * 614 * <pre> 615 * Required. [Product][google.cloud.retail.v2.Product] information. 616 * Required field(s): 617 * * [Product.id][google.cloud.retail.v2.Product.id] 618 * Optional override field(s): 619 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 620 * If any supported optional fields are provided, we will treat them as a full 621 * override when looking up product information from the catalog. Thus, it is 622 * important to ensure that the overriding fields are accurate and 623 * complete. 624 * All other product fields are ignored and instead populated via catalog 625 * lookup after event ingestion. 626 * </pre> 627 * 628 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 629 * </code> 630 * 631 * @return The product. 632 */ getProduct()633 public com.google.cloud.retail.v2.Product getProduct() { 634 if (productBuilder_ == null) { 635 return product_ == null 636 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 637 : product_; 638 } else { 639 return productBuilder_.getMessage(); 640 } 641 } 642 /** 643 * 644 * 645 * <pre> 646 * Required. [Product][google.cloud.retail.v2.Product] information. 647 * Required field(s): 648 * * [Product.id][google.cloud.retail.v2.Product.id] 649 * Optional override field(s): 650 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 651 * If any supported optional fields are provided, we will treat them as a full 652 * override when looking up product information from the catalog. Thus, it is 653 * important to ensure that the overriding fields are accurate and 654 * complete. 655 * All other product fields are ignored and instead populated via catalog 656 * lookup after event ingestion. 657 * </pre> 658 * 659 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 660 * </code> 661 */ setProduct(com.google.cloud.retail.v2.Product value)662 public Builder setProduct(com.google.cloud.retail.v2.Product value) { 663 if (productBuilder_ == null) { 664 if (value == null) { 665 throw new NullPointerException(); 666 } 667 product_ = value; 668 } else { 669 productBuilder_.setMessage(value); 670 } 671 bitField0_ |= 0x00000001; 672 onChanged(); 673 return this; 674 } 675 /** 676 * 677 * 678 * <pre> 679 * Required. [Product][google.cloud.retail.v2.Product] information. 680 * Required field(s): 681 * * [Product.id][google.cloud.retail.v2.Product.id] 682 * Optional override field(s): 683 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 684 * If any supported optional fields are provided, we will treat them as a full 685 * override when looking up product information from the catalog. Thus, it is 686 * important to ensure that the overriding fields are accurate and 687 * complete. 688 * All other product fields are ignored and instead populated via catalog 689 * lookup after event ingestion. 690 * </pre> 691 * 692 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 693 * </code> 694 */ setProduct(com.google.cloud.retail.v2.Product.Builder builderForValue)695 public Builder setProduct(com.google.cloud.retail.v2.Product.Builder builderForValue) { 696 if (productBuilder_ == null) { 697 product_ = builderForValue.build(); 698 } else { 699 productBuilder_.setMessage(builderForValue.build()); 700 } 701 bitField0_ |= 0x00000001; 702 onChanged(); 703 return this; 704 } 705 /** 706 * 707 * 708 * <pre> 709 * Required. [Product][google.cloud.retail.v2.Product] information. 710 * Required field(s): 711 * * [Product.id][google.cloud.retail.v2.Product.id] 712 * Optional override field(s): 713 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 714 * If any supported optional fields are provided, we will treat them as a full 715 * override when looking up product information from the catalog. Thus, it is 716 * important to ensure that the overriding fields are accurate and 717 * complete. 718 * All other product fields are ignored and instead populated via catalog 719 * lookup after event ingestion. 720 * </pre> 721 * 722 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 723 * </code> 724 */ mergeProduct(com.google.cloud.retail.v2.Product value)725 public Builder mergeProduct(com.google.cloud.retail.v2.Product value) { 726 if (productBuilder_ == null) { 727 if (((bitField0_ & 0x00000001) != 0) 728 && product_ != null 729 && product_ != com.google.cloud.retail.v2.Product.getDefaultInstance()) { 730 getProductBuilder().mergeFrom(value); 731 } else { 732 product_ = value; 733 } 734 } else { 735 productBuilder_.mergeFrom(value); 736 } 737 bitField0_ |= 0x00000001; 738 onChanged(); 739 return this; 740 } 741 /** 742 * 743 * 744 * <pre> 745 * Required. [Product][google.cloud.retail.v2.Product] information. 746 * Required field(s): 747 * * [Product.id][google.cloud.retail.v2.Product.id] 748 * Optional override field(s): 749 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 750 * If any supported optional fields are provided, we will treat them as a full 751 * override when looking up product information from the catalog. Thus, it is 752 * important to ensure that the overriding fields are accurate and 753 * complete. 754 * All other product fields are ignored and instead populated via catalog 755 * lookup after event ingestion. 756 * </pre> 757 * 758 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 759 * </code> 760 */ clearProduct()761 public Builder clearProduct() { 762 bitField0_ = (bitField0_ & ~0x00000001); 763 product_ = null; 764 if (productBuilder_ != null) { 765 productBuilder_.dispose(); 766 productBuilder_ = null; 767 } 768 onChanged(); 769 return this; 770 } 771 /** 772 * 773 * 774 * <pre> 775 * Required. [Product][google.cloud.retail.v2.Product] information. 776 * Required field(s): 777 * * [Product.id][google.cloud.retail.v2.Product.id] 778 * Optional override field(s): 779 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 780 * If any supported optional fields are provided, we will treat them as a full 781 * override when looking up product information from the catalog. Thus, it is 782 * important to ensure that the overriding fields are accurate and 783 * complete. 784 * All other product fields are ignored and instead populated via catalog 785 * lookup after event ingestion. 786 * </pre> 787 * 788 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 789 * </code> 790 */ getProductBuilder()791 public com.google.cloud.retail.v2.Product.Builder getProductBuilder() { 792 bitField0_ |= 0x00000001; 793 onChanged(); 794 return getProductFieldBuilder().getBuilder(); 795 } 796 /** 797 * 798 * 799 * <pre> 800 * Required. [Product][google.cloud.retail.v2.Product] information. 801 * Required field(s): 802 * * [Product.id][google.cloud.retail.v2.Product.id] 803 * Optional override field(s): 804 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 805 * If any supported optional fields are provided, we will treat them as a full 806 * override when looking up product information from the catalog. Thus, it is 807 * important to ensure that the overriding fields are accurate and 808 * complete. 809 * All other product fields are ignored and instead populated via catalog 810 * lookup after event ingestion. 811 * </pre> 812 * 813 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 814 * </code> 815 */ getProductOrBuilder()816 public com.google.cloud.retail.v2.ProductOrBuilder getProductOrBuilder() { 817 if (productBuilder_ != null) { 818 return productBuilder_.getMessageOrBuilder(); 819 } else { 820 return product_ == null 821 ? com.google.cloud.retail.v2.Product.getDefaultInstance() 822 : product_; 823 } 824 } 825 /** 826 * 827 * 828 * <pre> 829 * Required. [Product][google.cloud.retail.v2.Product] information. 830 * Required field(s): 831 * * [Product.id][google.cloud.retail.v2.Product.id] 832 * Optional override field(s): 833 * * [Product.price_info][google.cloud.retail.v2.Product.price_info] 834 * If any supported optional fields are provided, we will treat them as a full 835 * override when looking up product information from the catalog. Thus, it is 836 * important to ensure that the overriding fields are accurate and 837 * complete. 838 * All other product fields are ignored and instead populated via catalog 839 * lookup after event ingestion. 840 * </pre> 841 * 842 * <code>.google.cloud.retail.v2.Product product = 1 [(.google.api.field_behavior) = REQUIRED]; 843 * </code> 844 */ 845 private com.google.protobuf.SingleFieldBuilderV3< 846 com.google.cloud.retail.v2.Product, 847 com.google.cloud.retail.v2.Product.Builder, 848 com.google.cloud.retail.v2.ProductOrBuilder> getProductFieldBuilder()849 getProductFieldBuilder() { 850 if (productBuilder_ == null) { 851 productBuilder_ = 852 new com.google.protobuf.SingleFieldBuilderV3< 853 com.google.cloud.retail.v2.Product, 854 com.google.cloud.retail.v2.Product.Builder, 855 com.google.cloud.retail.v2.ProductOrBuilder>( 856 getProduct(), getParentForChildren(), isClean()); 857 product_ = null; 858 } 859 return productBuilder_; 860 } 861 862 private com.google.protobuf.Int32Value quantity_; 863 private com.google.protobuf.SingleFieldBuilderV3< 864 com.google.protobuf.Int32Value, 865 com.google.protobuf.Int32Value.Builder, 866 com.google.protobuf.Int32ValueOrBuilder> 867 quantityBuilder_; 868 /** 869 * 870 * 871 * <pre> 872 * Quantity of the product associated with the user event. 873 * For example, this field will be 2 if two products are added to the shopping 874 * cart for `purchase-complete` event. Required for `add-to-cart` and 875 * `purchase-complete` event types. 876 * </pre> 877 * 878 * <code>.google.protobuf.Int32Value quantity = 2;</code> 879 * 880 * @return Whether the quantity field is set. 881 */ hasQuantity()882 public boolean hasQuantity() { 883 return ((bitField0_ & 0x00000002) != 0); 884 } 885 /** 886 * 887 * 888 * <pre> 889 * Quantity of the product associated with the user event. 890 * For example, this field will be 2 if two products are added to the shopping 891 * cart for `purchase-complete` event. Required for `add-to-cart` and 892 * `purchase-complete` event types. 893 * </pre> 894 * 895 * <code>.google.protobuf.Int32Value quantity = 2;</code> 896 * 897 * @return The quantity. 898 */ getQuantity()899 public com.google.protobuf.Int32Value getQuantity() { 900 if (quantityBuilder_ == null) { 901 return quantity_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : quantity_; 902 } else { 903 return quantityBuilder_.getMessage(); 904 } 905 } 906 /** 907 * 908 * 909 * <pre> 910 * Quantity of the product associated with the user event. 911 * For example, this field will be 2 if two products are added to the shopping 912 * cart for `purchase-complete` event. Required for `add-to-cart` and 913 * `purchase-complete` event types. 914 * </pre> 915 * 916 * <code>.google.protobuf.Int32Value quantity = 2;</code> 917 */ setQuantity(com.google.protobuf.Int32Value value)918 public Builder setQuantity(com.google.protobuf.Int32Value value) { 919 if (quantityBuilder_ == null) { 920 if (value == null) { 921 throw new NullPointerException(); 922 } 923 quantity_ = value; 924 } else { 925 quantityBuilder_.setMessage(value); 926 } 927 bitField0_ |= 0x00000002; 928 onChanged(); 929 return this; 930 } 931 /** 932 * 933 * 934 * <pre> 935 * Quantity of the product associated with the user event. 936 * For example, this field will be 2 if two products are added to the shopping 937 * cart for `purchase-complete` event. Required for `add-to-cart` and 938 * `purchase-complete` event types. 939 * </pre> 940 * 941 * <code>.google.protobuf.Int32Value quantity = 2;</code> 942 */ setQuantity(com.google.protobuf.Int32Value.Builder builderForValue)943 public Builder setQuantity(com.google.protobuf.Int32Value.Builder builderForValue) { 944 if (quantityBuilder_ == null) { 945 quantity_ = builderForValue.build(); 946 } else { 947 quantityBuilder_.setMessage(builderForValue.build()); 948 } 949 bitField0_ |= 0x00000002; 950 onChanged(); 951 return this; 952 } 953 /** 954 * 955 * 956 * <pre> 957 * Quantity of the product associated with the user event. 958 * For example, this field will be 2 if two products are added to the shopping 959 * cart for `purchase-complete` event. Required for `add-to-cart` and 960 * `purchase-complete` event types. 961 * </pre> 962 * 963 * <code>.google.protobuf.Int32Value quantity = 2;</code> 964 */ mergeQuantity(com.google.protobuf.Int32Value value)965 public Builder mergeQuantity(com.google.protobuf.Int32Value value) { 966 if (quantityBuilder_ == null) { 967 if (((bitField0_ & 0x00000002) != 0) 968 && quantity_ != null 969 && quantity_ != com.google.protobuf.Int32Value.getDefaultInstance()) { 970 getQuantityBuilder().mergeFrom(value); 971 } else { 972 quantity_ = value; 973 } 974 } else { 975 quantityBuilder_.mergeFrom(value); 976 } 977 bitField0_ |= 0x00000002; 978 onChanged(); 979 return this; 980 } 981 /** 982 * 983 * 984 * <pre> 985 * Quantity of the product associated with the user event. 986 * For example, this field will be 2 if two products are added to the shopping 987 * cart for `purchase-complete` event. Required for `add-to-cart` and 988 * `purchase-complete` event types. 989 * </pre> 990 * 991 * <code>.google.protobuf.Int32Value quantity = 2;</code> 992 */ clearQuantity()993 public Builder clearQuantity() { 994 bitField0_ = (bitField0_ & ~0x00000002); 995 quantity_ = null; 996 if (quantityBuilder_ != null) { 997 quantityBuilder_.dispose(); 998 quantityBuilder_ = null; 999 } 1000 onChanged(); 1001 return this; 1002 } 1003 /** 1004 * 1005 * 1006 * <pre> 1007 * Quantity of the product associated with the user event. 1008 * For example, this field will be 2 if two products are added to the shopping 1009 * cart for `purchase-complete` event. Required for `add-to-cart` and 1010 * `purchase-complete` event types. 1011 * </pre> 1012 * 1013 * <code>.google.protobuf.Int32Value quantity = 2;</code> 1014 */ getQuantityBuilder()1015 public com.google.protobuf.Int32Value.Builder getQuantityBuilder() { 1016 bitField0_ |= 0x00000002; 1017 onChanged(); 1018 return getQuantityFieldBuilder().getBuilder(); 1019 } 1020 /** 1021 * 1022 * 1023 * <pre> 1024 * Quantity of the product associated with the user event. 1025 * For example, this field will be 2 if two products are added to the shopping 1026 * cart for `purchase-complete` event. Required for `add-to-cart` and 1027 * `purchase-complete` event types. 1028 * </pre> 1029 * 1030 * <code>.google.protobuf.Int32Value quantity = 2;</code> 1031 */ getQuantityOrBuilder()1032 public com.google.protobuf.Int32ValueOrBuilder getQuantityOrBuilder() { 1033 if (quantityBuilder_ != null) { 1034 return quantityBuilder_.getMessageOrBuilder(); 1035 } else { 1036 return quantity_ == null ? com.google.protobuf.Int32Value.getDefaultInstance() : quantity_; 1037 } 1038 } 1039 /** 1040 * 1041 * 1042 * <pre> 1043 * Quantity of the product associated with the user event. 1044 * For example, this field will be 2 if two products are added to the shopping 1045 * cart for `purchase-complete` event. Required for `add-to-cart` and 1046 * `purchase-complete` event types. 1047 * </pre> 1048 * 1049 * <code>.google.protobuf.Int32Value quantity = 2;</code> 1050 */ 1051 private com.google.protobuf.SingleFieldBuilderV3< 1052 com.google.protobuf.Int32Value, 1053 com.google.protobuf.Int32Value.Builder, 1054 com.google.protobuf.Int32ValueOrBuilder> getQuantityFieldBuilder()1055 getQuantityFieldBuilder() { 1056 if (quantityBuilder_ == null) { 1057 quantityBuilder_ = 1058 new com.google.protobuf.SingleFieldBuilderV3< 1059 com.google.protobuf.Int32Value, 1060 com.google.protobuf.Int32Value.Builder, 1061 com.google.protobuf.Int32ValueOrBuilder>( 1062 getQuantity(), getParentForChildren(), isClean()); 1063 quantity_ = null; 1064 } 1065 return quantityBuilder_; 1066 } 1067 1068 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)1069 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 1070 return super.setUnknownFields(unknownFields); 1071 } 1072 1073 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1074 public final Builder mergeUnknownFields( 1075 final com.google.protobuf.UnknownFieldSet unknownFields) { 1076 return super.mergeUnknownFields(unknownFields); 1077 } 1078 1079 // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2.ProductDetail) 1080 } 1081 1082 // @@protoc_insertion_point(class_scope:google.cloud.retail.v2.ProductDetail) 1083 private static final com.google.cloud.retail.v2.ProductDetail DEFAULT_INSTANCE; 1084 1085 static { 1086 DEFAULT_INSTANCE = new com.google.cloud.retail.v2.ProductDetail(); 1087 } 1088 getDefaultInstance()1089 public static com.google.cloud.retail.v2.ProductDetail getDefaultInstance() { 1090 return DEFAULT_INSTANCE; 1091 } 1092 1093 private static final com.google.protobuf.Parser<ProductDetail> PARSER = 1094 new com.google.protobuf.AbstractParser<ProductDetail>() { 1095 @java.lang.Override 1096 public ProductDetail parsePartialFrom( 1097 com.google.protobuf.CodedInputStream input, 1098 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1099 throws com.google.protobuf.InvalidProtocolBufferException { 1100 Builder builder = newBuilder(); 1101 try { 1102 builder.mergeFrom(input, extensionRegistry); 1103 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1104 throw e.setUnfinishedMessage(builder.buildPartial()); 1105 } catch (com.google.protobuf.UninitializedMessageException e) { 1106 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 1107 } catch (java.io.IOException e) { 1108 throw new com.google.protobuf.InvalidProtocolBufferException(e) 1109 .setUnfinishedMessage(builder.buildPartial()); 1110 } 1111 return builder.buildPartial(); 1112 } 1113 }; 1114 parser()1115 public static com.google.protobuf.Parser<ProductDetail> parser() { 1116 return PARSER; 1117 } 1118 1119 @java.lang.Override getParserForType()1120 public com.google.protobuf.Parser<ProductDetail> getParserForType() { 1121 return PARSER; 1122 } 1123 1124 @java.lang.Override getDefaultInstanceForType()1125 public com.google.cloud.retail.v2.ProductDetail getDefaultInstanceForType() { 1126 return DEFAULT_INSTANCE; 1127 } 1128 } 1129