• 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/common.proto
18 
19 package com.google.cloud.retail.v2;
20 
21 /**
22  *
23  *
24  * <pre>
25  * The price information of a [Product][google.cloud.retail.v2.Product].
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.retail.v2.PriceInfo}
29  */
30 public final class PriceInfo extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.retail.v2.PriceInfo)
33     PriceInfoOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use PriceInfo.newBuilder() to construct.
PriceInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private PriceInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
PriceInfo()40   private PriceInfo() {
41     currencyCode_ = "";
42   }
43 
44   @java.lang.Override
45   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)46   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
47     return new PriceInfo();
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.CommonProto
57         .internal_static_google_cloud_retail_v2_PriceInfo_descriptor;
58   }
59 
60   @java.lang.Override
61   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()62       internalGetFieldAccessorTable() {
63     return com.google.cloud.retail.v2.CommonProto
64         .internal_static_google_cloud_retail_v2_PriceInfo_fieldAccessorTable
65         .ensureFieldAccessorsInitialized(
66             com.google.cloud.retail.v2.PriceInfo.class,
67             com.google.cloud.retail.v2.PriceInfo.Builder.class);
68   }
69 
70   public interface PriceRangeOrBuilder
71       extends
72       // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2.PriceInfo.PriceRange)
73       com.google.protobuf.MessageOrBuilder {
74 
75     /**
76      *
77      *
78      * <pre>
79      * The inclusive
80      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
81      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
82      * [Product][google.cloud.retail.v2.Product] having the same
83      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
84      * </pre>
85      *
86      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
87      *
88      * @return Whether the price field is set.
89      */
hasPrice()90     boolean hasPrice();
91     /**
92      *
93      *
94      * <pre>
95      * The inclusive
96      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
97      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
98      * [Product][google.cloud.retail.v2.Product] having the same
99      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
100      * </pre>
101      *
102      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
103      *
104      * @return The price.
105      */
getPrice()106     com.google.cloud.retail.v2.Interval getPrice();
107     /**
108      *
109      *
110      * <pre>
111      * The inclusive
112      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
113      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
114      * [Product][google.cloud.retail.v2.Product] having the same
115      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
116      * </pre>
117      *
118      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
119      */
getPriceOrBuilder()120     com.google.cloud.retail.v2.IntervalOrBuilder getPriceOrBuilder();
121 
122     /**
123      *
124      *
125      * <pre>
126      * The inclusive
127      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
128      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
129      * [Product][google.cloud.retail.v2.Product] having the same
130      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
131      * </pre>
132      *
133      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
134      *
135      * @return Whether the originalPrice field is set.
136      */
hasOriginalPrice()137     boolean hasOriginalPrice();
138     /**
139      *
140      *
141      * <pre>
142      * The inclusive
143      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
144      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
145      * [Product][google.cloud.retail.v2.Product] having the same
146      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
147      * </pre>
148      *
149      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
150      *
151      * @return The originalPrice.
152      */
getOriginalPrice()153     com.google.cloud.retail.v2.Interval getOriginalPrice();
154     /**
155      *
156      *
157      * <pre>
158      * The inclusive
159      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
160      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
161      * [Product][google.cloud.retail.v2.Product] having the same
162      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
163      * </pre>
164      *
165      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
166      */
getOriginalPriceOrBuilder()167     com.google.cloud.retail.v2.IntervalOrBuilder getOriginalPriceOrBuilder();
168   }
169   /**
170    *
171    *
172    * <pre>
173    * The price range of all
174    * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
175    * [Product][google.cloud.retail.v2.Product] having the same
176    * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
177    * </pre>
178    *
179    * Protobuf type {@code google.cloud.retail.v2.PriceInfo.PriceRange}
180    */
181   public static final class PriceRange extends com.google.protobuf.GeneratedMessageV3
182       implements
183       // @@protoc_insertion_point(message_implements:google.cloud.retail.v2.PriceInfo.PriceRange)
184       PriceRangeOrBuilder {
185     private static final long serialVersionUID = 0L;
186     // Use PriceRange.newBuilder() to construct.
PriceRange(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)187     private PriceRange(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
188       super(builder);
189     }
190 
PriceRange()191     private PriceRange() {}
192 
193     @java.lang.Override
194     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)195     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
196       return new PriceRange();
197     }
198 
199     @java.lang.Override
getUnknownFields()200     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
201       return this.unknownFields;
202     }
203 
getDescriptor()204     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
205       return com.google.cloud.retail.v2.CommonProto
206           .internal_static_google_cloud_retail_v2_PriceInfo_PriceRange_descriptor;
207     }
208 
209     @java.lang.Override
210     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()211         internalGetFieldAccessorTable() {
212       return com.google.cloud.retail.v2.CommonProto
213           .internal_static_google_cloud_retail_v2_PriceInfo_PriceRange_fieldAccessorTable
214           .ensureFieldAccessorsInitialized(
215               com.google.cloud.retail.v2.PriceInfo.PriceRange.class,
216               com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder.class);
217     }
218 
219     public static final int PRICE_FIELD_NUMBER = 1;
220     private com.google.cloud.retail.v2.Interval price_;
221     /**
222      *
223      *
224      * <pre>
225      * The inclusive
226      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
227      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
228      * [Product][google.cloud.retail.v2.Product] having the same
229      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
230      * </pre>
231      *
232      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
233      *
234      * @return Whether the price field is set.
235      */
236     @java.lang.Override
hasPrice()237     public boolean hasPrice() {
238       return price_ != null;
239     }
240     /**
241      *
242      *
243      * <pre>
244      * The inclusive
245      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
246      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
247      * [Product][google.cloud.retail.v2.Product] having the same
248      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
249      * </pre>
250      *
251      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
252      *
253      * @return The price.
254      */
255     @java.lang.Override
getPrice()256     public com.google.cloud.retail.v2.Interval getPrice() {
257       return price_ == null ? com.google.cloud.retail.v2.Interval.getDefaultInstance() : price_;
258     }
259     /**
260      *
261      *
262      * <pre>
263      * The inclusive
264      * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
265      * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
266      * [Product][google.cloud.retail.v2.Product] having the same
267      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
268      * </pre>
269      *
270      * <code>.google.cloud.retail.v2.Interval price = 1;</code>
271      */
272     @java.lang.Override
getPriceOrBuilder()273     public com.google.cloud.retail.v2.IntervalOrBuilder getPriceOrBuilder() {
274       return price_ == null ? com.google.cloud.retail.v2.Interval.getDefaultInstance() : price_;
275     }
276 
277     public static final int ORIGINAL_PRICE_FIELD_NUMBER = 2;
278     private com.google.cloud.retail.v2.Interval originalPrice_;
279     /**
280      *
281      *
282      * <pre>
283      * The inclusive
284      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
285      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
286      * [Product][google.cloud.retail.v2.Product] having the same
287      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
288      * </pre>
289      *
290      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
291      *
292      * @return Whether the originalPrice field is set.
293      */
294     @java.lang.Override
hasOriginalPrice()295     public boolean hasOriginalPrice() {
296       return originalPrice_ != null;
297     }
298     /**
299      *
300      *
301      * <pre>
302      * The inclusive
303      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
304      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
305      * [Product][google.cloud.retail.v2.Product] having the same
306      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
307      * </pre>
308      *
309      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
310      *
311      * @return The originalPrice.
312      */
313     @java.lang.Override
getOriginalPrice()314     public com.google.cloud.retail.v2.Interval getOriginalPrice() {
315       return originalPrice_ == null
316           ? com.google.cloud.retail.v2.Interval.getDefaultInstance()
317           : originalPrice_;
318     }
319     /**
320      *
321      *
322      * <pre>
323      * The inclusive
324      * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
325      * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
326      * [Product][google.cloud.retail.v2.Product] having the same
327      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
328      * </pre>
329      *
330      * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
331      */
332     @java.lang.Override
getOriginalPriceOrBuilder()333     public com.google.cloud.retail.v2.IntervalOrBuilder getOriginalPriceOrBuilder() {
334       return originalPrice_ == null
335           ? com.google.cloud.retail.v2.Interval.getDefaultInstance()
336           : originalPrice_;
337     }
338 
339     private byte memoizedIsInitialized = -1;
340 
341     @java.lang.Override
isInitialized()342     public final boolean isInitialized() {
343       byte isInitialized = memoizedIsInitialized;
344       if (isInitialized == 1) return true;
345       if (isInitialized == 0) return false;
346 
347       memoizedIsInitialized = 1;
348       return true;
349     }
350 
351     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)352     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
353       if (price_ != null) {
354         output.writeMessage(1, getPrice());
355       }
356       if (originalPrice_ != null) {
357         output.writeMessage(2, getOriginalPrice());
358       }
359       getUnknownFields().writeTo(output);
360     }
361 
362     @java.lang.Override
getSerializedSize()363     public int getSerializedSize() {
364       int size = memoizedSize;
365       if (size != -1) return size;
366 
367       size = 0;
368       if (price_ != null) {
369         size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getPrice());
370       }
371       if (originalPrice_ != null) {
372         size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getOriginalPrice());
373       }
374       size += getUnknownFields().getSerializedSize();
375       memoizedSize = size;
376       return size;
377     }
378 
379     @java.lang.Override
equals(final java.lang.Object obj)380     public boolean equals(final java.lang.Object obj) {
381       if (obj == this) {
382         return true;
383       }
384       if (!(obj instanceof com.google.cloud.retail.v2.PriceInfo.PriceRange)) {
385         return super.equals(obj);
386       }
387       com.google.cloud.retail.v2.PriceInfo.PriceRange other =
388           (com.google.cloud.retail.v2.PriceInfo.PriceRange) obj;
389 
390       if (hasPrice() != other.hasPrice()) return false;
391       if (hasPrice()) {
392         if (!getPrice().equals(other.getPrice())) return false;
393       }
394       if (hasOriginalPrice() != other.hasOriginalPrice()) return false;
395       if (hasOriginalPrice()) {
396         if (!getOriginalPrice().equals(other.getOriginalPrice())) return false;
397       }
398       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
399       return true;
400     }
401 
402     @java.lang.Override
hashCode()403     public int hashCode() {
404       if (memoizedHashCode != 0) {
405         return memoizedHashCode;
406       }
407       int hash = 41;
408       hash = (19 * hash) + getDescriptor().hashCode();
409       if (hasPrice()) {
410         hash = (37 * hash) + PRICE_FIELD_NUMBER;
411         hash = (53 * hash) + getPrice().hashCode();
412       }
413       if (hasOriginalPrice()) {
414         hash = (37 * hash) + ORIGINAL_PRICE_FIELD_NUMBER;
415         hash = (53 * hash) + getOriginalPrice().hashCode();
416       }
417       hash = (29 * hash) + getUnknownFields().hashCode();
418       memoizedHashCode = hash;
419       return hash;
420     }
421 
parseFrom( java.nio.ByteBuffer data)422     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
423         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
424       return PARSER.parseFrom(data);
425     }
426 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)427     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
428         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
429         throws com.google.protobuf.InvalidProtocolBufferException {
430       return PARSER.parseFrom(data, extensionRegistry);
431     }
432 
parseFrom( com.google.protobuf.ByteString data)433     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
434         com.google.protobuf.ByteString data)
435         throws com.google.protobuf.InvalidProtocolBufferException {
436       return PARSER.parseFrom(data);
437     }
438 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)439     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
440         com.google.protobuf.ByteString data,
441         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
442         throws com.google.protobuf.InvalidProtocolBufferException {
443       return PARSER.parseFrom(data, extensionRegistry);
444     }
445 
parseFrom(byte[] data)446     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(byte[] data)
447         throws com.google.protobuf.InvalidProtocolBufferException {
448       return PARSER.parseFrom(data);
449     }
450 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)451     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
452         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
453         throws com.google.protobuf.InvalidProtocolBufferException {
454       return PARSER.parseFrom(data, extensionRegistry);
455     }
456 
parseFrom( java.io.InputStream input)457     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
458         java.io.InputStream input) throws java.io.IOException {
459       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
460     }
461 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)462     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
463         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
464         throws java.io.IOException {
465       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
466           PARSER, input, extensionRegistry);
467     }
468 
parseDelimitedFrom( java.io.InputStream input)469     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseDelimitedFrom(
470         java.io.InputStream input) throws java.io.IOException {
471       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
472     }
473 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)474     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseDelimitedFrom(
475         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
476         throws java.io.IOException {
477       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
478           PARSER, input, extensionRegistry);
479     }
480 
parseFrom( com.google.protobuf.CodedInputStream input)481     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
482         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
483       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
484     }
485 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)486     public static com.google.cloud.retail.v2.PriceInfo.PriceRange parseFrom(
487         com.google.protobuf.CodedInputStream input,
488         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
489         throws java.io.IOException {
490       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
491           PARSER, input, extensionRegistry);
492     }
493 
494     @java.lang.Override
newBuilderForType()495     public Builder newBuilderForType() {
496       return newBuilder();
497     }
498 
newBuilder()499     public static Builder newBuilder() {
500       return DEFAULT_INSTANCE.toBuilder();
501     }
502 
newBuilder(com.google.cloud.retail.v2.PriceInfo.PriceRange prototype)503     public static Builder newBuilder(com.google.cloud.retail.v2.PriceInfo.PriceRange prototype) {
504       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
505     }
506 
507     @java.lang.Override
toBuilder()508     public Builder toBuilder() {
509       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
510     }
511 
512     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)513     protected Builder newBuilderForType(
514         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
515       Builder builder = new Builder(parent);
516       return builder;
517     }
518     /**
519      *
520      *
521      * <pre>
522      * The price range of all
523      * [variant][google.cloud.retail.v2.Product.Type.VARIANT]
524      * [Product][google.cloud.retail.v2.Product] having the same
525      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
526      * </pre>
527      *
528      * Protobuf type {@code google.cloud.retail.v2.PriceInfo.PriceRange}
529      */
530     public static final class Builder
531         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
532         implements
533         // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2.PriceInfo.PriceRange)
534         com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder {
getDescriptor()535       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
536         return com.google.cloud.retail.v2.CommonProto
537             .internal_static_google_cloud_retail_v2_PriceInfo_PriceRange_descriptor;
538       }
539 
540       @java.lang.Override
541       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()542           internalGetFieldAccessorTable() {
543         return com.google.cloud.retail.v2.CommonProto
544             .internal_static_google_cloud_retail_v2_PriceInfo_PriceRange_fieldAccessorTable
545             .ensureFieldAccessorsInitialized(
546                 com.google.cloud.retail.v2.PriceInfo.PriceRange.class,
547                 com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder.class);
548       }
549 
550       // Construct using com.google.cloud.retail.v2.PriceInfo.PriceRange.newBuilder()
Builder()551       private Builder() {}
552 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)553       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
554         super(parent);
555       }
556 
557       @java.lang.Override
clear()558       public Builder clear() {
559         super.clear();
560         bitField0_ = 0;
561         price_ = null;
562         if (priceBuilder_ != null) {
563           priceBuilder_.dispose();
564           priceBuilder_ = null;
565         }
566         originalPrice_ = null;
567         if (originalPriceBuilder_ != null) {
568           originalPriceBuilder_.dispose();
569           originalPriceBuilder_ = null;
570         }
571         return this;
572       }
573 
574       @java.lang.Override
getDescriptorForType()575       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
576         return com.google.cloud.retail.v2.CommonProto
577             .internal_static_google_cloud_retail_v2_PriceInfo_PriceRange_descriptor;
578       }
579 
580       @java.lang.Override
getDefaultInstanceForType()581       public com.google.cloud.retail.v2.PriceInfo.PriceRange getDefaultInstanceForType() {
582         return com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance();
583       }
584 
585       @java.lang.Override
build()586       public com.google.cloud.retail.v2.PriceInfo.PriceRange build() {
587         com.google.cloud.retail.v2.PriceInfo.PriceRange result = buildPartial();
588         if (!result.isInitialized()) {
589           throw newUninitializedMessageException(result);
590         }
591         return result;
592       }
593 
594       @java.lang.Override
buildPartial()595       public com.google.cloud.retail.v2.PriceInfo.PriceRange buildPartial() {
596         com.google.cloud.retail.v2.PriceInfo.PriceRange result =
597             new com.google.cloud.retail.v2.PriceInfo.PriceRange(this);
598         if (bitField0_ != 0) {
599           buildPartial0(result);
600         }
601         onBuilt();
602         return result;
603       }
604 
buildPartial0(com.google.cloud.retail.v2.PriceInfo.PriceRange result)605       private void buildPartial0(com.google.cloud.retail.v2.PriceInfo.PriceRange result) {
606         int from_bitField0_ = bitField0_;
607         if (((from_bitField0_ & 0x00000001) != 0)) {
608           result.price_ = priceBuilder_ == null ? price_ : priceBuilder_.build();
609         }
610         if (((from_bitField0_ & 0x00000002) != 0)) {
611           result.originalPrice_ =
612               originalPriceBuilder_ == null ? originalPrice_ : originalPriceBuilder_.build();
613         }
614       }
615 
616       @java.lang.Override
clone()617       public Builder clone() {
618         return super.clone();
619       }
620 
621       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)622       public Builder setField(
623           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
624         return super.setField(field, value);
625       }
626 
627       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)628       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
629         return super.clearField(field);
630       }
631 
632       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)633       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
634         return super.clearOneof(oneof);
635       }
636 
637       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)638       public Builder setRepeatedField(
639           com.google.protobuf.Descriptors.FieldDescriptor field,
640           int index,
641           java.lang.Object value) {
642         return super.setRepeatedField(field, index, value);
643       }
644 
645       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)646       public Builder addRepeatedField(
647           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
648         return super.addRepeatedField(field, value);
649       }
650 
651       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)652       public Builder mergeFrom(com.google.protobuf.Message other) {
653         if (other instanceof com.google.cloud.retail.v2.PriceInfo.PriceRange) {
654           return mergeFrom((com.google.cloud.retail.v2.PriceInfo.PriceRange) other);
655         } else {
656           super.mergeFrom(other);
657           return this;
658         }
659       }
660 
mergeFrom(com.google.cloud.retail.v2.PriceInfo.PriceRange other)661       public Builder mergeFrom(com.google.cloud.retail.v2.PriceInfo.PriceRange other) {
662         if (other == com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance())
663           return this;
664         if (other.hasPrice()) {
665           mergePrice(other.getPrice());
666         }
667         if (other.hasOriginalPrice()) {
668           mergeOriginalPrice(other.getOriginalPrice());
669         }
670         this.mergeUnknownFields(other.getUnknownFields());
671         onChanged();
672         return this;
673       }
674 
675       @java.lang.Override
isInitialized()676       public final boolean isInitialized() {
677         return true;
678       }
679 
680       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)681       public Builder mergeFrom(
682           com.google.protobuf.CodedInputStream input,
683           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
684           throws java.io.IOException {
685         if (extensionRegistry == null) {
686           throw new java.lang.NullPointerException();
687         }
688         try {
689           boolean done = false;
690           while (!done) {
691             int tag = input.readTag();
692             switch (tag) {
693               case 0:
694                 done = true;
695                 break;
696               case 10:
697                 {
698                   input.readMessage(getPriceFieldBuilder().getBuilder(), extensionRegistry);
699                   bitField0_ |= 0x00000001;
700                   break;
701                 } // case 10
702               case 18:
703                 {
704                   input.readMessage(getOriginalPriceFieldBuilder().getBuilder(), extensionRegistry);
705                   bitField0_ |= 0x00000002;
706                   break;
707                 } // case 18
708               default:
709                 {
710                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
711                     done = true; // was an endgroup tag
712                   }
713                   break;
714                 } // default:
715             } // switch (tag)
716           } // while (!done)
717         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
718           throw e.unwrapIOException();
719         } finally {
720           onChanged();
721         } // finally
722         return this;
723       }
724 
725       private int bitField0_;
726 
727       private com.google.cloud.retail.v2.Interval price_;
728       private com.google.protobuf.SingleFieldBuilderV3<
729               com.google.cloud.retail.v2.Interval,
730               com.google.cloud.retail.v2.Interval.Builder,
731               com.google.cloud.retail.v2.IntervalOrBuilder>
732           priceBuilder_;
733       /**
734        *
735        *
736        * <pre>
737        * The inclusive
738        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
739        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
740        * [Product][google.cloud.retail.v2.Product] having the same
741        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
742        * </pre>
743        *
744        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
745        *
746        * @return Whether the price field is set.
747        */
hasPrice()748       public boolean hasPrice() {
749         return ((bitField0_ & 0x00000001) != 0);
750       }
751       /**
752        *
753        *
754        * <pre>
755        * The inclusive
756        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
757        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
758        * [Product][google.cloud.retail.v2.Product] having the same
759        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
760        * </pre>
761        *
762        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
763        *
764        * @return The price.
765        */
getPrice()766       public com.google.cloud.retail.v2.Interval getPrice() {
767         if (priceBuilder_ == null) {
768           return price_ == null ? com.google.cloud.retail.v2.Interval.getDefaultInstance() : price_;
769         } else {
770           return priceBuilder_.getMessage();
771         }
772       }
773       /**
774        *
775        *
776        * <pre>
777        * The inclusive
778        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
779        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
780        * [Product][google.cloud.retail.v2.Product] having the same
781        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
782        * </pre>
783        *
784        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
785        */
setPrice(com.google.cloud.retail.v2.Interval value)786       public Builder setPrice(com.google.cloud.retail.v2.Interval value) {
787         if (priceBuilder_ == null) {
788           if (value == null) {
789             throw new NullPointerException();
790           }
791           price_ = value;
792         } else {
793           priceBuilder_.setMessage(value);
794         }
795         bitField0_ |= 0x00000001;
796         onChanged();
797         return this;
798       }
799       /**
800        *
801        *
802        * <pre>
803        * The inclusive
804        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
805        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
806        * [Product][google.cloud.retail.v2.Product] having the same
807        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
808        * </pre>
809        *
810        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
811        */
setPrice(com.google.cloud.retail.v2.Interval.Builder builderForValue)812       public Builder setPrice(com.google.cloud.retail.v2.Interval.Builder builderForValue) {
813         if (priceBuilder_ == null) {
814           price_ = builderForValue.build();
815         } else {
816           priceBuilder_.setMessage(builderForValue.build());
817         }
818         bitField0_ |= 0x00000001;
819         onChanged();
820         return this;
821       }
822       /**
823        *
824        *
825        * <pre>
826        * The inclusive
827        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
828        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
829        * [Product][google.cloud.retail.v2.Product] having the same
830        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
831        * </pre>
832        *
833        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
834        */
mergePrice(com.google.cloud.retail.v2.Interval value)835       public Builder mergePrice(com.google.cloud.retail.v2.Interval value) {
836         if (priceBuilder_ == null) {
837           if (((bitField0_ & 0x00000001) != 0)
838               && price_ != null
839               && price_ != com.google.cloud.retail.v2.Interval.getDefaultInstance()) {
840             getPriceBuilder().mergeFrom(value);
841           } else {
842             price_ = value;
843           }
844         } else {
845           priceBuilder_.mergeFrom(value);
846         }
847         bitField0_ |= 0x00000001;
848         onChanged();
849         return this;
850       }
851       /**
852        *
853        *
854        * <pre>
855        * The inclusive
856        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
857        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
858        * [Product][google.cloud.retail.v2.Product] having the same
859        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
860        * </pre>
861        *
862        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
863        */
clearPrice()864       public Builder clearPrice() {
865         bitField0_ = (bitField0_ & ~0x00000001);
866         price_ = null;
867         if (priceBuilder_ != null) {
868           priceBuilder_.dispose();
869           priceBuilder_ = null;
870         }
871         onChanged();
872         return this;
873       }
874       /**
875        *
876        *
877        * <pre>
878        * The inclusive
879        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
880        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
881        * [Product][google.cloud.retail.v2.Product] having the same
882        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
883        * </pre>
884        *
885        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
886        */
getPriceBuilder()887       public com.google.cloud.retail.v2.Interval.Builder getPriceBuilder() {
888         bitField0_ |= 0x00000001;
889         onChanged();
890         return getPriceFieldBuilder().getBuilder();
891       }
892       /**
893        *
894        *
895        * <pre>
896        * The inclusive
897        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
898        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
899        * [Product][google.cloud.retail.v2.Product] having the same
900        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
901        * </pre>
902        *
903        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
904        */
getPriceOrBuilder()905       public com.google.cloud.retail.v2.IntervalOrBuilder getPriceOrBuilder() {
906         if (priceBuilder_ != null) {
907           return priceBuilder_.getMessageOrBuilder();
908         } else {
909           return price_ == null ? com.google.cloud.retail.v2.Interval.getDefaultInstance() : price_;
910         }
911       }
912       /**
913        *
914        *
915        * <pre>
916        * The inclusive
917        * [Product.pricing_info.price][google.cloud.retail.v2.PriceInfo.price]
918        * interval of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
919        * [Product][google.cloud.retail.v2.Product] having the same
920        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
921        * </pre>
922        *
923        * <code>.google.cloud.retail.v2.Interval price = 1;</code>
924        */
925       private com.google.protobuf.SingleFieldBuilderV3<
926               com.google.cloud.retail.v2.Interval,
927               com.google.cloud.retail.v2.Interval.Builder,
928               com.google.cloud.retail.v2.IntervalOrBuilder>
getPriceFieldBuilder()929           getPriceFieldBuilder() {
930         if (priceBuilder_ == null) {
931           priceBuilder_ =
932               new com.google.protobuf.SingleFieldBuilderV3<
933                   com.google.cloud.retail.v2.Interval,
934                   com.google.cloud.retail.v2.Interval.Builder,
935                   com.google.cloud.retail.v2.IntervalOrBuilder>(
936                   getPrice(), getParentForChildren(), isClean());
937           price_ = null;
938         }
939         return priceBuilder_;
940       }
941 
942       private com.google.cloud.retail.v2.Interval originalPrice_;
943       private com.google.protobuf.SingleFieldBuilderV3<
944               com.google.cloud.retail.v2.Interval,
945               com.google.cloud.retail.v2.Interval.Builder,
946               com.google.cloud.retail.v2.IntervalOrBuilder>
947           originalPriceBuilder_;
948       /**
949        *
950        *
951        * <pre>
952        * The inclusive
953        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
954        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
955        * [Product][google.cloud.retail.v2.Product] having the same
956        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
957        * </pre>
958        *
959        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
960        *
961        * @return Whether the originalPrice field is set.
962        */
hasOriginalPrice()963       public boolean hasOriginalPrice() {
964         return ((bitField0_ & 0x00000002) != 0);
965       }
966       /**
967        *
968        *
969        * <pre>
970        * The inclusive
971        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
972        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
973        * [Product][google.cloud.retail.v2.Product] having the same
974        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
975        * </pre>
976        *
977        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
978        *
979        * @return The originalPrice.
980        */
getOriginalPrice()981       public com.google.cloud.retail.v2.Interval getOriginalPrice() {
982         if (originalPriceBuilder_ == null) {
983           return originalPrice_ == null
984               ? com.google.cloud.retail.v2.Interval.getDefaultInstance()
985               : originalPrice_;
986         } else {
987           return originalPriceBuilder_.getMessage();
988         }
989       }
990       /**
991        *
992        *
993        * <pre>
994        * The inclusive
995        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
996        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
997        * [Product][google.cloud.retail.v2.Product] having the same
998        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
999        * </pre>
1000        *
1001        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1002        */
setOriginalPrice(com.google.cloud.retail.v2.Interval value)1003       public Builder setOriginalPrice(com.google.cloud.retail.v2.Interval value) {
1004         if (originalPriceBuilder_ == null) {
1005           if (value == null) {
1006             throw new NullPointerException();
1007           }
1008           originalPrice_ = value;
1009         } else {
1010           originalPriceBuilder_.setMessage(value);
1011         }
1012         bitField0_ |= 0x00000002;
1013         onChanged();
1014         return this;
1015       }
1016       /**
1017        *
1018        *
1019        * <pre>
1020        * The inclusive
1021        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1022        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1023        * [Product][google.cloud.retail.v2.Product] having the same
1024        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1025        * </pre>
1026        *
1027        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1028        */
setOriginalPrice(com.google.cloud.retail.v2.Interval.Builder builderForValue)1029       public Builder setOriginalPrice(com.google.cloud.retail.v2.Interval.Builder builderForValue) {
1030         if (originalPriceBuilder_ == null) {
1031           originalPrice_ = builderForValue.build();
1032         } else {
1033           originalPriceBuilder_.setMessage(builderForValue.build());
1034         }
1035         bitField0_ |= 0x00000002;
1036         onChanged();
1037         return this;
1038       }
1039       /**
1040        *
1041        *
1042        * <pre>
1043        * The inclusive
1044        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1045        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1046        * [Product][google.cloud.retail.v2.Product] having the same
1047        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1048        * </pre>
1049        *
1050        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1051        */
mergeOriginalPrice(com.google.cloud.retail.v2.Interval value)1052       public Builder mergeOriginalPrice(com.google.cloud.retail.v2.Interval value) {
1053         if (originalPriceBuilder_ == null) {
1054           if (((bitField0_ & 0x00000002) != 0)
1055               && originalPrice_ != null
1056               && originalPrice_ != com.google.cloud.retail.v2.Interval.getDefaultInstance()) {
1057             getOriginalPriceBuilder().mergeFrom(value);
1058           } else {
1059             originalPrice_ = value;
1060           }
1061         } else {
1062           originalPriceBuilder_.mergeFrom(value);
1063         }
1064         bitField0_ |= 0x00000002;
1065         onChanged();
1066         return this;
1067       }
1068       /**
1069        *
1070        *
1071        * <pre>
1072        * The inclusive
1073        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1074        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1075        * [Product][google.cloud.retail.v2.Product] having the same
1076        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1077        * </pre>
1078        *
1079        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1080        */
clearOriginalPrice()1081       public Builder clearOriginalPrice() {
1082         bitField0_ = (bitField0_ & ~0x00000002);
1083         originalPrice_ = null;
1084         if (originalPriceBuilder_ != null) {
1085           originalPriceBuilder_.dispose();
1086           originalPriceBuilder_ = null;
1087         }
1088         onChanged();
1089         return this;
1090       }
1091       /**
1092        *
1093        *
1094        * <pre>
1095        * The inclusive
1096        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1097        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1098        * [Product][google.cloud.retail.v2.Product] having the same
1099        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1100        * </pre>
1101        *
1102        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1103        */
getOriginalPriceBuilder()1104       public com.google.cloud.retail.v2.Interval.Builder getOriginalPriceBuilder() {
1105         bitField0_ |= 0x00000002;
1106         onChanged();
1107         return getOriginalPriceFieldBuilder().getBuilder();
1108       }
1109       /**
1110        *
1111        *
1112        * <pre>
1113        * The inclusive
1114        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1115        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1116        * [Product][google.cloud.retail.v2.Product] having the same
1117        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1118        * </pre>
1119        *
1120        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1121        */
getOriginalPriceOrBuilder()1122       public com.google.cloud.retail.v2.IntervalOrBuilder getOriginalPriceOrBuilder() {
1123         if (originalPriceBuilder_ != null) {
1124           return originalPriceBuilder_.getMessageOrBuilder();
1125         } else {
1126           return originalPrice_ == null
1127               ? com.google.cloud.retail.v2.Interval.getDefaultInstance()
1128               : originalPrice_;
1129         }
1130       }
1131       /**
1132        *
1133        *
1134        * <pre>
1135        * The inclusive
1136        * [Product.pricing_info.original_price][google.cloud.retail.v2.PriceInfo.original_price]
1137        * internal of all [variant][google.cloud.retail.v2.Product.Type.VARIANT]
1138        * [Product][google.cloud.retail.v2.Product] having the same
1139        * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id].
1140        * </pre>
1141        *
1142        * <code>.google.cloud.retail.v2.Interval original_price = 2;</code>
1143        */
1144       private com.google.protobuf.SingleFieldBuilderV3<
1145               com.google.cloud.retail.v2.Interval,
1146               com.google.cloud.retail.v2.Interval.Builder,
1147               com.google.cloud.retail.v2.IntervalOrBuilder>
getOriginalPriceFieldBuilder()1148           getOriginalPriceFieldBuilder() {
1149         if (originalPriceBuilder_ == null) {
1150           originalPriceBuilder_ =
1151               new com.google.protobuf.SingleFieldBuilderV3<
1152                   com.google.cloud.retail.v2.Interval,
1153                   com.google.cloud.retail.v2.Interval.Builder,
1154                   com.google.cloud.retail.v2.IntervalOrBuilder>(
1155                   getOriginalPrice(), getParentForChildren(), isClean());
1156           originalPrice_ = null;
1157         }
1158         return originalPriceBuilder_;
1159       }
1160 
1161       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1162       public final Builder setUnknownFields(
1163           final com.google.protobuf.UnknownFieldSet unknownFields) {
1164         return super.setUnknownFields(unknownFields);
1165       }
1166 
1167       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1168       public final Builder mergeUnknownFields(
1169           final com.google.protobuf.UnknownFieldSet unknownFields) {
1170         return super.mergeUnknownFields(unknownFields);
1171       }
1172 
1173       // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2.PriceInfo.PriceRange)
1174     }
1175 
1176     // @@protoc_insertion_point(class_scope:google.cloud.retail.v2.PriceInfo.PriceRange)
1177     private static final com.google.cloud.retail.v2.PriceInfo.PriceRange DEFAULT_INSTANCE;
1178 
1179     static {
1180       DEFAULT_INSTANCE = new com.google.cloud.retail.v2.PriceInfo.PriceRange();
1181     }
1182 
getDefaultInstance()1183     public static com.google.cloud.retail.v2.PriceInfo.PriceRange getDefaultInstance() {
1184       return DEFAULT_INSTANCE;
1185     }
1186 
1187     private static final com.google.protobuf.Parser<PriceRange> PARSER =
1188         new com.google.protobuf.AbstractParser<PriceRange>() {
1189           @java.lang.Override
1190           public PriceRange parsePartialFrom(
1191               com.google.protobuf.CodedInputStream input,
1192               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1193               throws com.google.protobuf.InvalidProtocolBufferException {
1194             Builder builder = newBuilder();
1195             try {
1196               builder.mergeFrom(input, extensionRegistry);
1197             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1198               throw e.setUnfinishedMessage(builder.buildPartial());
1199             } catch (com.google.protobuf.UninitializedMessageException e) {
1200               throw e.asInvalidProtocolBufferException()
1201                   .setUnfinishedMessage(builder.buildPartial());
1202             } catch (java.io.IOException e) {
1203               throw new com.google.protobuf.InvalidProtocolBufferException(e)
1204                   .setUnfinishedMessage(builder.buildPartial());
1205             }
1206             return builder.buildPartial();
1207           }
1208         };
1209 
parser()1210     public static com.google.protobuf.Parser<PriceRange> parser() {
1211       return PARSER;
1212     }
1213 
1214     @java.lang.Override
getParserForType()1215     public com.google.protobuf.Parser<PriceRange> getParserForType() {
1216       return PARSER;
1217     }
1218 
1219     @java.lang.Override
getDefaultInstanceForType()1220     public com.google.cloud.retail.v2.PriceInfo.PriceRange getDefaultInstanceForType() {
1221       return DEFAULT_INSTANCE;
1222     }
1223   }
1224 
1225   public static final int CURRENCY_CODE_FIELD_NUMBER = 1;
1226 
1227   @SuppressWarnings("serial")
1228   private volatile java.lang.Object currencyCode_ = "";
1229   /**
1230    *
1231    *
1232    * <pre>
1233    * The 3-letter currency code defined in [ISO
1234    * 4217](https://www.iso.org/iso-4217-currency-codes.html).
1235    * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
1236    * error is returned.
1237    * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
1238    * [Product][google.cloud.retail.v2.Product]s with the same
1239    * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
1240    * must share the same
1241    * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
1242    * a FAILED_PRECONDITION error is returned.
1243    * </pre>
1244    *
1245    * <code>string currency_code = 1;</code>
1246    *
1247    * @return The currencyCode.
1248    */
1249   @java.lang.Override
getCurrencyCode()1250   public java.lang.String getCurrencyCode() {
1251     java.lang.Object ref = currencyCode_;
1252     if (ref instanceof java.lang.String) {
1253       return (java.lang.String) ref;
1254     } else {
1255       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1256       java.lang.String s = bs.toStringUtf8();
1257       currencyCode_ = s;
1258       return s;
1259     }
1260   }
1261   /**
1262    *
1263    *
1264    * <pre>
1265    * The 3-letter currency code defined in [ISO
1266    * 4217](https://www.iso.org/iso-4217-currency-codes.html).
1267    * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
1268    * error is returned.
1269    * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
1270    * [Product][google.cloud.retail.v2.Product]s with the same
1271    * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
1272    * must share the same
1273    * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
1274    * a FAILED_PRECONDITION error is returned.
1275    * </pre>
1276    *
1277    * <code>string currency_code = 1;</code>
1278    *
1279    * @return The bytes for currencyCode.
1280    */
1281   @java.lang.Override
getCurrencyCodeBytes()1282   public com.google.protobuf.ByteString getCurrencyCodeBytes() {
1283     java.lang.Object ref = currencyCode_;
1284     if (ref instanceof java.lang.String) {
1285       com.google.protobuf.ByteString b =
1286           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1287       currencyCode_ = b;
1288       return b;
1289     } else {
1290       return (com.google.protobuf.ByteString) ref;
1291     }
1292   }
1293 
1294   public static final int PRICE_FIELD_NUMBER = 2;
1295   private float price_ = 0F;
1296   /**
1297    *
1298    *
1299    * <pre>
1300    * Price of the product.
1301    * Google Merchant Center property
1302    * [price](https://support.google.com/merchants/answer/6324371). Schema.org
1303    * property [Offer.price](https://schema.org/price).
1304    * </pre>
1305    *
1306    * <code>float price = 2;</code>
1307    *
1308    * @return The price.
1309    */
1310   @java.lang.Override
getPrice()1311   public float getPrice() {
1312     return price_;
1313   }
1314 
1315   public static final int ORIGINAL_PRICE_FIELD_NUMBER = 3;
1316   private float originalPrice_ = 0F;
1317   /**
1318    *
1319    *
1320    * <pre>
1321    * Price of the product without any discount. If zero, by default set to be
1322    * the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
1323    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
1324    * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
1325    * otherwise an INVALID_ARGUMENT error is thrown.
1326    * </pre>
1327    *
1328    * <code>float original_price = 3;</code>
1329    *
1330    * @return The originalPrice.
1331    */
1332   @java.lang.Override
getOriginalPrice()1333   public float getOriginalPrice() {
1334     return originalPrice_;
1335   }
1336 
1337   public static final int COST_FIELD_NUMBER = 4;
1338   private float cost_ = 0F;
1339   /**
1340    *
1341    *
1342    * <pre>
1343    * The costs associated with the sale of a particular product. Used for gross
1344    * profit reporting.
1345    * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
1346    * [cost][google.cloud.retail.v2.PriceInfo.cost]
1347    * Google Merchant Center property
1348    * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
1349    * </pre>
1350    *
1351    * <code>float cost = 4;</code>
1352    *
1353    * @return The cost.
1354    */
1355   @java.lang.Override
getCost()1356   public float getCost() {
1357     return cost_;
1358   }
1359 
1360   public static final int PRICE_EFFECTIVE_TIME_FIELD_NUMBER = 5;
1361   private com.google.protobuf.Timestamp priceEffectiveTime_;
1362   /**
1363    *
1364    *
1365    * <pre>
1366    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1367    * starts to be effective. This can be set as a future timestamp, and the
1368    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
1369    * after
1370    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1371    * If so, the
1372    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1373    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1374    * is used before
1375    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1376    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1377    * effective because it will cause additional latency during search.
1378    * </pre>
1379    *
1380    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
1381    *
1382    * @return Whether the priceEffectiveTime field is set.
1383    */
1384   @java.lang.Override
hasPriceEffectiveTime()1385   public boolean hasPriceEffectiveTime() {
1386     return priceEffectiveTime_ != null;
1387   }
1388   /**
1389    *
1390    *
1391    * <pre>
1392    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1393    * starts to be effective. This can be set as a future timestamp, and the
1394    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
1395    * after
1396    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1397    * If so, the
1398    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1399    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1400    * is used before
1401    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1402    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1403    * effective because it will cause additional latency during search.
1404    * </pre>
1405    *
1406    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
1407    *
1408    * @return The priceEffectiveTime.
1409    */
1410   @java.lang.Override
getPriceEffectiveTime()1411   public com.google.protobuf.Timestamp getPriceEffectiveTime() {
1412     return priceEffectiveTime_ == null
1413         ? com.google.protobuf.Timestamp.getDefaultInstance()
1414         : priceEffectiveTime_;
1415   }
1416   /**
1417    *
1418    *
1419    * <pre>
1420    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1421    * starts to be effective. This can be set as a future timestamp, and the
1422    * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
1423    * after
1424    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1425    * If so, the
1426    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1427    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1428    * is used before
1429    * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
1430    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1431    * effective because it will cause additional latency during search.
1432    * </pre>
1433    *
1434    * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
1435    */
1436   @java.lang.Override
getPriceEffectiveTimeOrBuilder()1437   public com.google.protobuf.TimestampOrBuilder getPriceEffectiveTimeOrBuilder() {
1438     return priceEffectiveTime_ == null
1439         ? com.google.protobuf.Timestamp.getDefaultInstance()
1440         : priceEffectiveTime_;
1441   }
1442 
1443   public static final int PRICE_EXPIRE_TIME_FIELD_NUMBER = 6;
1444   private com.google.protobuf.Timestamp priceExpireTime_;
1445   /**
1446    *
1447    *
1448    * <pre>
1449    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1450    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
1451    * is used for search before
1452    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
1453    * this field is set, the
1454    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1455    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1456    * is used after
1457    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
1458    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1459    * effective because it will cause additional latency during search.
1460    * </pre>
1461    *
1462    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
1463    *
1464    * @return Whether the priceExpireTime field is set.
1465    */
1466   @java.lang.Override
hasPriceExpireTime()1467   public boolean hasPriceExpireTime() {
1468     return priceExpireTime_ != null;
1469   }
1470   /**
1471    *
1472    *
1473    * <pre>
1474    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1475    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
1476    * is used for search before
1477    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
1478    * this field is set, the
1479    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1480    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1481    * is used after
1482    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
1483    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1484    * effective because it will cause additional latency during search.
1485    * </pre>
1486    *
1487    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
1488    *
1489    * @return The priceExpireTime.
1490    */
1491   @java.lang.Override
getPriceExpireTime()1492   public com.google.protobuf.Timestamp getPriceExpireTime() {
1493     return priceExpireTime_ == null
1494         ? com.google.protobuf.Timestamp.getDefaultInstance()
1495         : priceExpireTime_;
1496   }
1497   /**
1498    *
1499    *
1500    * <pre>
1501    * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
1502    * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
1503    * is used for search before
1504    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
1505    * this field is set, the
1506    * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
1507    * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
1508    * is used after
1509    * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
1510    * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
1511    * effective because it will cause additional latency during search.
1512    * </pre>
1513    *
1514    * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
1515    */
1516   @java.lang.Override
getPriceExpireTimeOrBuilder()1517   public com.google.protobuf.TimestampOrBuilder getPriceExpireTimeOrBuilder() {
1518     return priceExpireTime_ == null
1519         ? com.google.protobuf.Timestamp.getDefaultInstance()
1520         : priceExpireTime_;
1521   }
1522 
1523   public static final int PRICE_RANGE_FIELD_NUMBER = 7;
1524   private com.google.cloud.retail.v2.PriceInfo.PriceRange priceRange_;
1525   /**
1526    *
1527    *
1528    * <pre>
1529    * Output only. The price range of all the child
1530    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
1531    * [Product][google.cloud.retail.v2.Product]s grouped together on the
1532    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1533    * [Product][google.cloud.retail.v2.Product]. Only populated for
1534    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1535    * [Product][google.cloud.retail.v2.Product]s.
1536    * Note: This field is OUTPUT_ONLY for
1537    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
1538    * Do not set this field in API requests.
1539    * </pre>
1540    *
1541    * <code>
1542    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
1543    * </code>
1544    *
1545    * @return Whether the priceRange field is set.
1546    */
1547   @java.lang.Override
hasPriceRange()1548   public boolean hasPriceRange() {
1549     return priceRange_ != null;
1550   }
1551   /**
1552    *
1553    *
1554    * <pre>
1555    * Output only. The price range of all the child
1556    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
1557    * [Product][google.cloud.retail.v2.Product]s grouped together on the
1558    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1559    * [Product][google.cloud.retail.v2.Product]. Only populated for
1560    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1561    * [Product][google.cloud.retail.v2.Product]s.
1562    * Note: This field is OUTPUT_ONLY for
1563    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
1564    * Do not set this field in API requests.
1565    * </pre>
1566    *
1567    * <code>
1568    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
1569    * </code>
1570    *
1571    * @return The priceRange.
1572    */
1573   @java.lang.Override
getPriceRange()1574   public com.google.cloud.retail.v2.PriceInfo.PriceRange getPriceRange() {
1575     return priceRange_ == null
1576         ? com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance()
1577         : priceRange_;
1578   }
1579   /**
1580    *
1581    *
1582    * <pre>
1583    * Output only. The price range of all the child
1584    * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
1585    * [Product][google.cloud.retail.v2.Product]s grouped together on the
1586    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1587    * [Product][google.cloud.retail.v2.Product]. Only populated for
1588    * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
1589    * [Product][google.cloud.retail.v2.Product]s.
1590    * Note: This field is OUTPUT_ONLY for
1591    * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
1592    * Do not set this field in API requests.
1593    * </pre>
1594    *
1595    * <code>
1596    * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
1597    * </code>
1598    */
1599   @java.lang.Override
getPriceRangeOrBuilder()1600   public com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder getPriceRangeOrBuilder() {
1601     return priceRange_ == null
1602         ? com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance()
1603         : priceRange_;
1604   }
1605 
1606   private byte memoizedIsInitialized = -1;
1607 
1608   @java.lang.Override
isInitialized()1609   public final boolean isInitialized() {
1610     byte isInitialized = memoizedIsInitialized;
1611     if (isInitialized == 1) return true;
1612     if (isInitialized == 0) return false;
1613 
1614     memoizedIsInitialized = 1;
1615     return true;
1616   }
1617 
1618   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1619   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1620     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(currencyCode_)) {
1621       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, currencyCode_);
1622     }
1623     if (java.lang.Float.floatToRawIntBits(price_) != 0) {
1624       output.writeFloat(2, price_);
1625     }
1626     if (java.lang.Float.floatToRawIntBits(originalPrice_) != 0) {
1627       output.writeFloat(3, originalPrice_);
1628     }
1629     if (java.lang.Float.floatToRawIntBits(cost_) != 0) {
1630       output.writeFloat(4, cost_);
1631     }
1632     if (priceEffectiveTime_ != null) {
1633       output.writeMessage(5, getPriceEffectiveTime());
1634     }
1635     if (priceExpireTime_ != null) {
1636       output.writeMessage(6, getPriceExpireTime());
1637     }
1638     if (priceRange_ != null) {
1639       output.writeMessage(7, getPriceRange());
1640     }
1641     getUnknownFields().writeTo(output);
1642   }
1643 
1644   @java.lang.Override
getSerializedSize()1645   public int getSerializedSize() {
1646     int size = memoizedSize;
1647     if (size != -1) return size;
1648 
1649     size = 0;
1650     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(currencyCode_)) {
1651       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, currencyCode_);
1652     }
1653     if (java.lang.Float.floatToRawIntBits(price_) != 0) {
1654       size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, price_);
1655     }
1656     if (java.lang.Float.floatToRawIntBits(originalPrice_) != 0) {
1657       size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, originalPrice_);
1658     }
1659     if (java.lang.Float.floatToRawIntBits(cost_) != 0) {
1660       size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, cost_);
1661     }
1662     if (priceEffectiveTime_ != null) {
1663       size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getPriceEffectiveTime());
1664     }
1665     if (priceExpireTime_ != null) {
1666       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getPriceExpireTime());
1667     }
1668     if (priceRange_ != null) {
1669       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getPriceRange());
1670     }
1671     size += getUnknownFields().getSerializedSize();
1672     memoizedSize = size;
1673     return size;
1674   }
1675 
1676   @java.lang.Override
equals(final java.lang.Object obj)1677   public boolean equals(final java.lang.Object obj) {
1678     if (obj == this) {
1679       return true;
1680     }
1681     if (!(obj instanceof com.google.cloud.retail.v2.PriceInfo)) {
1682       return super.equals(obj);
1683     }
1684     com.google.cloud.retail.v2.PriceInfo other = (com.google.cloud.retail.v2.PriceInfo) obj;
1685 
1686     if (!getCurrencyCode().equals(other.getCurrencyCode())) return false;
1687     if (java.lang.Float.floatToIntBits(getPrice())
1688         != java.lang.Float.floatToIntBits(other.getPrice())) return false;
1689     if (java.lang.Float.floatToIntBits(getOriginalPrice())
1690         != java.lang.Float.floatToIntBits(other.getOriginalPrice())) return false;
1691     if (java.lang.Float.floatToIntBits(getCost())
1692         != java.lang.Float.floatToIntBits(other.getCost())) return false;
1693     if (hasPriceEffectiveTime() != other.hasPriceEffectiveTime()) return false;
1694     if (hasPriceEffectiveTime()) {
1695       if (!getPriceEffectiveTime().equals(other.getPriceEffectiveTime())) return false;
1696     }
1697     if (hasPriceExpireTime() != other.hasPriceExpireTime()) return false;
1698     if (hasPriceExpireTime()) {
1699       if (!getPriceExpireTime().equals(other.getPriceExpireTime())) return false;
1700     }
1701     if (hasPriceRange() != other.hasPriceRange()) return false;
1702     if (hasPriceRange()) {
1703       if (!getPriceRange().equals(other.getPriceRange())) return false;
1704     }
1705     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1706     return true;
1707   }
1708 
1709   @java.lang.Override
hashCode()1710   public int hashCode() {
1711     if (memoizedHashCode != 0) {
1712       return memoizedHashCode;
1713     }
1714     int hash = 41;
1715     hash = (19 * hash) + getDescriptor().hashCode();
1716     hash = (37 * hash) + CURRENCY_CODE_FIELD_NUMBER;
1717     hash = (53 * hash) + getCurrencyCode().hashCode();
1718     hash = (37 * hash) + PRICE_FIELD_NUMBER;
1719     hash = (53 * hash) + java.lang.Float.floatToIntBits(getPrice());
1720     hash = (37 * hash) + ORIGINAL_PRICE_FIELD_NUMBER;
1721     hash = (53 * hash) + java.lang.Float.floatToIntBits(getOriginalPrice());
1722     hash = (37 * hash) + COST_FIELD_NUMBER;
1723     hash = (53 * hash) + java.lang.Float.floatToIntBits(getCost());
1724     if (hasPriceEffectiveTime()) {
1725       hash = (37 * hash) + PRICE_EFFECTIVE_TIME_FIELD_NUMBER;
1726       hash = (53 * hash) + getPriceEffectiveTime().hashCode();
1727     }
1728     if (hasPriceExpireTime()) {
1729       hash = (37 * hash) + PRICE_EXPIRE_TIME_FIELD_NUMBER;
1730       hash = (53 * hash) + getPriceExpireTime().hashCode();
1731     }
1732     if (hasPriceRange()) {
1733       hash = (37 * hash) + PRICE_RANGE_FIELD_NUMBER;
1734       hash = (53 * hash) + getPriceRange().hashCode();
1735     }
1736     hash = (29 * hash) + getUnknownFields().hashCode();
1737     memoizedHashCode = hash;
1738     return hash;
1739   }
1740 
parseFrom(java.nio.ByteBuffer data)1741   public static com.google.cloud.retail.v2.PriceInfo parseFrom(java.nio.ByteBuffer data)
1742       throws com.google.protobuf.InvalidProtocolBufferException {
1743     return PARSER.parseFrom(data);
1744   }
1745 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1746   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1747       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1748       throws com.google.protobuf.InvalidProtocolBufferException {
1749     return PARSER.parseFrom(data, extensionRegistry);
1750   }
1751 
parseFrom(com.google.protobuf.ByteString data)1752   public static com.google.cloud.retail.v2.PriceInfo parseFrom(com.google.protobuf.ByteString data)
1753       throws com.google.protobuf.InvalidProtocolBufferException {
1754     return PARSER.parseFrom(data);
1755   }
1756 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1757   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1758       com.google.protobuf.ByteString data,
1759       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1760       throws com.google.protobuf.InvalidProtocolBufferException {
1761     return PARSER.parseFrom(data, extensionRegistry);
1762   }
1763 
parseFrom(byte[] data)1764   public static com.google.cloud.retail.v2.PriceInfo parseFrom(byte[] data)
1765       throws com.google.protobuf.InvalidProtocolBufferException {
1766     return PARSER.parseFrom(data);
1767   }
1768 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1769   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1770       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1771       throws com.google.protobuf.InvalidProtocolBufferException {
1772     return PARSER.parseFrom(data, extensionRegistry);
1773   }
1774 
parseFrom(java.io.InputStream input)1775   public static com.google.cloud.retail.v2.PriceInfo parseFrom(java.io.InputStream input)
1776       throws java.io.IOException {
1777     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1778   }
1779 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1780   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1781       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1782       throws java.io.IOException {
1783     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1784         PARSER, input, extensionRegistry);
1785   }
1786 
parseDelimitedFrom(java.io.InputStream input)1787   public static com.google.cloud.retail.v2.PriceInfo parseDelimitedFrom(java.io.InputStream input)
1788       throws java.io.IOException {
1789     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1790   }
1791 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1792   public static com.google.cloud.retail.v2.PriceInfo parseDelimitedFrom(
1793       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1794       throws java.io.IOException {
1795     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1796         PARSER, input, extensionRegistry);
1797   }
1798 
parseFrom( com.google.protobuf.CodedInputStream input)1799   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1800       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1801     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1802   }
1803 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1804   public static com.google.cloud.retail.v2.PriceInfo parseFrom(
1805       com.google.protobuf.CodedInputStream input,
1806       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1807       throws java.io.IOException {
1808     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1809         PARSER, input, extensionRegistry);
1810   }
1811 
1812   @java.lang.Override
newBuilderForType()1813   public Builder newBuilderForType() {
1814     return newBuilder();
1815   }
1816 
newBuilder()1817   public static Builder newBuilder() {
1818     return DEFAULT_INSTANCE.toBuilder();
1819   }
1820 
newBuilder(com.google.cloud.retail.v2.PriceInfo prototype)1821   public static Builder newBuilder(com.google.cloud.retail.v2.PriceInfo prototype) {
1822     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1823   }
1824 
1825   @java.lang.Override
toBuilder()1826   public Builder toBuilder() {
1827     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1828   }
1829 
1830   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1831   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1832     Builder builder = new Builder(parent);
1833     return builder;
1834   }
1835   /**
1836    *
1837    *
1838    * <pre>
1839    * The price information of a [Product][google.cloud.retail.v2.Product].
1840    * </pre>
1841    *
1842    * Protobuf type {@code google.cloud.retail.v2.PriceInfo}
1843    */
1844   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1845       implements
1846       // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2.PriceInfo)
1847       com.google.cloud.retail.v2.PriceInfoOrBuilder {
getDescriptor()1848     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1849       return com.google.cloud.retail.v2.CommonProto
1850           .internal_static_google_cloud_retail_v2_PriceInfo_descriptor;
1851     }
1852 
1853     @java.lang.Override
1854     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1855         internalGetFieldAccessorTable() {
1856       return com.google.cloud.retail.v2.CommonProto
1857           .internal_static_google_cloud_retail_v2_PriceInfo_fieldAccessorTable
1858           .ensureFieldAccessorsInitialized(
1859               com.google.cloud.retail.v2.PriceInfo.class,
1860               com.google.cloud.retail.v2.PriceInfo.Builder.class);
1861     }
1862 
1863     // Construct using com.google.cloud.retail.v2.PriceInfo.newBuilder()
Builder()1864     private Builder() {}
1865 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1866     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1867       super(parent);
1868     }
1869 
1870     @java.lang.Override
clear()1871     public Builder clear() {
1872       super.clear();
1873       bitField0_ = 0;
1874       currencyCode_ = "";
1875       price_ = 0F;
1876       originalPrice_ = 0F;
1877       cost_ = 0F;
1878       priceEffectiveTime_ = null;
1879       if (priceEffectiveTimeBuilder_ != null) {
1880         priceEffectiveTimeBuilder_.dispose();
1881         priceEffectiveTimeBuilder_ = null;
1882       }
1883       priceExpireTime_ = null;
1884       if (priceExpireTimeBuilder_ != null) {
1885         priceExpireTimeBuilder_.dispose();
1886         priceExpireTimeBuilder_ = null;
1887       }
1888       priceRange_ = null;
1889       if (priceRangeBuilder_ != null) {
1890         priceRangeBuilder_.dispose();
1891         priceRangeBuilder_ = null;
1892       }
1893       return this;
1894     }
1895 
1896     @java.lang.Override
getDescriptorForType()1897     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1898       return com.google.cloud.retail.v2.CommonProto
1899           .internal_static_google_cloud_retail_v2_PriceInfo_descriptor;
1900     }
1901 
1902     @java.lang.Override
getDefaultInstanceForType()1903     public com.google.cloud.retail.v2.PriceInfo getDefaultInstanceForType() {
1904       return com.google.cloud.retail.v2.PriceInfo.getDefaultInstance();
1905     }
1906 
1907     @java.lang.Override
build()1908     public com.google.cloud.retail.v2.PriceInfo build() {
1909       com.google.cloud.retail.v2.PriceInfo result = buildPartial();
1910       if (!result.isInitialized()) {
1911         throw newUninitializedMessageException(result);
1912       }
1913       return result;
1914     }
1915 
1916     @java.lang.Override
buildPartial()1917     public com.google.cloud.retail.v2.PriceInfo buildPartial() {
1918       com.google.cloud.retail.v2.PriceInfo result = new com.google.cloud.retail.v2.PriceInfo(this);
1919       if (bitField0_ != 0) {
1920         buildPartial0(result);
1921       }
1922       onBuilt();
1923       return result;
1924     }
1925 
buildPartial0(com.google.cloud.retail.v2.PriceInfo result)1926     private void buildPartial0(com.google.cloud.retail.v2.PriceInfo result) {
1927       int from_bitField0_ = bitField0_;
1928       if (((from_bitField0_ & 0x00000001) != 0)) {
1929         result.currencyCode_ = currencyCode_;
1930       }
1931       if (((from_bitField0_ & 0x00000002) != 0)) {
1932         result.price_ = price_;
1933       }
1934       if (((from_bitField0_ & 0x00000004) != 0)) {
1935         result.originalPrice_ = originalPrice_;
1936       }
1937       if (((from_bitField0_ & 0x00000008) != 0)) {
1938         result.cost_ = cost_;
1939       }
1940       if (((from_bitField0_ & 0x00000010) != 0)) {
1941         result.priceEffectiveTime_ =
1942             priceEffectiveTimeBuilder_ == null
1943                 ? priceEffectiveTime_
1944                 : priceEffectiveTimeBuilder_.build();
1945       }
1946       if (((from_bitField0_ & 0x00000020) != 0)) {
1947         result.priceExpireTime_ =
1948             priceExpireTimeBuilder_ == null ? priceExpireTime_ : priceExpireTimeBuilder_.build();
1949       }
1950       if (((from_bitField0_ & 0x00000040) != 0)) {
1951         result.priceRange_ = priceRangeBuilder_ == null ? priceRange_ : priceRangeBuilder_.build();
1952       }
1953     }
1954 
1955     @java.lang.Override
clone()1956     public Builder clone() {
1957       return super.clone();
1958     }
1959 
1960     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1961     public Builder setField(
1962         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1963       return super.setField(field, value);
1964     }
1965 
1966     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1967     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1968       return super.clearField(field);
1969     }
1970 
1971     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1972     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1973       return super.clearOneof(oneof);
1974     }
1975 
1976     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1977     public Builder setRepeatedField(
1978         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
1979       return super.setRepeatedField(field, index, value);
1980     }
1981 
1982     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1983     public Builder addRepeatedField(
1984         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1985       return super.addRepeatedField(field, value);
1986     }
1987 
1988     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1989     public Builder mergeFrom(com.google.protobuf.Message other) {
1990       if (other instanceof com.google.cloud.retail.v2.PriceInfo) {
1991         return mergeFrom((com.google.cloud.retail.v2.PriceInfo) other);
1992       } else {
1993         super.mergeFrom(other);
1994         return this;
1995       }
1996     }
1997 
mergeFrom(com.google.cloud.retail.v2.PriceInfo other)1998     public Builder mergeFrom(com.google.cloud.retail.v2.PriceInfo other) {
1999       if (other == com.google.cloud.retail.v2.PriceInfo.getDefaultInstance()) return this;
2000       if (!other.getCurrencyCode().isEmpty()) {
2001         currencyCode_ = other.currencyCode_;
2002         bitField0_ |= 0x00000001;
2003         onChanged();
2004       }
2005       if (other.getPrice() != 0F) {
2006         setPrice(other.getPrice());
2007       }
2008       if (other.getOriginalPrice() != 0F) {
2009         setOriginalPrice(other.getOriginalPrice());
2010       }
2011       if (other.getCost() != 0F) {
2012         setCost(other.getCost());
2013       }
2014       if (other.hasPriceEffectiveTime()) {
2015         mergePriceEffectiveTime(other.getPriceEffectiveTime());
2016       }
2017       if (other.hasPriceExpireTime()) {
2018         mergePriceExpireTime(other.getPriceExpireTime());
2019       }
2020       if (other.hasPriceRange()) {
2021         mergePriceRange(other.getPriceRange());
2022       }
2023       this.mergeUnknownFields(other.getUnknownFields());
2024       onChanged();
2025       return this;
2026     }
2027 
2028     @java.lang.Override
isInitialized()2029     public final boolean isInitialized() {
2030       return true;
2031     }
2032 
2033     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2034     public Builder mergeFrom(
2035         com.google.protobuf.CodedInputStream input,
2036         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2037         throws java.io.IOException {
2038       if (extensionRegistry == null) {
2039         throw new java.lang.NullPointerException();
2040       }
2041       try {
2042         boolean done = false;
2043         while (!done) {
2044           int tag = input.readTag();
2045           switch (tag) {
2046             case 0:
2047               done = true;
2048               break;
2049             case 10:
2050               {
2051                 currencyCode_ = input.readStringRequireUtf8();
2052                 bitField0_ |= 0x00000001;
2053                 break;
2054               } // case 10
2055             case 21:
2056               {
2057                 price_ = input.readFloat();
2058                 bitField0_ |= 0x00000002;
2059                 break;
2060               } // case 21
2061             case 29:
2062               {
2063                 originalPrice_ = input.readFloat();
2064                 bitField0_ |= 0x00000004;
2065                 break;
2066               } // case 29
2067             case 37:
2068               {
2069                 cost_ = input.readFloat();
2070                 bitField0_ |= 0x00000008;
2071                 break;
2072               } // case 37
2073             case 42:
2074               {
2075                 input.readMessage(
2076                     getPriceEffectiveTimeFieldBuilder().getBuilder(), extensionRegistry);
2077                 bitField0_ |= 0x00000010;
2078                 break;
2079               } // case 42
2080             case 50:
2081               {
2082                 input.readMessage(getPriceExpireTimeFieldBuilder().getBuilder(), extensionRegistry);
2083                 bitField0_ |= 0x00000020;
2084                 break;
2085               } // case 50
2086             case 58:
2087               {
2088                 input.readMessage(getPriceRangeFieldBuilder().getBuilder(), extensionRegistry);
2089                 bitField0_ |= 0x00000040;
2090                 break;
2091               } // case 58
2092             default:
2093               {
2094                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2095                   done = true; // was an endgroup tag
2096                 }
2097                 break;
2098               } // default:
2099           } // switch (tag)
2100         } // while (!done)
2101       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2102         throw e.unwrapIOException();
2103       } finally {
2104         onChanged();
2105       } // finally
2106       return this;
2107     }
2108 
2109     private int bitField0_;
2110 
2111     private java.lang.Object currencyCode_ = "";
2112     /**
2113      *
2114      *
2115      * <pre>
2116      * The 3-letter currency code defined in [ISO
2117      * 4217](https://www.iso.org/iso-4217-currency-codes.html).
2118      * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
2119      * error is returned.
2120      * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
2121      * [Product][google.cloud.retail.v2.Product]s with the same
2122      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
2123      * must share the same
2124      * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
2125      * a FAILED_PRECONDITION error is returned.
2126      * </pre>
2127      *
2128      * <code>string currency_code = 1;</code>
2129      *
2130      * @return The currencyCode.
2131      */
getCurrencyCode()2132     public java.lang.String getCurrencyCode() {
2133       java.lang.Object ref = currencyCode_;
2134       if (!(ref instanceof java.lang.String)) {
2135         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2136         java.lang.String s = bs.toStringUtf8();
2137         currencyCode_ = s;
2138         return s;
2139       } else {
2140         return (java.lang.String) ref;
2141       }
2142     }
2143     /**
2144      *
2145      *
2146      * <pre>
2147      * The 3-letter currency code defined in [ISO
2148      * 4217](https://www.iso.org/iso-4217-currency-codes.html).
2149      * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
2150      * error is returned.
2151      * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
2152      * [Product][google.cloud.retail.v2.Product]s with the same
2153      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
2154      * must share the same
2155      * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
2156      * a FAILED_PRECONDITION error is returned.
2157      * </pre>
2158      *
2159      * <code>string currency_code = 1;</code>
2160      *
2161      * @return The bytes for currencyCode.
2162      */
getCurrencyCodeBytes()2163     public com.google.protobuf.ByteString getCurrencyCodeBytes() {
2164       java.lang.Object ref = currencyCode_;
2165       if (ref instanceof String) {
2166         com.google.protobuf.ByteString b =
2167             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2168         currencyCode_ = b;
2169         return b;
2170       } else {
2171         return (com.google.protobuf.ByteString) ref;
2172       }
2173     }
2174     /**
2175      *
2176      *
2177      * <pre>
2178      * The 3-letter currency code defined in [ISO
2179      * 4217](https://www.iso.org/iso-4217-currency-codes.html).
2180      * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
2181      * error is returned.
2182      * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
2183      * [Product][google.cloud.retail.v2.Product]s with the same
2184      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
2185      * must share the same
2186      * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
2187      * a FAILED_PRECONDITION error is returned.
2188      * </pre>
2189      *
2190      * <code>string currency_code = 1;</code>
2191      *
2192      * @param value The currencyCode to set.
2193      * @return This builder for chaining.
2194      */
setCurrencyCode(java.lang.String value)2195     public Builder setCurrencyCode(java.lang.String value) {
2196       if (value == null) {
2197         throw new NullPointerException();
2198       }
2199       currencyCode_ = value;
2200       bitField0_ |= 0x00000001;
2201       onChanged();
2202       return this;
2203     }
2204     /**
2205      *
2206      *
2207      * <pre>
2208      * The 3-letter currency code defined in [ISO
2209      * 4217](https://www.iso.org/iso-4217-currency-codes.html).
2210      * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
2211      * error is returned.
2212      * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
2213      * [Product][google.cloud.retail.v2.Product]s with the same
2214      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
2215      * must share the same
2216      * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
2217      * a FAILED_PRECONDITION error is returned.
2218      * </pre>
2219      *
2220      * <code>string currency_code = 1;</code>
2221      *
2222      * @return This builder for chaining.
2223      */
clearCurrencyCode()2224     public Builder clearCurrencyCode() {
2225       currencyCode_ = getDefaultInstance().getCurrencyCode();
2226       bitField0_ = (bitField0_ & ~0x00000001);
2227       onChanged();
2228       return this;
2229     }
2230     /**
2231      *
2232      *
2233      * <pre>
2234      * The 3-letter currency code defined in [ISO
2235      * 4217](https://www.iso.org/iso-4217-currency-codes.html).
2236      * If this field is an unrecognizable currency code, an INVALID_ARGUMENT
2237      * error is returned.
2238      * The [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
2239      * [Product][google.cloud.retail.v2.Product]s with the same
2240      * [Product.primary_product_id][google.cloud.retail.v2.Product.primary_product_id]
2241      * must share the same
2242      * [currency_code][google.cloud.retail.v2.PriceInfo.currency_code]. Otherwise,
2243      * a FAILED_PRECONDITION error is returned.
2244      * </pre>
2245      *
2246      * <code>string currency_code = 1;</code>
2247      *
2248      * @param value The bytes for currencyCode to set.
2249      * @return This builder for chaining.
2250      */
setCurrencyCodeBytes(com.google.protobuf.ByteString value)2251     public Builder setCurrencyCodeBytes(com.google.protobuf.ByteString value) {
2252       if (value == null) {
2253         throw new NullPointerException();
2254       }
2255       checkByteStringIsUtf8(value);
2256       currencyCode_ = value;
2257       bitField0_ |= 0x00000001;
2258       onChanged();
2259       return this;
2260     }
2261 
2262     private float price_;
2263     /**
2264      *
2265      *
2266      * <pre>
2267      * Price of the product.
2268      * Google Merchant Center property
2269      * [price](https://support.google.com/merchants/answer/6324371). Schema.org
2270      * property [Offer.price](https://schema.org/price).
2271      * </pre>
2272      *
2273      * <code>float price = 2;</code>
2274      *
2275      * @return The price.
2276      */
2277     @java.lang.Override
getPrice()2278     public float getPrice() {
2279       return price_;
2280     }
2281     /**
2282      *
2283      *
2284      * <pre>
2285      * Price of the product.
2286      * Google Merchant Center property
2287      * [price](https://support.google.com/merchants/answer/6324371). Schema.org
2288      * property [Offer.price](https://schema.org/price).
2289      * </pre>
2290      *
2291      * <code>float price = 2;</code>
2292      *
2293      * @param value The price to set.
2294      * @return This builder for chaining.
2295      */
setPrice(float value)2296     public Builder setPrice(float value) {
2297 
2298       price_ = value;
2299       bitField0_ |= 0x00000002;
2300       onChanged();
2301       return this;
2302     }
2303     /**
2304      *
2305      *
2306      * <pre>
2307      * Price of the product.
2308      * Google Merchant Center property
2309      * [price](https://support.google.com/merchants/answer/6324371). Schema.org
2310      * property [Offer.price](https://schema.org/price).
2311      * </pre>
2312      *
2313      * <code>float price = 2;</code>
2314      *
2315      * @return This builder for chaining.
2316      */
clearPrice()2317     public Builder clearPrice() {
2318       bitField0_ = (bitField0_ & ~0x00000002);
2319       price_ = 0F;
2320       onChanged();
2321       return this;
2322     }
2323 
2324     private float originalPrice_;
2325     /**
2326      *
2327      *
2328      * <pre>
2329      * Price of the product without any discount. If zero, by default set to be
2330      * the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
2331      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
2332      * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
2333      * otherwise an INVALID_ARGUMENT error is thrown.
2334      * </pre>
2335      *
2336      * <code>float original_price = 3;</code>
2337      *
2338      * @return The originalPrice.
2339      */
2340     @java.lang.Override
getOriginalPrice()2341     public float getOriginalPrice() {
2342       return originalPrice_;
2343     }
2344     /**
2345      *
2346      *
2347      * <pre>
2348      * Price of the product without any discount. If zero, by default set to be
2349      * the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
2350      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
2351      * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
2352      * otherwise an INVALID_ARGUMENT error is thrown.
2353      * </pre>
2354      *
2355      * <code>float original_price = 3;</code>
2356      *
2357      * @param value The originalPrice to set.
2358      * @return This builder for chaining.
2359      */
setOriginalPrice(float value)2360     public Builder setOriginalPrice(float value) {
2361 
2362       originalPrice_ = value;
2363       bitField0_ |= 0x00000004;
2364       onChanged();
2365       return this;
2366     }
2367     /**
2368      *
2369      *
2370      * <pre>
2371      * Price of the product without any discount. If zero, by default set to be
2372      * the [price][google.cloud.retail.v2.PriceInfo.price]. If set,
2373      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] should be
2374      * greater than or equal to [price][google.cloud.retail.v2.PriceInfo.price],
2375      * otherwise an INVALID_ARGUMENT error is thrown.
2376      * </pre>
2377      *
2378      * <code>float original_price = 3;</code>
2379      *
2380      * @return This builder for chaining.
2381      */
clearOriginalPrice()2382     public Builder clearOriginalPrice() {
2383       bitField0_ = (bitField0_ & ~0x00000004);
2384       originalPrice_ = 0F;
2385       onChanged();
2386       return this;
2387     }
2388 
2389     private float cost_;
2390     /**
2391      *
2392      *
2393      * <pre>
2394      * The costs associated with the sale of a particular product. Used for gross
2395      * profit reporting.
2396      * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
2397      * [cost][google.cloud.retail.v2.PriceInfo.cost]
2398      * Google Merchant Center property
2399      * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
2400      * </pre>
2401      *
2402      * <code>float cost = 4;</code>
2403      *
2404      * @return The cost.
2405      */
2406     @java.lang.Override
getCost()2407     public float getCost() {
2408       return cost_;
2409     }
2410     /**
2411      *
2412      *
2413      * <pre>
2414      * The costs associated with the sale of a particular product. Used for gross
2415      * profit reporting.
2416      * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
2417      * [cost][google.cloud.retail.v2.PriceInfo.cost]
2418      * Google Merchant Center property
2419      * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
2420      * </pre>
2421      *
2422      * <code>float cost = 4;</code>
2423      *
2424      * @param value The cost to set.
2425      * @return This builder for chaining.
2426      */
setCost(float value)2427     public Builder setCost(float value) {
2428 
2429       cost_ = value;
2430       bitField0_ |= 0x00000008;
2431       onChanged();
2432       return this;
2433     }
2434     /**
2435      *
2436      *
2437      * <pre>
2438      * The costs associated with the sale of a particular product. Used for gross
2439      * profit reporting.
2440      * * Profit = [price][google.cloud.retail.v2.PriceInfo.price] -
2441      * [cost][google.cloud.retail.v2.PriceInfo.cost]
2442      * Google Merchant Center property
2443      * [cost_of_goods_sold](https://support.google.com/merchants/answer/9017895).
2444      * </pre>
2445      *
2446      * <code>float cost = 4;</code>
2447      *
2448      * @return This builder for chaining.
2449      */
clearCost()2450     public Builder clearCost() {
2451       bitField0_ = (bitField0_ & ~0x00000008);
2452       cost_ = 0F;
2453       onChanged();
2454       return this;
2455     }
2456 
2457     private com.google.protobuf.Timestamp priceEffectiveTime_;
2458     private com.google.protobuf.SingleFieldBuilderV3<
2459             com.google.protobuf.Timestamp,
2460             com.google.protobuf.Timestamp.Builder,
2461             com.google.protobuf.TimestampOrBuilder>
2462         priceEffectiveTimeBuilder_;
2463     /**
2464      *
2465      *
2466      * <pre>
2467      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2468      * starts to be effective. This can be set as a future timestamp, and the
2469      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2470      * after
2471      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2472      * If so, the
2473      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2474      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2475      * is used before
2476      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2477      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2478      * effective because it will cause additional latency during search.
2479      * </pre>
2480      *
2481      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2482      *
2483      * @return Whether the priceEffectiveTime field is set.
2484      */
hasPriceEffectiveTime()2485     public boolean hasPriceEffectiveTime() {
2486       return ((bitField0_ & 0x00000010) != 0);
2487     }
2488     /**
2489      *
2490      *
2491      * <pre>
2492      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2493      * starts to be effective. This can be set as a future timestamp, and the
2494      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2495      * after
2496      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2497      * If so, the
2498      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2499      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2500      * is used before
2501      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2502      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2503      * effective because it will cause additional latency during search.
2504      * </pre>
2505      *
2506      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2507      *
2508      * @return The priceEffectiveTime.
2509      */
getPriceEffectiveTime()2510     public com.google.protobuf.Timestamp getPriceEffectiveTime() {
2511       if (priceEffectiveTimeBuilder_ == null) {
2512         return priceEffectiveTime_ == null
2513             ? com.google.protobuf.Timestamp.getDefaultInstance()
2514             : priceEffectiveTime_;
2515       } else {
2516         return priceEffectiveTimeBuilder_.getMessage();
2517       }
2518     }
2519     /**
2520      *
2521      *
2522      * <pre>
2523      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2524      * starts to be effective. This can be set as a future timestamp, and the
2525      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2526      * after
2527      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2528      * If so, the
2529      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2530      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2531      * is used before
2532      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2533      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2534      * effective because it will cause additional latency during search.
2535      * </pre>
2536      *
2537      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2538      */
setPriceEffectiveTime(com.google.protobuf.Timestamp value)2539     public Builder setPriceEffectiveTime(com.google.protobuf.Timestamp value) {
2540       if (priceEffectiveTimeBuilder_ == null) {
2541         if (value == null) {
2542           throw new NullPointerException();
2543         }
2544         priceEffectiveTime_ = value;
2545       } else {
2546         priceEffectiveTimeBuilder_.setMessage(value);
2547       }
2548       bitField0_ |= 0x00000010;
2549       onChanged();
2550       return this;
2551     }
2552     /**
2553      *
2554      *
2555      * <pre>
2556      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2557      * starts to be effective. This can be set as a future timestamp, and the
2558      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2559      * after
2560      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2561      * If so, the
2562      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2563      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2564      * is used before
2565      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2566      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2567      * effective because it will cause additional latency during search.
2568      * </pre>
2569      *
2570      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2571      */
setPriceEffectiveTime(com.google.protobuf.Timestamp.Builder builderForValue)2572     public Builder setPriceEffectiveTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2573       if (priceEffectiveTimeBuilder_ == null) {
2574         priceEffectiveTime_ = builderForValue.build();
2575       } else {
2576         priceEffectiveTimeBuilder_.setMessage(builderForValue.build());
2577       }
2578       bitField0_ |= 0x00000010;
2579       onChanged();
2580       return this;
2581     }
2582     /**
2583      *
2584      *
2585      * <pre>
2586      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2587      * starts to be effective. This can be set as a future timestamp, and the
2588      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2589      * after
2590      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2591      * If so, the
2592      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2593      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2594      * is used before
2595      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2596      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2597      * effective because it will cause additional latency during search.
2598      * </pre>
2599      *
2600      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2601      */
mergePriceEffectiveTime(com.google.protobuf.Timestamp value)2602     public Builder mergePriceEffectiveTime(com.google.protobuf.Timestamp value) {
2603       if (priceEffectiveTimeBuilder_ == null) {
2604         if (((bitField0_ & 0x00000010) != 0)
2605             && priceEffectiveTime_ != null
2606             && priceEffectiveTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2607           getPriceEffectiveTimeBuilder().mergeFrom(value);
2608         } else {
2609           priceEffectiveTime_ = value;
2610         }
2611       } else {
2612         priceEffectiveTimeBuilder_.mergeFrom(value);
2613       }
2614       bitField0_ |= 0x00000010;
2615       onChanged();
2616       return this;
2617     }
2618     /**
2619      *
2620      *
2621      * <pre>
2622      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2623      * starts to be effective. This can be set as a future timestamp, and the
2624      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2625      * after
2626      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2627      * If so, the
2628      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2629      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2630      * is used before
2631      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2632      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2633      * effective because it will cause additional latency during search.
2634      * </pre>
2635      *
2636      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2637      */
clearPriceEffectiveTime()2638     public Builder clearPriceEffectiveTime() {
2639       bitField0_ = (bitField0_ & ~0x00000010);
2640       priceEffectiveTime_ = null;
2641       if (priceEffectiveTimeBuilder_ != null) {
2642         priceEffectiveTimeBuilder_.dispose();
2643         priceEffectiveTimeBuilder_ = null;
2644       }
2645       onChanged();
2646       return this;
2647     }
2648     /**
2649      *
2650      *
2651      * <pre>
2652      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2653      * starts to be effective. This can be set as a future timestamp, and the
2654      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2655      * after
2656      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2657      * If so, the
2658      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2659      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2660      * is used before
2661      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2662      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2663      * effective because it will cause additional latency during search.
2664      * </pre>
2665      *
2666      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2667      */
getPriceEffectiveTimeBuilder()2668     public com.google.protobuf.Timestamp.Builder getPriceEffectiveTimeBuilder() {
2669       bitField0_ |= 0x00000010;
2670       onChanged();
2671       return getPriceEffectiveTimeFieldBuilder().getBuilder();
2672     }
2673     /**
2674      *
2675      *
2676      * <pre>
2677      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2678      * starts to be effective. This can be set as a future timestamp, and the
2679      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2680      * after
2681      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2682      * If so, the
2683      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2684      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2685      * is used before
2686      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2687      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2688      * effective because it will cause additional latency during search.
2689      * </pre>
2690      *
2691      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2692      */
getPriceEffectiveTimeOrBuilder()2693     public com.google.protobuf.TimestampOrBuilder getPriceEffectiveTimeOrBuilder() {
2694       if (priceEffectiveTimeBuilder_ != null) {
2695         return priceEffectiveTimeBuilder_.getMessageOrBuilder();
2696       } else {
2697         return priceEffectiveTime_ == null
2698             ? com.google.protobuf.Timestamp.getDefaultInstance()
2699             : priceEffectiveTime_;
2700       }
2701     }
2702     /**
2703      *
2704      *
2705      * <pre>
2706      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2707      * starts to be effective. This can be set as a future timestamp, and the
2708      * [price][google.cloud.retail.v2.PriceInfo.price] is only used for search
2709      * after
2710      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2711      * If so, the
2712      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2713      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2714      * is used before
2715      * [price_effective_time][google.cloud.retail.v2.PriceInfo.price_effective_time].
2716      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2717      * effective because it will cause additional latency during search.
2718      * </pre>
2719      *
2720      * <code>.google.protobuf.Timestamp price_effective_time = 5;</code>
2721      */
2722     private com.google.protobuf.SingleFieldBuilderV3<
2723             com.google.protobuf.Timestamp,
2724             com.google.protobuf.Timestamp.Builder,
2725             com.google.protobuf.TimestampOrBuilder>
getPriceEffectiveTimeFieldBuilder()2726         getPriceEffectiveTimeFieldBuilder() {
2727       if (priceEffectiveTimeBuilder_ == null) {
2728         priceEffectiveTimeBuilder_ =
2729             new com.google.protobuf.SingleFieldBuilderV3<
2730                 com.google.protobuf.Timestamp,
2731                 com.google.protobuf.Timestamp.Builder,
2732                 com.google.protobuf.TimestampOrBuilder>(
2733                 getPriceEffectiveTime(), getParentForChildren(), isClean());
2734         priceEffectiveTime_ = null;
2735       }
2736       return priceEffectiveTimeBuilder_;
2737     }
2738 
2739     private com.google.protobuf.Timestamp priceExpireTime_;
2740     private com.google.protobuf.SingleFieldBuilderV3<
2741             com.google.protobuf.Timestamp,
2742             com.google.protobuf.Timestamp.Builder,
2743             com.google.protobuf.TimestampOrBuilder>
2744         priceExpireTimeBuilder_;
2745     /**
2746      *
2747      *
2748      * <pre>
2749      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2750      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2751      * is used for search before
2752      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2753      * this field is set, the
2754      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2755      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2756      * is used after
2757      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2758      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2759      * effective because it will cause additional latency during search.
2760      * </pre>
2761      *
2762      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2763      *
2764      * @return Whether the priceExpireTime field is set.
2765      */
hasPriceExpireTime()2766     public boolean hasPriceExpireTime() {
2767       return ((bitField0_ & 0x00000020) != 0);
2768     }
2769     /**
2770      *
2771      *
2772      * <pre>
2773      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2774      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2775      * is used for search before
2776      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2777      * this field is set, the
2778      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2779      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2780      * is used after
2781      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2782      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2783      * effective because it will cause additional latency during search.
2784      * </pre>
2785      *
2786      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2787      *
2788      * @return The priceExpireTime.
2789      */
getPriceExpireTime()2790     public com.google.protobuf.Timestamp getPriceExpireTime() {
2791       if (priceExpireTimeBuilder_ == null) {
2792         return priceExpireTime_ == null
2793             ? com.google.protobuf.Timestamp.getDefaultInstance()
2794             : priceExpireTime_;
2795       } else {
2796         return priceExpireTimeBuilder_.getMessage();
2797       }
2798     }
2799     /**
2800      *
2801      *
2802      * <pre>
2803      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2804      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2805      * is used for search before
2806      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2807      * this field is set, the
2808      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2809      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2810      * is used after
2811      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2812      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2813      * effective because it will cause additional latency during search.
2814      * </pre>
2815      *
2816      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2817      */
setPriceExpireTime(com.google.protobuf.Timestamp value)2818     public Builder setPriceExpireTime(com.google.protobuf.Timestamp value) {
2819       if (priceExpireTimeBuilder_ == null) {
2820         if (value == null) {
2821           throw new NullPointerException();
2822         }
2823         priceExpireTime_ = value;
2824       } else {
2825         priceExpireTimeBuilder_.setMessage(value);
2826       }
2827       bitField0_ |= 0x00000020;
2828       onChanged();
2829       return this;
2830     }
2831     /**
2832      *
2833      *
2834      * <pre>
2835      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2836      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2837      * is used for search before
2838      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2839      * this field is set, the
2840      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2841      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2842      * is used after
2843      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2844      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2845      * effective because it will cause additional latency during search.
2846      * </pre>
2847      *
2848      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2849      */
setPriceExpireTime(com.google.protobuf.Timestamp.Builder builderForValue)2850     public Builder setPriceExpireTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2851       if (priceExpireTimeBuilder_ == null) {
2852         priceExpireTime_ = builderForValue.build();
2853       } else {
2854         priceExpireTimeBuilder_.setMessage(builderForValue.build());
2855       }
2856       bitField0_ |= 0x00000020;
2857       onChanged();
2858       return this;
2859     }
2860     /**
2861      *
2862      *
2863      * <pre>
2864      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2865      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2866      * is used for search before
2867      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2868      * this field is set, the
2869      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2870      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2871      * is used after
2872      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2873      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2874      * effective because it will cause additional latency during search.
2875      * </pre>
2876      *
2877      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2878      */
mergePriceExpireTime(com.google.protobuf.Timestamp value)2879     public Builder mergePriceExpireTime(com.google.protobuf.Timestamp value) {
2880       if (priceExpireTimeBuilder_ == null) {
2881         if (((bitField0_ & 0x00000020) != 0)
2882             && priceExpireTime_ != null
2883             && priceExpireTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2884           getPriceExpireTimeBuilder().mergeFrom(value);
2885         } else {
2886           priceExpireTime_ = value;
2887         }
2888       } else {
2889         priceExpireTimeBuilder_.mergeFrom(value);
2890       }
2891       bitField0_ |= 0x00000020;
2892       onChanged();
2893       return this;
2894     }
2895     /**
2896      *
2897      *
2898      * <pre>
2899      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2900      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2901      * is used for search before
2902      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2903      * this field is set, the
2904      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2905      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2906      * is used after
2907      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2908      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2909      * effective because it will cause additional latency during search.
2910      * </pre>
2911      *
2912      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2913      */
clearPriceExpireTime()2914     public Builder clearPriceExpireTime() {
2915       bitField0_ = (bitField0_ & ~0x00000020);
2916       priceExpireTime_ = null;
2917       if (priceExpireTimeBuilder_ != null) {
2918         priceExpireTimeBuilder_.dispose();
2919         priceExpireTimeBuilder_ = null;
2920       }
2921       onChanged();
2922       return this;
2923     }
2924     /**
2925      *
2926      *
2927      * <pre>
2928      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2929      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2930      * is used for search before
2931      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2932      * this field is set, the
2933      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2934      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2935      * is used after
2936      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2937      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2938      * effective because it will cause additional latency during search.
2939      * </pre>
2940      *
2941      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2942      */
getPriceExpireTimeBuilder()2943     public com.google.protobuf.Timestamp.Builder getPriceExpireTimeBuilder() {
2944       bitField0_ |= 0x00000020;
2945       onChanged();
2946       return getPriceExpireTimeFieldBuilder().getBuilder();
2947     }
2948     /**
2949      *
2950      *
2951      * <pre>
2952      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2953      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2954      * is used for search before
2955      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2956      * this field is set, the
2957      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2958      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2959      * is used after
2960      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2961      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2962      * effective because it will cause additional latency during search.
2963      * </pre>
2964      *
2965      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2966      */
getPriceExpireTimeOrBuilder()2967     public com.google.protobuf.TimestampOrBuilder getPriceExpireTimeOrBuilder() {
2968       if (priceExpireTimeBuilder_ != null) {
2969         return priceExpireTimeBuilder_.getMessageOrBuilder();
2970       } else {
2971         return priceExpireTime_ == null
2972             ? com.google.protobuf.Timestamp.getDefaultInstance()
2973             : priceExpireTime_;
2974       }
2975     }
2976     /**
2977      *
2978      *
2979      * <pre>
2980      * The timestamp when the [price][google.cloud.retail.v2.PriceInfo.price]
2981      * stops to be effective. The [price][google.cloud.retail.v2.PriceInfo.price]
2982      * is used for search before
2983      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time]. If
2984      * this field is set, the
2985      * [original_price][google.cloud.retail.v2.PriceInfo.original_price] must be
2986      * set and [original_price][google.cloud.retail.v2.PriceInfo.original_price]
2987      * is used after
2988      * [price_expire_time][google.cloud.retail.v2.PriceInfo.price_expire_time].
2989      * Do not set if [price][google.cloud.retail.v2.PriceInfo.price] is always
2990      * effective because it will cause additional latency during search.
2991      * </pre>
2992      *
2993      * <code>.google.protobuf.Timestamp price_expire_time = 6;</code>
2994      */
2995     private com.google.protobuf.SingleFieldBuilderV3<
2996             com.google.protobuf.Timestamp,
2997             com.google.protobuf.Timestamp.Builder,
2998             com.google.protobuf.TimestampOrBuilder>
getPriceExpireTimeFieldBuilder()2999         getPriceExpireTimeFieldBuilder() {
3000       if (priceExpireTimeBuilder_ == null) {
3001         priceExpireTimeBuilder_ =
3002             new com.google.protobuf.SingleFieldBuilderV3<
3003                 com.google.protobuf.Timestamp,
3004                 com.google.protobuf.Timestamp.Builder,
3005                 com.google.protobuf.TimestampOrBuilder>(
3006                 getPriceExpireTime(), getParentForChildren(), isClean());
3007         priceExpireTime_ = null;
3008       }
3009       return priceExpireTimeBuilder_;
3010     }
3011 
3012     private com.google.cloud.retail.v2.PriceInfo.PriceRange priceRange_;
3013     private com.google.protobuf.SingleFieldBuilderV3<
3014             com.google.cloud.retail.v2.PriceInfo.PriceRange,
3015             com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder,
3016             com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder>
3017         priceRangeBuilder_;
3018     /**
3019      *
3020      *
3021      * <pre>
3022      * Output only. The price range of all the child
3023      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3024      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3025      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3026      * [Product][google.cloud.retail.v2.Product]. Only populated for
3027      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3028      * [Product][google.cloud.retail.v2.Product]s.
3029      * Note: This field is OUTPUT_ONLY for
3030      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3031      * Do not set this field in API requests.
3032      * </pre>
3033      *
3034      * <code>
3035      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3036      * </code>
3037      *
3038      * @return Whether the priceRange field is set.
3039      */
hasPriceRange()3040     public boolean hasPriceRange() {
3041       return ((bitField0_ & 0x00000040) != 0);
3042     }
3043     /**
3044      *
3045      *
3046      * <pre>
3047      * Output only. The price range of all the child
3048      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3049      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3050      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3051      * [Product][google.cloud.retail.v2.Product]. Only populated for
3052      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3053      * [Product][google.cloud.retail.v2.Product]s.
3054      * Note: This field is OUTPUT_ONLY for
3055      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3056      * Do not set this field in API requests.
3057      * </pre>
3058      *
3059      * <code>
3060      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3061      * </code>
3062      *
3063      * @return The priceRange.
3064      */
getPriceRange()3065     public com.google.cloud.retail.v2.PriceInfo.PriceRange getPriceRange() {
3066       if (priceRangeBuilder_ == null) {
3067         return priceRange_ == null
3068             ? com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance()
3069             : priceRange_;
3070       } else {
3071         return priceRangeBuilder_.getMessage();
3072       }
3073     }
3074     /**
3075      *
3076      *
3077      * <pre>
3078      * Output only. The price range of all the child
3079      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3080      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3081      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3082      * [Product][google.cloud.retail.v2.Product]. Only populated for
3083      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3084      * [Product][google.cloud.retail.v2.Product]s.
3085      * Note: This field is OUTPUT_ONLY for
3086      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3087      * Do not set this field in API requests.
3088      * </pre>
3089      *
3090      * <code>
3091      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3092      * </code>
3093      */
setPriceRange(com.google.cloud.retail.v2.PriceInfo.PriceRange value)3094     public Builder setPriceRange(com.google.cloud.retail.v2.PriceInfo.PriceRange value) {
3095       if (priceRangeBuilder_ == null) {
3096         if (value == null) {
3097           throw new NullPointerException();
3098         }
3099         priceRange_ = value;
3100       } else {
3101         priceRangeBuilder_.setMessage(value);
3102       }
3103       bitField0_ |= 0x00000040;
3104       onChanged();
3105       return this;
3106     }
3107     /**
3108      *
3109      *
3110      * <pre>
3111      * Output only. The price range of all the child
3112      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3113      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3114      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3115      * [Product][google.cloud.retail.v2.Product]. Only populated for
3116      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3117      * [Product][google.cloud.retail.v2.Product]s.
3118      * Note: This field is OUTPUT_ONLY for
3119      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3120      * Do not set this field in API requests.
3121      * </pre>
3122      *
3123      * <code>
3124      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3125      * </code>
3126      */
setPriceRange( com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder builderForValue)3127     public Builder setPriceRange(
3128         com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder builderForValue) {
3129       if (priceRangeBuilder_ == null) {
3130         priceRange_ = builderForValue.build();
3131       } else {
3132         priceRangeBuilder_.setMessage(builderForValue.build());
3133       }
3134       bitField0_ |= 0x00000040;
3135       onChanged();
3136       return this;
3137     }
3138     /**
3139      *
3140      *
3141      * <pre>
3142      * Output only. The price range of all the child
3143      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3144      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3145      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3146      * [Product][google.cloud.retail.v2.Product]. Only populated for
3147      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3148      * [Product][google.cloud.retail.v2.Product]s.
3149      * Note: This field is OUTPUT_ONLY for
3150      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3151      * Do not set this field in API requests.
3152      * </pre>
3153      *
3154      * <code>
3155      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3156      * </code>
3157      */
mergePriceRange(com.google.cloud.retail.v2.PriceInfo.PriceRange value)3158     public Builder mergePriceRange(com.google.cloud.retail.v2.PriceInfo.PriceRange value) {
3159       if (priceRangeBuilder_ == null) {
3160         if (((bitField0_ & 0x00000040) != 0)
3161             && priceRange_ != null
3162             && priceRange_
3163                 != com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance()) {
3164           getPriceRangeBuilder().mergeFrom(value);
3165         } else {
3166           priceRange_ = value;
3167         }
3168       } else {
3169         priceRangeBuilder_.mergeFrom(value);
3170       }
3171       bitField0_ |= 0x00000040;
3172       onChanged();
3173       return this;
3174     }
3175     /**
3176      *
3177      *
3178      * <pre>
3179      * Output only. The price range of all the child
3180      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3181      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3182      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3183      * [Product][google.cloud.retail.v2.Product]. Only populated for
3184      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3185      * [Product][google.cloud.retail.v2.Product]s.
3186      * Note: This field is OUTPUT_ONLY for
3187      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3188      * Do not set this field in API requests.
3189      * </pre>
3190      *
3191      * <code>
3192      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3193      * </code>
3194      */
clearPriceRange()3195     public Builder clearPriceRange() {
3196       bitField0_ = (bitField0_ & ~0x00000040);
3197       priceRange_ = null;
3198       if (priceRangeBuilder_ != null) {
3199         priceRangeBuilder_.dispose();
3200         priceRangeBuilder_ = null;
3201       }
3202       onChanged();
3203       return this;
3204     }
3205     /**
3206      *
3207      *
3208      * <pre>
3209      * Output only. The price range of all the child
3210      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3211      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3212      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3213      * [Product][google.cloud.retail.v2.Product]. Only populated for
3214      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3215      * [Product][google.cloud.retail.v2.Product]s.
3216      * Note: This field is OUTPUT_ONLY for
3217      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3218      * Do not set this field in API requests.
3219      * </pre>
3220      *
3221      * <code>
3222      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3223      * </code>
3224      */
getPriceRangeBuilder()3225     public com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder getPriceRangeBuilder() {
3226       bitField0_ |= 0x00000040;
3227       onChanged();
3228       return getPriceRangeFieldBuilder().getBuilder();
3229     }
3230     /**
3231      *
3232      *
3233      * <pre>
3234      * Output only. The price range of all the child
3235      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3236      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3237      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3238      * [Product][google.cloud.retail.v2.Product]. Only populated for
3239      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3240      * [Product][google.cloud.retail.v2.Product]s.
3241      * Note: This field is OUTPUT_ONLY for
3242      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3243      * Do not set this field in API requests.
3244      * </pre>
3245      *
3246      * <code>
3247      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3248      * </code>
3249      */
getPriceRangeOrBuilder()3250     public com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder getPriceRangeOrBuilder() {
3251       if (priceRangeBuilder_ != null) {
3252         return priceRangeBuilder_.getMessageOrBuilder();
3253       } else {
3254         return priceRange_ == null
3255             ? com.google.cloud.retail.v2.PriceInfo.PriceRange.getDefaultInstance()
3256             : priceRange_;
3257       }
3258     }
3259     /**
3260      *
3261      *
3262      * <pre>
3263      * Output only. The price range of all the child
3264      * [Product.Type.VARIANT][google.cloud.retail.v2.Product.Type.VARIANT]
3265      * [Product][google.cloud.retail.v2.Product]s grouped together on the
3266      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3267      * [Product][google.cloud.retail.v2.Product]. Only populated for
3268      * [Product.Type.PRIMARY][google.cloud.retail.v2.Product.Type.PRIMARY]
3269      * [Product][google.cloud.retail.v2.Product]s.
3270      * Note: This field is OUTPUT_ONLY for
3271      * [ProductService.GetProduct][google.cloud.retail.v2.ProductService.GetProduct].
3272      * Do not set this field in API requests.
3273      * </pre>
3274      *
3275      * <code>
3276      * .google.cloud.retail.v2.PriceInfo.PriceRange price_range = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
3277      * </code>
3278      */
3279     private com.google.protobuf.SingleFieldBuilderV3<
3280             com.google.cloud.retail.v2.PriceInfo.PriceRange,
3281             com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder,
3282             com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder>
getPriceRangeFieldBuilder()3283         getPriceRangeFieldBuilder() {
3284       if (priceRangeBuilder_ == null) {
3285         priceRangeBuilder_ =
3286             new com.google.protobuf.SingleFieldBuilderV3<
3287                 com.google.cloud.retail.v2.PriceInfo.PriceRange,
3288                 com.google.cloud.retail.v2.PriceInfo.PriceRange.Builder,
3289                 com.google.cloud.retail.v2.PriceInfo.PriceRangeOrBuilder>(
3290                 getPriceRange(), getParentForChildren(), isClean());
3291         priceRange_ = null;
3292       }
3293       return priceRangeBuilder_;
3294     }
3295 
3296     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)3297     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
3298       return super.setUnknownFields(unknownFields);
3299     }
3300 
3301     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3302     public final Builder mergeUnknownFields(
3303         final com.google.protobuf.UnknownFieldSet unknownFields) {
3304       return super.mergeUnknownFields(unknownFields);
3305     }
3306 
3307     // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2.PriceInfo)
3308   }
3309 
3310   // @@protoc_insertion_point(class_scope:google.cloud.retail.v2.PriceInfo)
3311   private static final com.google.cloud.retail.v2.PriceInfo DEFAULT_INSTANCE;
3312 
3313   static {
3314     DEFAULT_INSTANCE = new com.google.cloud.retail.v2.PriceInfo();
3315   }
3316 
getDefaultInstance()3317   public static com.google.cloud.retail.v2.PriceInfo getDefaultInstance() {
3318     return DEFAULT_INSTANCE;
3319   }
3320 
3321   private static final com.google.protobuf.Parser<PriceInfo> PARSER =
3322       new com.google.protobuf.AbstractParser<PriceInfo>() {
3323         @java.lang.Override
3324         public PriceInfo parsePartialFrom(
3325             com.google.protobuf.CodedInputStream input,
3326             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3327             throws com.google.protobuf.InvalidProtocolBufferException {
3328           Builder builder = newBuilder();
3329           try {
3330             builder.mergeFrom(input, extensionRegistry);
3331           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3332             throw e.setUnfinishedMessage(builder.buildPartial());
3333           } catch (com.google.protobuf.UninitializedMessageException e) {
3334             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
3335           } catch (java.io.IOException e) {
3336             throw new com.google.protobuf.InvalidProtocolBufferException(e)
3337                 .setUnfinishedMessage(builder.buildPartial());
3338           }
3339           return builder.buildPartial();
3340         }
3341       };
3342 
parser()3343   public static com.google.protobuf.Parser<PriceInfo> parser() {
3344     return PARSER;
3345   }
3346 
3347   @java.lang.Override
getParserForType()3348   public com.google.protobuf.Parser<PriceInfo> getParserForType() {
3349     return PARSER;
3350   }
3351 
3352   @java.lang.Override
getDefaultInstanceForType()3353   public com.google.cloud.retail.v2.PriceInfo getDefaultInstanceForType() {
3354     return DEFAULT_INSTANCE;
3355   }
3356 }
3357