• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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