• 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/v2beta/search_service.proto
18 
19 package com.google.cloud.retail.v2beta;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Response message for
26  * [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
27  * method.
28  * </pre>
29  *
30  * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse}
31  */
32 public final class SearchResponse extends com.google.protobuf.GeneratedMessageV3
33     implements
34     // @@protoc_insertion_point(message_implements:google.cloud.retail.v2beta.SearchResponse)
35     SearchResponseOrBuilder {
36   private static final long serialVersionUID = 0L;
37   // Use SearchResponse.newBuilder() to construct.
SearchResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)38   private SearchResponse(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
39     super(builder);
40   }
41 
SearchResponse()42   private SearchResponse() {
43     results_ = java.util.Collections.emptyList();
44     facets_ = java.util.Collections.emptyList();
45     correctedQuery_ = "";
46     attributionToken_ = "";
47     nextPageToken_ = "";
48     redirectUri_ = "";
49     appliedControls_ = com.google.protobuf.LazyStringArrayList.EMPTY;
50     invalidConditionBoostSpecs_ = java.util.Collections.emptyList();
51     experimentInfo_ = java.util.Collections.emptyList();
52   }
53 
54   @java.lang.Override
55   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)56   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
57     return new SearchResponse();
58   }
59 
60   @java.lang.Override
getUnknownFields()61   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
62     return this.unknownFields;
63   }
64 
getDescriptor()65   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
66     return com.google.cloud.retail.v2beta.SearchServiceProto
67         .internal_static_google_cloud_retail_v2beta_SearchResponse_descriptor;
68   }
69 
70   @java.lang.Override
71   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()72       internalGetFieldAccessorTable() {
73     return com.google.cloud.retail.v2beta.SearchServiceProto
74         .internal_static_google_cloud_retail_v2beta_SearchResponse_fieldAccessorTable
75         .ensureFieldAccessorsInitialized(
76             com.google.cloud.retail.v2beta.SearchResponse.class,
77             com.google.cloud.retail.v2beta.SearchResponse.Builder.class);
78   }
79 
80   public interface SearchResultOrBuilder
81       extends
82       // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2beta.SearchResponse.SearchResult)
83       com.google.protobuf.MessageOrBuilder {
84 
85     /**
86      *
87      *
88      * <pre>
89      * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
90      * [Product][google.cloud.retail.v2beta.Product].
91      * </pre>
92      *
93      * <code>string id = 1;</code>
94      *
95      * @return The id.
96      */
getId()97     java.lang.String getId();
98     /**
99      *
100      *
101      * <pre>
102      * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
103      * [Product][google.cloud.retail.v2beta.Product].
104      * </pre>
105      *
106      * <code>string id = 1;</code>
107      *
108      * @return The bytes for id.
109      */
getIdBytes()110     com.google.protobuf.ByteString getIdBytes();
111 
112     /**
113      *
114      *
115      * <pre>
116      * The product data snippet in the search response. Only
117      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
118      * be populated.
119      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
120      * the product variants that match the search query. If there are multiple
121      * product variants matching the query, top 5 most relevant product variants
122      * are returned and ordered by relevancy.
123      * If relevancy can be deternmined, use
124      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
125      * to look up matched product variants fields. If relevancy cannot be
126      * determined, e.g. when searching "shoe" all products in a shoe product can
127      * be a match, 5 product variants are returned but order is meaningless.
128      * </pre>
129      *
130      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
131      *
132      * @return Whether the product field is set.
133      */
hasProduct()134     boolean hasProduct();
135     /**
136      *
137      *
138      * <pre>
139      * The product data snippet in the search response. Only
140      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
141      * be populated.
142      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
143      * the product variants that match the search query. If there are multiple
144      * product variants matching the query, top 5 most relevant product variants
145      * are returned and ordered by relevancy.
146      * If relevancy can be deternmined, use
147      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
148      * to look up matched product variants fields. If relevancy cannot be
149      * determined, e.g. when searching "shoe" all products in a shoe product can
150      * be a match, 5 product variants are returned but order is meaningless.
151      * </pre>
152      *
153      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
154      *
155      * @return The product.
156      */
getProduct()157     com.google.cloud.retail.v2beta.Product getProduct();
158     /**
159      *
160      *
161      * <pre>
162      * The product data snippet in the search response. Only
163      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
164      * be populated.
165      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
166      * the product variants that match the search query. If there are multiple
167      * product variants matching the query, top 5 most relevant product variants
168      * are returned and ordered by relevancy.
169      * If relevancy can be deternmined, use
170      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
171      * to look up matched product variants fields. If relevancy cannot be
172      * determined, e.g. when searching "shoe" all products in a shoe product can
173      * be a match, 5 product variants are returned but order is meaningless.
174      * </pre>
175      *
176      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
177      */
getProductOrBuilder()178     com.google.cloud.retail.v2beta.ProductOrBuilder getProductOrBuilder();
179 
180     /**
181      *
182      *
183      * <pre>
184      * The count of matched
185      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
186      * [Product][google.cloud.retail.v2beta.Product]s.
187      * </pre>
188      *
189      * <code>int32 matching_variant_count = 3;</code>
190      *
191      * @return The matchingVariantCount.
192      */
getMatchingVariantCount()193     int getMatchingVariantCount();
194 
195     /**
196      *
197      *
198      * <pre>
199      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
200      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
201      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
202      * fields are matched. The key is the
203      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
204      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
205      * fields. If matched attributes cannot be determined, this map will be
206      * empty.
207      * For example, a key "sku1" with field mask
208      * "products.color_info" indicates there is a match between
209      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
210      * </pre>
211      *
212      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
213      */
getMatchingVariantFieldsCount()214     int getMatchingVariantFieldsCount();
215     /**
216      *
217      *
218      * <pre>
219      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
220      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
221      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
222      * fields are matched. The key is the
223      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
224      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
225      * fields. If matched attributes cannot be determined, this map will be
226      * empty.
227      * For example, a key "sku1" with field mask
228      * "products.color_info" indicates there is a match between
229      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
230      * </pre>
231      *
232      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
233      */
containsMatchingVariantFields(java.lang.String key)234     boolean containsMatchingVariantFields(java.lang.String key);
235     /** Use {@link #getMatchingVariantFieldsMap()} instead. */
236     @java.lang.Deprecated
getMatchingVariantFields()237     java.util.Map<java.lang.String, com.google.protobuf.FieldMask> getMatchingVariantFields();
238     /**
239      *
240      *
241      * <pre>
242      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
243      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
244      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
245      * fields are matched. The key is the
246      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
247      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
248      * fields. If matched attributes cannot be determined, this map will be
249      * empty.
250      * For example, a key "sku1" with field mask
251      * "products.color_info" indicates there is a match between
252      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
253      * </pre>
254      *
255      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
256      */
getMatchingVariantFieldsMap()257     java.util.Map<java.lang.String, com.google.protobuf.FieldMask> getMatchingVariantFieldsMap();
258     /**
259      *
260      *
261      * <pre>
262      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
263      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
264      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
265      * fields are matched. The key is the
266      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
267      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
268      * fields. If matched attributes cannot be determined, this map will be
269      * empty.
270      * For example, a key "sku1" with field mask
271      * "products.color_info" indicates there is a match between
272      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
273      * </pre>
274      *
275      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
276      */
277     /* nullable */
getMatchingVariantFieldsOrDefault( java.lang.String key, com.google.protobuf.FieldMask defaultValue)278     com.google.protobuf.FieldMask getMatchingVariantFieldsOrDefault(
279         java.lang.String key,
280         /* nullable */
281         com.google.protobuf.FieldMask defaultValue);
282     /**
283      *
284      *
285      * <pre>
286      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
287      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
288      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
289      * fields are matched. The key is the
290      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
291      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
292      * fields. If matched attributes cannot be determined, this map will be
293      * empty.
294      * For example, a key "sku1" with field mask
295      * "products.color_info" indicates there is a match between
296      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
297      * </pre>
298      *
299      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
300      */
getMatchingVariantFieldsOrThrow(java.lang.String key)301     com.google.protobuf.FieldMask getMatchingVariantFieldsOrThrow(java.lang.String key);
302 
303     /**
304      *
305      *
306      * <pre>
307      * The rollup matching
308      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
309      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
310      * of the
311      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
312      * The values are the merged and de-duplicated
313      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
314      * rollup values are respect filter. For example, when filtering by
315      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
316      * returned.
317      * For textual and numerical attributes, the rollup values is a list of
318      * string or double values with type
319      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
320      * there are two variants with colors "red" and "blue", the rollup values
321      * are
322      *     { key: "colorFamilies"
323      *       value {
324      *         list_value {
325      *           values { string_value: "red" }
326      *           values { string_value: "blue" }
327      *          }
328      *       }
329      *     }
330      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
331      * rollup values is a double value with type
332      * [google.protobuf.Value][google.protobuf.Value]. For example,
333      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
334      * are 10 variants in this product are available in the store "store1".
335      * </pre>
336      *
337      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
338      */
getVariantRollupValuesCount()339     int getVariantRollupValuesCount();
340     /**
341      *
342      *
343      * <pre>
344      * The rollup matching
345      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
346      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
347      * of the
348      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
349      * The values are the merged and de-duplicated
350      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
351      * rollup values are respect filter. For example, when filtering by
352      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
353      * returned.
354      * For textual and numerical attributes, the rollup values is a list of
355      * string or double values with type
356      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
357      * there are two variants with colors "red" and "blue", the rollup values
358      * are
359      *     { key: "colorFamilies"
360      *       value {
361      *         list_value {
362      *           values { string_value: "red" }
363      *           values { string_value: "blue" }
364      *          }
365      *       }
366      *     }
367      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
368      * rollup values is a double value with type
369      * [google.protobuf.Value][google.protobuf.Value]. For example,
370      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
371      * are 10 variants in this product are available in the store "store1".
372      * </pre>
373      *
374      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
375      */
containsVariantRollupValues(java.lang.String key)376     boolean containsVariantRollupValues(java.lang.String key);
377     /** Use {@link #getVariantRollupValuesMap()} instead. */
378     @java.lang.Deprecated
getVariantRollupValues()379     java.util.Map<java.lang.String, com.google.protobuf.Value> getVariantRollupValues();
380     /**
381      *
382      *
383      * <pre>
384      * The rollup matching
385      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
386      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
387      * of the
388      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
389      * The values are the merged and de-duplicated
390      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
391      * rollup values are respect filter. For example, when filtering by
392      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
393      * returned.
394      * For textual and numerical attributes, the rollup values is a list of
395      * string or double values with type
396      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
397      * there are two variants with colors "red" and "blue", the rollup values
398      * are
399      *     { key: "colorFamilies"
400      *       value {
401      *         list_value {
402      *           values { string_value: "red" }
403      *           values { string_value: "blue" }
404      *          }
405      *       }
406      *     }
407      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
408      * rollup values is a double value with type
409      * [google.protobuf.Value][google.protobuf.Value]. For example,
410      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
411      * are 10 variants in this product are available in the store "store1".
412      * </pre>
413      *
414      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
415      */
getVariantRollupValuesMap()416     java.util.Map<java.lang.String, com.google.protobuf.Value> getVariantRollupValuesMap();
417     /**
418      *
419      *
420      * <pre>
421      * The rollup matching
422      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
423      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
424      * of the
425      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
426      * The values are the merged and de-duplicated
427      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
428      * rollup values are respect filter. For example, when filtering by
429      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
430      * returned.
431      * For textual and numerical attributes, the rollup values is a list of
432      * string or double values with type
433      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
434      * there are two variants with colors "red" and "blue", the rollup values
435      * are
436      *     { key: "colorFamilies"
437      *       value {
438      *         list_value {
439      *           values { string_value: "red" }
440      *           values { string_value: "blue" }
441      *          }
442      *       }
443      *     }
444      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
445      * rollup values is a double value with type
446      * [google.protobuf.Value][google.protobuf.Value]. For example,
447      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
448      * are 10 variants in this product are available in the store "store1".
449      * </pre>
450      *
451      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
452      */
453     /* nullable */
getVariantRollupValuesOrDefault( java.lang.String key, com.google.protobuf.Value defaultValue)454     com.google.protobuf.Value getVariantRollupValuesOrDefault(
455         java.lang.String key,
456         /* nullable */
457         com.google.protobuf.Value defaultValue);
458     /**
459      *
460      *
461      * <pre>
462      * The rollup matching
463      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
464      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
465      * of the
466      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
467      * The values are the merged and de-duplicated
468      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
469      * rollup values are respect filter. For example, when filtering by
470      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
471      * returned.
472      * For textual and numerical attributes, the rollup values is a list of
473      * string or double values with type
474      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
475      * there are two variants with colors "red" and "blue", the rollup values
476      * are
477      *     { key: "colorFamilies"
478      *       value {
479      *         list_value {
480      *           values { string_value: "red" }
481      *           values { string_value: "blue" }
482      *          }
483      *       }
484      *     }
485      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
486      * rollup values is a double value with type
487      * [google.protobuf.Value][google.protobuf.Value]. For example,
488      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
489      * are 10 variants in this product are available in the store "store1".
490      * </pre>
491      *
492      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
493      */
getVariantRollupValuesOrThrow(java.lang.String key)494     com.google.protobuf.Value getVariantRollupValuesOrThrow(java.lang.String key);
495 
496     /**
497      *
498      *
499      * <pre>
500      * Specifies previous events related to this product for this user based on
501      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
502      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
503      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
504      * This is set only when
505      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
506      * is
507      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
508      * Possible values:
509      * * `purchased`: Indicates that this product has been purchased before.
510      * </pre>
511      *
512      * <code>repeated string personal_labels = 7;</code>
513      *
514      * @return A list containing the personalLabels.
515      */
getPersonalLabelsList()516     java.util.List<java.lang.String> getPersonalLabelsList();
517     /**
518      *
519      *
520      * <pre>
521      * Specifies previous events related to this product for this user based on
522      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
523      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
524      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
525      * This is set only when
526      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
527      * is
528      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
529      * Possible values:
530      * * `purchased`: Indicates that this product has been purchased before.
531      * </pre>
532      *
533      * <code>repeated string personal_labels = 7;</code>
534      *
535      * @return The count of personalLabels.
536      */
getPersonalLabelsCount()537     int getPersonalLabelsCount();
538     /**
539      *
540      *
541      * <pre>
542      * Specifies previous events related to this product for this user based on
543      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
544      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
545      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
546      * This is set only when
547      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
548      * is
549      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
550      * Possible values:
551      * * `purchased`: Indicates that this product has been purchased before.
552      * </pre>
553      *
554      * <code>repeated string personal_labels = 7;</code>
555      *
556      * @param index The index of the element to return.
557      * @return The personalLabels at the given index.
558      */
getPersonalLabels(int index)559     java.lang.String getPersonalLabels(int index);
560     /**
561      *
562      *
563      * <pre>
564      * Specifies previous events related to this product for this user based on
565      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
566      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
567      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
568      * This is set only when
569      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
570      * is
571      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
572      * Possible values:
573      * * `purchased`: Indicates that this product has been purchased before.
574      * </pre>
575      *
576      * <code>repeated string personal_labels = 7;</code>
577      *
578      * @param index The index of the value to return.
579      * @return The bytes of the personalLabels at the given index.
580      */
getPersonalLabelsBytes(int index)581     com.google.protobuf.ByteString getPersonalLabelsBytes(int index);
582   }
583   /**
584    *
585    *
586    * <pre>
587    * Represents the search results.
588    * </pre>
589    *
590    * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.SearchResult}
591    */
592   public static final class SearchResult extends com.google.protobuf.GeneratedMessageV3
593       implements
594       // @@protoc_insertion_point(message_implements:google.cloud.retail.v2beta.SearchResponse.SearchResult)
595       SearchResultOrBuilder {
596     private static final long serialVersionUID = 0L;
597     // Use SearchResult.newBuilder() to construct.
SearchResult(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)598     private SearchResult(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
599       super(builder);
600     }
601 
SearchResult()602     private SearchResult() {
603       id_ = "";
604       personalLabels_ = com.google.protobuf.LazyStringArrayList.EMPTY;
605     }
606 
607     @java.lang.Override
608     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)609     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
610       return new SearchResult();
611     }
612 
613     @java.lang.Override
getUnknownFields()614     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
615       return this.unknownFields;
616     }
617 
getDescriptor()618     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
619       return com.google.cloud.retail.v2beta.SearchServiceProto
620           .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_descriptor;
621     }
622 
623     @SuppressWarnings({"rawtypes"})
624     @java.lang.Override
internalGetMapField(int number)625     protected com.google.protobuf.MapField internalGetMapField(int number) {
626       switch (number) {
627         case 4:
628           return internalGetMatchingVariantFields();
629         case 5:
630           return internalGetVariantRollupValues();
631         default:
632           throw new RuntimeException("Invalid map field number: " + number);
633       }
634     }
635 
636     @java.lang.Override
637     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()638         internalGetFieldAccessorTable() {
639       return com.google.cloud.retail.v2beta.SearchServiceProto
640           .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_fieldAccessorTable
641           .ensureFieldAccessorsInitialized(
642               com.google.cloud.retail.v2beta.SearchResponse.SearchResult.class,
643               com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder.class);
644     }
645 
646     public static final int ID_FIELD_NUMBER = 1;
647 
648     @SuppressWarnings("serial")
649     private volatile java.lang.Object id_ = "";
650     /**
651      *
652      *
653      * <pre>
654      * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
655      * [Product][google.cloud.retail.v2beta.Product].
656      * </pre>
657      *
658      * <code>string id = 1;</code>
659      *
660      * @return The id.
661      */
662     @java.lang.Override
getId()663     public java.lang.String getId() {
664       java.lang.Object ref = id_;
665       if (ref instanceof java.lang.String) {
666         return (java.lang.String) ref;
667       } else {
668         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
669         java.lang.String s = bs.toStringUtf8();
670         id_ = s;
671         return s;
672       }
673     }
674     /**
675      *
676      *
677      * <pre>
678      * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
679      * [Product][google.cloud.retail.v2beta.Product].
680      * </pre>
681      *
682      * <code>string id = 1;</code>
683      *
684      * @return The bytes for id.
685      */
686     @java.lang.Override
getIdBytes()687     public com.google.protobuf.ByteString getIdBytes() {
688       java.lang.Object ref = id_;
689       if (ref instanceof java.lang.String) {
690         com.google.protobuf.ByteString b =
691             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
692         id_ = b;
693         return b;
694       } else {
695         return (com.google.protobuf.ByteString) ref;
696       }
697     }
698 
699     public static final int PRODUCT_FIELD_NUMBER = 2;
700     private com.google.cloud.retail.v2beta.Product product_;
701     /**
702      *
703      *
704      * <pre>
705      * The product data snippet in the search response. Only
706      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
707      * be populated.
708      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
709      * the product variants that match the search query. If there are multiple
710      * product variants matching the query, top 5 most relevant product variants
711      * are returned and ordered by relevancy.
712      * If relevancy can be deternmined, use
713      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
714      * to look up matched product variants fields. If relevancy cannot be
715      * determined, e.g. when searching "shoe" all products in a shoe product can
716      * be a match, 5 product variants are returned but order is meaningless.
717      * </pre>
718      *
719      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
720      *
721      * @return Whether the product field is set.
722      */
723     @java.lang.Override
hasProduct()724     public boolean hasProduct() {
725       return product_ != null;
726     }
727     /**
728      *
729      *
730      * <pre>
731      * The product data snippet in the search response. Only
732      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
733      * be populated.
734      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
735      * the product variants that match the search query. If there are multiple
736      * product variants matching the query, top 5 most relevant product variants
737      * are returned and ordered by relevancy.
738      * If relevancy can be deternmined, use
739      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
740      * to look up matched product variants fields. If relevancy cannot be
741      * determined, e.g. when searching "shoe" all products in a shoe product can
742      * be a match, 5 product variants are returned but order is meaningless.
743      * </pre>
744      *
745      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
746      *
747      * @return The product.
748      */
749     @java.lang.Override
getProduct()750     public com.google.cloud.retail.v2beta.Product getProduct() {
751       return product_ == null
752           ? com.google.cloud.retail.v2beta.Product.getDefaultInstance()
753           : product_;
754     }
755     /**
756      *
757      *
758      * <pre>
759      * The product data snippet in the search response. Only
760      * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
761      * be populated.
762      * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
763      * the product variants that match the search query. If there are multiple
764      * product variants matching the query, top 5 most relevant product variants
765      * are returned and ordered by relevancy.
766      * If relevancy can be deternmined, use
767      * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
768      * to look up matched product variants fields. If relevancy cannot be
769      * determined, e.g. when searching "shoe" all products in a shoe product can
770      * be a match, 5 product variants are returned but order is meaningless.
771      * </pre>
772      *
773      * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
774      */
775     @java.lang.Override
getProductOrBuilder()776     public com.google.cloud.retail.v2beta.ProductOrBuilder getProductOrBuilder() {
777       return product_ == null
778           ? com.google.cloud.retail.v2beta.Product.getDefaultInstance()
779           : product_;
780     }
781 
782     public static final int MATCHING_VARIANT_COUNT_FIELD_NUMBER = 3;
783     private int matchingVariantCount_ = 0;
784     /**
785      *
786      *
787      * <pre>
788      * The count of matched
789      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
790      * [Product][google.cloud.retail.v2beta.Product]s.
791      * </pre>
792      *
793      * <code>int32 matching_variant_count = 3;</code>
794      *
795      * @return The matchingVariantCount.
796      */
797     @java.lang.Override
getMatchingVariantCount()798     public int getMatchingVariantCount() {
799       return matchingVariantCount_;
800     }
801 
802     public static final int MATCHING_VARIANT_FIELDS_FIELD_NUMBER = 4;
803 
804     private static final class MatchingVariantFieldsDefaultEntryHolder {
805       static final com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.FieldMask>
806           defaultEntry =
807               com.google.protobuf.MapEntry
808                   .<java.lang.String, com.google.protobuf.FieldMask>newDefaultInstance(
809                       com.google.cloud.retail.v2beta.SearchServiceProto
810                           .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_MatchingVariantFieldsEntry_descriptor,
811                       com.google.protobuf.WireFormat.FieldType.STRING,
812                       "",
813                       com.google.protobuf.WireFormat.FieldType.MESSAGE,
814                       com.google.protobuf.FieldMask.getDefaultInstance());
815     }
816 
817     @SuppressWarnings("serial")
818     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.FieldMask>
819         matchingVariantFields_;
820 
821     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.FieldMask>
internalGetMatchingVariantFields()822         internalGetMatchingVariantFields() {
823       if (matchingVariantFields_ == null) {
824         return com.google.protobuf.MapField.emptyMapField(
825             MatchingVariantFieldsDefaultEntryHolder.defaultEntry);
826       }
827       return matchingVariantFields_;
828     }
829 
getMatchingVariantFieldsCount()830     public int getMatchingVariantFieldsCount() {
831       return internalGetMatchingVariantFields().getMap().size();
832     }
833     /**
834      *
835      *
836      * <pre>
837      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
838      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
839      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
840      * fields are matched. The key is the
841      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
842      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
843      * fields. If matched attributes cannot be determined, this map will be
844      * empty.
845      * For example, a key "sku1" with field mask
846      * "products.color_info" indicates there is a match between
847      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
848      * </pre>
849      *
850      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
851      */
852     @java.lang.Override
containsMatchingVariantFields(java.lang.String key)853     public boolean containsMatchingVariantFields(java.lang.String key) {
854       if (key == null) {
855         throw new NullPointerException("map key");
856       }
857       return internalGetMatchingVariantFields().getMap().containsKey(key);
858     }
859     /** Use {@link #getMatchingVariantFieldsMap()} instead. */
860     @java.lang.Override
861     @java.lang.Deprecated
862     public java.util.Map<java.lang.String, com.google.protobuf.FieldMask>
getMatchingVariantFields()863         getMatchingVariantFields() {
864       return getMatchingVariantFieldsMap();
865     }
866     /**
867      *
868      *
869      * <pre>
870      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
871      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
872      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
873      * fields are matched. The key is the
874      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
875      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
876      * fields. If matched attributes cannot be determined, this map will be
877      * empty.
878      * For example, a key "sku1" with field mask
879      * "products.color_info" indicates there is a match between
880      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
881      * </pre>
882      *
883      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
884      */
885     @java.lang.Override
886     public java.util.Map<java.lang.String, com.google.protobuf.FieldMask>
getMatchingVariantFieldsMap()887         getMatchingVariantFieldsMap() {
888       return internalGetMatchingVariantFields().getMap();
889     }
890     /**
891      *
892      *
893      * <pre>
894      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
895      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
896      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
897      * fields are matched. The key is the
898      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
899      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
900      * fields. If matched attributes cannot be determined, this map will be
901      * empty.
902      * For example, a key "sku1" with field mask
903      * "products.color_info" indicates there is a match between
904      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
905      * </pre>
906      *
907      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
908      */
909     @java.lang.Override
getMatchingVariantFieldsOrDefault( java.lang.String key, com.google.protobuf.FieldMask defaultValue)910     public /* nullable */ com.google.protobuf.FieldMask getMatchingVariantFieldsOrDefault(
911         java.lang.String key,
912         /* nullable */
913         com.google.protobuf.FieldMask defaultValue) {
914       if (key == null) {
915         throw new NullPointerException("map key");
916       }
917       java.util.Map<java.lang.String, com.google.protobuf.FieldMask> map =
918           internalGetMatchingVariantFields().getMap();
919       return map.containsKey(key) ? map.get(key) : defaultValue;
920     }
921     /**
922      *
923      *
924      * <pre>
925      * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
926      * [Product][google.cloud.retail.v2beta.Product] matches the search query,
927      * this map indicates which [Product][google.cloud.retail.v2beta.Product]
928      * fields are matched. The key is the
929      * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
930      * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
931      * fields. If matched attributes cannot be determined, this map will be
932      * empty.
933      * For example, a key "sku1" with field mask
934      * "products.color_info" indicates there is a match between
935      * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
936      * </pre>
937      *
938      * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
939      */
940     @java.lang.Override
getMatchingVariantFieldsOrThrow(java.lang.String key)941     public com.google.protobuf.FieldMask getMatchingVariantFieldsOrThrow(java.lang.String key) {
942       if (key == null) {
943         throw new NullPointerException("map key");
944       }
945       java.util.Map<java.lang.String, com.google.protobuf.FieldMask> map =
946           internalGetMatchingVariantFields().getMap();
947       if (!map.containsKey(key)) {
948         throw new java.lang.IllegalArgumentException();
949       }
950       return map.get(key);
951     }
952 
953     public static final int VARIANT_ROLLUP_VALUES_FIELD_NUMBER = 5;
954 
955     private static final class VariantRollupValuesDefaultEntryHolder {
956       static final com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value>
957           defaultEntry =
958               com.google.protobuf.MapEntry
959                   .<java.lang.String, com.google.protobuf.Value>newDefaultInstance(
960                       com.google.cloud.retail.v2beta.SearchServiceProto
961                           .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_VariantRollupValuesEntry_descriptor,
962                       com.google.protobuf.WireFormat.FieldType.STRING,
963                       "",
964                       com.google.protobuf.WireFormat.FieldType.MESSAGE,
965                       com.google.protobuf.Value.getDefaultInstance());
966     }
967 
968     @SuppressWarnings("serial")
969     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
970         variantRollupValues_;
971 
972     private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetVariantRollupValues()973         internalGetVariantRollupValues() {
974       if (variantRollupValues_ == null) {
975         return com.google.protobuf.MapField.emptyMapField(
976             VariantRollupValuesDefaultEntryHolder.defaultEntry);
977       }
978       return variantRollupValues_;
979     }
980 
getVariantRollupValuesCount()981     public int getVariantRollupValuesCount() {
982       return internalGetVariantRollupValues().getMap().size();
983     }
984     /**
985      *
986      *
987      * <pre>
988      * The rollup matching
989      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
990      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
991      * of the
992      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
993      * The values are the merged and de-duplicated
994      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
995      * rollup values are respect filter. For example, when filtering by
996      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
997      * returned.
998      * For textual and numerical attributes, the rollup values is a list of
999      * string or double values with type
1000      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
1001      * there are two variants with colors "red" and "blue", the rollup values
1002      * are
1003      *     { key: "colorFamilies"
1004      *       value {
1005      *         list_value {
1006      *           values { string_value: "red" }
1007      *           values { string_value: "blue" }
1008      *          }
1009      *       }
1010      *     }
1011      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
1012      * rollup values is a double value with type
1013      * [google.protobuf.Value][google.protobuf.Value]. For example,
1014      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
1015      * are 10 variants in this product are available in the store "store1".
1016      * </pre>
1017      *
1018      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
1019      */
1020     @java.lang.Override
containsVariantRollupValues(java.lang.String key)1021     public boolean containsVariantRollupValues(java.lang.String key) {
1022       if (key == null) {
1023         throw new NullPointerException("map key");
1024       }
1025       return internalGetVariantRollupValues().getMap().containsKey(key);
1026     }
1027     /** Use {@link #getVariantRollupValuesMap()} instead. */
1028     @java.lang.Override
1029     @java.lang.Deprecated
getVariantRollupValues()1030     public java.util.Map<java.lang.String, com.google.protobuf.Value> getVariantRollupValues() {
1031       return getVariantRollupValuesMap();
1032     }
1033     /**
1034      *
1035      *
1036      * <pre>
1037      * The rollup matching
1038      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1039      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
1040      * of the
1041      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
1042      * The values are the merged and de-duplicated
1043      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
1044      * rollup values are respect filter. For example, when filtering by
1045      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
1046      * returned.
1047      * For textual and numerical attributes, the rollup values is a list of
1048      * string or double values with type
1049      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
1050      * there are two variants with colors "red" and "blue", the rollup values
1051      * are
1052      *     { key: "colorFamilies"
1053      *       value {
1054      *         list_value {
1055      *           values { string_value: "red" }
1056      *           values { string_value: "blue" }
1057      *          }
1058      *       }
1059      *     }
1060      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
1061      * rollup values is a double value with type
1062      * [google.protobuf.Value][google.protobuf.Value]. For example,
1063      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
1064      * are 10 variants in this product are available in the store "store1".
1065      * </pre>
1066      *
1067      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
1068      */
1069     @java.lang.Override
getVariantRollupValuesMap()1070     public java.util.Map<java.lang.String, com.google.protobuf.Value> getVariantRollupValuesMap() {
1071       return internalGetVariantRollupValues().getMap();
1072     }
1073     /**
1074      *
1075      *
1076      * <pre>
1077      * The rollup matching
1078      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1079      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
1080      * of the
1081      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
1082      * The values are the merged and de-duplicated
1083      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
1084      * rollup values are respect filter. For example, when filtering by
1085      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
1086      * returned.
1087      * For textual and numerical attributes, the rollup values is a list of
1088      * string or double values with type
1089      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
1090      * there are two variants with colors "red" and "blue", the rollup values
1091      * are
1092      *     { key: "colorFamilies"
1093      *       value {
1094      *         list_value {
1095      *           values { string_value: "red" }
1096      *           values { string_value: "blue" }
1097      *          }
1098      *       }
1099      *     }
1100      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
1101      * rollup values is a double value with type
1102      * [google.protobuf.Value][google.protobuf.Value]. For example,
1103      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
1104      * are 10 variants in this product are available in the store "store1".
1105      * </pre>
1106      *
1107      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
1108      */
1109     @java.lang.Override
getVariantRollupValuesOrDefault( java.lang.String key, com.google.protobuf.Value defaultValue)1110     public /* nullable */ com.google.protobuf.Value getVariantRollupValuesOrDefault(
1111         java.lang.String key,
1112         /* nullable */
1113         com.google.protobuf.Value defaultValue) {
1114       if (key == null) {
1115         throw new NullPointerException("map key");
1116       }
1117       java.util.Map<java.lang.String, com.google.protobuf.Value> map =
1118           internalGetVariantRollupValues().getMap();
1119       return map.containsKey(key) ? map.get(key) : defaultValue;
1120     }
1121     /**
1122      *
1123      *
1124      * <pre>
1125      * The rollup matching
1126      * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
1127      * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
1128      * of the
1129      * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
1130      * The values are the merged and de-duplicated
1131      * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
1132      * rollup values are respect filter. For example, when filtering by
1133      * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
1134      * returned.
1135      * For textual and numerical attributes, the rollup values is a list of
1136      * string or double values with type
1137      * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
1138      * there are two variants with colors "red" and "blue", the rollup values
1139      * are
1140      *     { key: "colorFamilies"
1141      *       value {
1142      *         list_value {
1143      *           values { string_value: "red" }
1144      *           values { string_value: "blue" }
1145      *          }
1146      *       }
1147      *     }
1148      * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
1149      * rollup values is a double value with type
1150      * [google.protobuf.Value][google.protobuf.Value]. For example,
1151      * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
1152      * are 10 variants in this product are available in the store "store1".
1153      * </pre>
1154      *
1155      * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
1156      */
1157     @java.lang.Override
getVariantRollupValuesOrThrow(java.lang.String key)1158     public com.google.protobuf.Value getVariantRollupValuesOrThrow(java.lang.String key) {
1159       if (key == null) {
1160         throw new NullPointerException("map key");
1161       }
1162       java.util.Map<java.lang.String, com.google.protobuf.Value> map =
1163           internalGetVariantRollupValues().getMap();
1164       if (!map.containsKey(key)) {
1165         throw new java.lang.IllegalArgumentException();
1166       }
1167       return map.get(key);
1168     }
1169 
1170     public static final int PERSONAL_LABELS_FIELD_NUMBER = 7;
1171 
1172     @SuppressWarnings("serial")
1173     private com.google.protobuf.LazyStringList personalLabels_;
1174     /**
1175      *
1176      *
1177      * <pre>
1178      * Specifies previous events related to this product for this user based on
1179      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
1180      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
1181      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
1182      * This is set only when
1183      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
1184      * is
1185      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
1186      * Possible values:
1187      * * `purchased`: Indicates that this product has been purchased before.
1188      * </pre>
1189      *
1190      * <code>repeated string personal_labels = 7;</code>
1191      *
1192      * @return A list containing the personalLabels.
1193      */
getPersonalLabelsList()1194     public com.google.protobuf.ProtocolStringList getPersonalLabelsList() {
1195       return personalLabels_;
1196     }
1197     /**
1198      *
1199      *
1200      * <pre>
1201      * Specifies previous events related to this product for this user based on
1202      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
1203      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
1204      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
1205      * This is set only when
1206      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
1207      * is
1208      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
1209      * Possible values:
1210      * * `purchased`: Indicates that this product has been purchased before.
1211      * </pre>
1212      *
1213      * <code>repeated string personal_labels = 7;</code>
1214      *
1215      * @return The count of personalLabels.
1216      */
getPersonalLabelsCount()1217     public int getPersonalLabelsCount() {
1218       return personalLabels_.size();
1219     }
1220     /**
1221      *
1222      *
1223      * <pre>
1224      * Specifies previous events related to this product for this user based on
1225      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
1226      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
1227      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
1228      * This is set only when
1229      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
1230      * is
1231      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
1232      * Possible values:
1233      * * `purchased`: Indicates that this product has been purchased before.
1234      * </pre>
1235      *
1236      * <code>repeated string personal_labels = 7;</code>
1237      *
1238      * @param index The index of the element to return.
1239      * @return The personalLabels at the given index.
1240      */
getPersonalLabels(int index)1241     public java.lang.String getPersonalLabels(int index) {
1242       return personalLabels_.get(index);
1243     }
1244     /**
1245      *
1246      *
1247      * <pre>
1248      * Specifies previous events related to this product for this user based on
1249      * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
1250      * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
1251      * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
1252      * This is set only when
1253      * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
1254      * is
1255      * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
1256      * Possible values:
1257      * * `purchased`: Indicates that this product has been purchased before.
1258      * </pre>
1259      *
1260      * <code>repeated string personal_labels = 7;</code>
1261      *
1262      * @param index The index of the value to return.
1263      * @return The bytes of the personalLabels at the given index.
1264      */
getPersonalLabelsBytes(int index)1265     public com.google.protobuf.ByteString getPersonalLabelsBytes(int index) {
1266       return personalLabels_.getByteString(index);
1267     }
1268 
1269     private byte memoizedIsInitialized = -1;
1270 
1271     @java.lang.Override
isInitialized()1272     public final boolean isInitialized() {
1273       byte isInitialized = memoizedIsInitialized;
1274       if (isInitialized == 1) return true;
1275       if (isInitialized == 0) return false;
1276 
1277       memoizedIsInitialized = 1;
1278       return true;
1279     }
1280 
1281     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1282     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1283       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
1284         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
1285       }
1286       if (product_ != null) {
1287         output.writeMessage(2, getProduct());
1288       }
1289       if (matchingVariantCount_ != 0) {
1290         output.writeInt32(3, matchingVariantCount_);
1291       }
1292       com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
1293           output,
1294           internalGetMatchingVariantFields(),
1295           MatchingVariantFieldsDefaultEntryHolder.defaultEntry,
1296           4);
1297       com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(
1298           output,
1299           internalGetVariantRollupValues(),
1300           VariantRollupValuesDefaultEntryHolder.defaultEntry,
1301           5);
1302       for (int i = 0; i < personalLabels_.size(); i++) {
1303         com.google.protobuf.GeneratedMessageV3.writeString(output, 7, personalLabels_.getRaw(i));
1304       }
1305       getUnknownFields().writeTo(output);
1306     }
1307 
1308     @java.lang.Override
getSerializedSize()1309     public int getSerializedSize() {
1310       int size = memoizedSize;
1311       if (size != -1) return size;
1312 
1313       size = 0;
1314       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
1315         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
1316       }
1317       if (product_ != null) {
1318         size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getProduct());
1319       }
1320       if (matchingVariantCount_ != 0) {
1321         size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, matchingVariantCount_);
1322       }
1323       for (java.util.Map.Entry<java.lang.String, com.google.protobuf.FieldMask> entry :
1324           internalGetMatchingVariantFields().getMap().entrySet()) {
1325         com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.FieldMask>
1326             matchingVariantFields__ =
1327                 MatchingVariantFieldsDefaultEntryHolder.defaultEntry
1328                     .newBuilderForType()
1329                     .setKey(entry.getKey())
1330                     .setValue(entry.getValue())
1331                     .build();
1332         size +=
1333             com.google.protobuf.CodedOutputStream.computeMessageSize(4, matchingVariantFields__);
1334       }
1335       for (java.util.Map.Entry<java.lang.String, com.google.protobuf.Value> entry :
1336           internalGetVariantRollupValues().getMap().entrySet()) {
1337         com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value>
1338             variantRollupValues__ =
1339                 VariantRollupValuesDefaultEntryHolder.defaultEntry
1340                     .newBuilderForType()
1341                     .setKey(entry.getKey())
1342                     .setValue(entry.getValue())
1343                     .build();
1344         size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, variantRollupValues__);
1345       }
1346       {
1347         int dataSize = 0;
1348         for (int i = 0; i < personalLabels_.size(); i++) {
1349           dataSize += computeStringSizeNoTag(personalLabels_.getRaw(i));
1350         }
1351         size += dataSize;
1352         size += 1 * getPersonalLabelsList().size();
1353       }
1354       size += getUnknownFields().getSerializedSize();
1355       memoizedSize = size;
1356       return size;
1357     }
1358 
1359     @java.lang.Override
equals(final java.lang.Object obj)1360     public boolean equals(final java.lang.Object obj) {
1361       if (obj == this) {
1362         return true;
1363       }
1364       if (!(obj instanceof com.google.cloud.retail.v2beta.SearchResponse.SearchResult)) {
1365         return super.equals(obj);
1366       }
1367       com.google.cloud.retail.v2beta.SearchResponse.SearchResult other =
1368           (com.google.cloud.retail.v2beta.SearchResponse.SearchResult) obj;
1369 
1370       if (!getId().equals(other.getId())) return false;
1371       if (hasProduct() != other.hasProduct()) return false;
1372       if (hasProduct()) {
1373         if (!getProduct().equals(other.getProduct())) return false;
1374       }
1375       if (getMatchingVariantCount() != other.getMatchingVariantCount()) return false;
1376       if (!internalGetMatchingVariantFields().equals(other.internalGetMatchingVariantFields()))
1377         return false;
1378       if (!internalGetVariantRollupValues().equals(other.internalGetVariantRollupValues()))
1379         return false;
1380       if (!getPersonalLabelsList().equals(other.getPersonalLabelsList())) return false;
1381       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1382       return true;
1383     }
1384 
1385     @java.lang.Override
hashCode()1386     public int hashCode() {
1387       if (memoizedHashCode != 0) {
1388         return memoizedHashCode;
1389       }
1390       int hash = 41;
1391       hash = (19 * hash) + getDescriptor().hashCode();
1392       hash = (37 * hash) + ID_FIELD_NUMBER;
1393       hash = (53 * hash) + getId().hashCode();
1394       if (hasProduct()) {
1395         hash = (37 * hash) + PRODUCT_FIELD_NUMBER;
1396         hash = (53 * hash) + getProduct().hashCode();
1397       }
1398       hash = (37 * hash) + MATCHING_VARIANT_COUNT_FIELD_NUMBER;
1399       hash = (53 * hash) + getMatchingVariantCount();
1400       if (!internalGetMatchingVariantFields().getMap().isEmpty()) {
1401         hash = (37 * hash) + MATCHING_VARIANT_FIELDS_FIELD_NUMBER;
1402         hash = (53 * hash) + internalGetMatchingVariantFields().hashCode();
1403       }
1404       if (!internalGetVariantRollupValues().getMap().isEmpty()) {
1405         hash = (37 * hash) + VARIANT_ROLLUP_VALUES_FIELD_NUMBER;
1406         hash = (53 * hash) + internalGetVariantRollupValues().hashCode();
1407       }
1408       if (getPersonalLabelsCount() > 0) {
1409         hash = (37 * hash) + PERSONAL_LABELS_FIELD_NUMBER;
1410         hash = (53 * hash) + getPersonalLabelsList().hashCode();
1411       }
1412       hash = (29 * hash) + getUnknownFields().hashCode();
1413       memoizedHashCode = hash;
1414       return hash;
1415     }
1416 
parseFrom( java.nio.ByteBuffer data)1417     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1418         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
1419       return PARSER.parseFrom(data);
1420     }
1421 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1422     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1423         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1424         throws com.google.protobuf.InvalidProtocolBufferException {
1425       return PARSER.parseFrom(data, extensionRegistry);
1426     }
1427 
parseFrom( com.google.protobuf.ByteString data)1428     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1429         com.google.protobuf.ByteString data)
1430         throws com.google.protobuf.InvalidProtocolBufferException {
1431       return PARSER.parseFrom(data);
1432     }
1433 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1434     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1435         com.google.protobuf.ByteString data,
1436         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1437         throws com.google.protobuf.InvalidProtocolBufferException {
1438       return PARSER.parseFrom(data, extensionRegistry);
1439     }
1440 
parseFrom(byte[] data)1441     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(byte[] data)
1442         throws com.google.protobuf.InvalidProtocolBufferException {
1443       return PARSER.parseFrom(data);
1444     }
1445 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1446     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1447         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1448         throws com.google.protobuf.InvalidProtocolBufferException {
1449       return PARSER.parseFrom(data, extensionRegistry);
1450     }
1451 
parseFrom( java.io.InputStream input)1452     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1453         java.io.InputStream input) throws java.io.IOException {
1454       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1455     }
1456 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1457     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1458         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1459         throws java.io.IOException {
1460       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1461           PARSER, input, extensionRegistry);
1462     }
1463 
parseDelimitedFrom( java.io.InputStream input)1464     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseDelimitedFrom(
1465         java.io.InputStream input) throws java.io.IOException {
1466       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1467     }
1468 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1469     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseDelimitedFrom(
1470         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1471         throws java.io.IOException {
1472       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1473           PARSER, input, extensionRegistry);
1474     }
1475 
parseFrom( com.google.protobuf.CodedInputStream input)1476     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1477         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1478       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1479     }
1480 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1481     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult parseFrom(
1482         com.google.protobuf.CodedInputStream input,
1483         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1484         throws java.io.IOException {
1485       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1486           PARSER, input, extensionRegistry);
1487     }
1488 
1489     @java.lang.Override
newBuilderForType()1490     public Builder newBuilderForType() {
1491       return newBuilder();
1492     }
1493 
newBuilder()1494     public static Builder newBuilder() {
1495       return DEFAULT_INSTANCE.toBuilder();
1496     }
1497 
newBuilder( com.google.cloud.retail.v2beta.SearchResponse.SearchResult prototype)1498     public static Builder newBuilder(
1499         com.google.cloud.retail.v2beta.SearchResponse.SearchResult prototype) {
1500       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1501     }
1502 
1503     @java.lang.Override
toBuilder()1504     public Builder toBuilder() {
1505       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1506     }
1507 
1508     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1509     protected Builder newBuilderForType(
1510         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1511       Builder builder = new Builder(parent);
1512       return builder;
1513     }
1514     /**
1515      *
1516      *
1517      * <pre>
1518      * Represents the search results.
1519      * </pre>
1520      *
1521      * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.SearchResult}
1522      */
1523     public static final class Builder
1524         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1525         implements
1526         // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2beta.SearchResponse.SearchResult)
1527         com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder {
getDescriptor()1528       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1529         return com.google.cloud.retail.v2beta.SearchServiceProto
1530             .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_descriptor;
1531       }
1532 
1533       @SuppressWarnings({"rawtypes"})
internalGetMapField(int number)1534       protected com.google.protobuf.MapField internalGetMapField(int number) {
1535         switch (number) {
1536           case 4:
1537             return internalGetMatchingVariantFields();
1538           case 5:
1539             return internalGetVariantRollupValues();
1540           default:
1541             throw new RuntimeException("Invalid map field number: " + number);
1542         }
1543       }
1544 
1545       @SuppressWarnings({"rawtypes"})
internalGetMutableMapField(int number)1546       protected com.google.protobuf.MapField internalGetMutableMapField(int number) {
1547         switch (number) {
1548           case 4:
1549             return internalGetMutableMatchingVariantFields();
1550           case 5:
1551             return internalGetMutableVariantRollupValues();
1552           default:
1553             throw new RuntimeException("Invalid map field number: " + number);
1554         }
1555       }
1556 
1557       @java.lang.Override
1558       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1559           internalGetFieldAccessorTable() {
1560         return com.google.cloud.retail.v2beta.SearchServiceProto
1561             .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_fieldAccessorTable
1562             .ensureFieldAccessorsInitialized(
1563                 com.google.cloud.retail.v2beta.SearchResponse.SearchResult.class,
1564                 com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder.class);
1565       }
1566 
1567       // Construct using com.google.cloud.retail.v2beta.SearchResponse.SearchResult.newBuilder()
Builder()1568       private Builder() {}
1569 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1570       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1571         super(parent);
1572       }
1573 
1574       @java.lang.Override
clear()1575       public Builder clear() {
1576         super.clear();
1577         bitField0_ = 0;
1578         id_ = "";
1579         product_ = null;
1580         if (productBuilder_ != null) {
1581           productBuilder_.dispose();
1582           productBuilder_ = null;
1583         }
1584         matchingVariantCount_ = 0;
1585         internalGetMutableMatchingVariantFields().clear();
1586         internalGetMutableVariantRollupValues().clear();
1587         personalLabels_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1588         bitField0_ = (bitField0_ & ~0x00000020);
1589         return this;
1590       }
1591 
1592       @java.lang.Override
getDescriptorForType()1593       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
1594         return com.google.cloud.retail.v2beta.SearchServiceProto
1595             .internal_static_google_cloud_retail_v2beta_SearchResponse_SearchResult_descriptor;
1596       }
1597 
1598       @java.lang.Override
1599       public com.google.cloud.retail.v2beta.SearchResponse.SearchResult
getDefaultInstanceForType()1600           getDefaultInstanceForType() {
1601         return com.google.cloud.retail.v2beta.SearchResponse.SearchResult.getDefaultInstance();
1602       }
1603 
1604       @java.lang.Override
build()1605       public com.google.cloud.retail.v2beta.SearchResponse.SearchResult build() {
1606         com.google.cloud.retail.v2beta.SearchResponse.SearchResult result = buildPartial();
1607         if (!result.isInitialized()) {
1608           throw newUninitializedMessageException(result);
1609         }
1610         return result;
1611       }
1612 
1613       @java.lang.Override
buildPartial()1614       public com.google.cloud.retail.v2beta.SearchResponse.SearchResult buildPartial() {
1615         com.google.cloud.retail.v2beta.SearchResponse.SearchResult result =
1616             new com.google.cloud.retail.v2beta.SearchResponse.SearchResult(this);
1617         buildPartialRepeatedFields(result);
1618         if (bitField0_ != 0) {
1619           buildPartial0(result);
1620         }
1621         onBuilt();
1622         return result;
1623       }
1624 
buildPartialRepeatedFields( com.google.cloud.retail.v2beta.SearchResponse.SearchResult result)1625       private void buildPartialRepeatedFields(
1626           com.google.cloud.retail.v2beta.SearchResponse.SearchResult result) {
1627         if (((bitField0_ & 0x00000020) != 0)) {
1628           personalLabels_ = personalLabels_.getUnmodifiableView();
1629           bitField0_ = (bitField0_ & ~0x00000020);
1630         }
1631         result.personalLabels_ = personalLabels_;
1632       }
1633 
buildPartial0( com.google.cloud.retail.v2beta.SearchResponse.SearchResult result)1634       private void buildPartial0(
1635           com.google.cloud.retail.v2beta.SearchResponse.SearchResult result) {
1636         int from_bitField0_ = bitField0_;
1637         if (((from_bitField0_ & 0x00000001) != 0)) {
1638           result.id_ = id_;
1639         }
1640         if (((from_bitField0_ & 0x00000002) != 0)) {
1641           result.product_ = productBuilder_ == null ? product_ : productBuilder_.build();
1642         }
1643         if (((from_bitField0_ & 0x00000004) != 0)) {
1644           result.matchingVariantCount_ = matchingVariantCount_;
1645         }
1646         if (((from_bitField0_ & 0x00000008) != 0)) {
1647           result.matchingVariantFields_ = internalGetMatchingVariantFields();
1648           result.matchingVariantFields_.makeImmutable();
1649         }
1650         if (((from_bitField0_ & 0x00000010) != 0)) {
1651           result.variantRollupValues_ = internalGetVariantRollupValues();
1652           result.variantRollupValues_.makeImmutable();
1653         }
1654       }
1655 
1656       @java.lang.Override
clone()1657       public Builder clone() {
1658         return super.clone();
1659       }
1660 
1661       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1662       public Builder setField(
1663           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1664         return super.setField(field, value);
1665       }
1666 
1667       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1668       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
1669         return super.clearField(field);
1670       }
1671 
1672       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1673       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
1674         return super.clearOneof(oneof);
1675       }
1676 
1677       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1678       public Builder setRepeatedField(
1679           com.google.protobuf.Descriptors.FieldDescriptor field,
1680           int index,
1681           java.lang.Object value) {
1682         return super.setRepeatedField(field, index, value);
1683       }
1684 
1685       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1686       public Builder addRepeatedField(
1687           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
1688         return super.addRepeatedField(field, value);
1689       }
1690 
1691       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)1692       public Builder mergeFrom(com.google.protobuf.Message other) {
1693         if (other instanceof com.google.cloud.retail.v2beta.SearchResponse.SearchResult) {
1694           return mergeFrom((com.google.cloud.retail.v2beta.SearchResponse.SearchResult) other);
1695         } else {
1696           super.mergeFrom(other);
1697           return this;
1698         }
1699       }
1700 
mergeFrom(com.google.cloud.retail.v2beta.SearchResponse.SearchResult other)1701       public Builder mergeFrom(com.google.cloud.retail.v2beta.SearchResponse.SearchResult other) {
1702         if (other
1703             == com.google.cloud.retail.v2beta.SearchResponse.SearchResult.getDefaultInstance())
1704           return this;
1705         if (!other.getId().isEmpty()) {
1706           id_ = other.id_;
1707           bitField0_ |= 0x00000001;
1708           onChanged();
1709         }
1710         if (other.hasProduct()) {
1711           mergeProduct(other.getProduct());
1712         }
1713         if (other.getMatchingVariantCount() != 0) {
1714           setMatchingVariantCount(other.getMatchingVariantCount());
1715         }
1716         internalGetMutableMatchingVariantFields()
1717             .mergeFrom(other.internalGetMatchingVariantFields());
1718         bitField0_ |= 0x00000008;
1719         internalGetMutableVariantRollupValues().mergeFrom(other.internalGetVariantRollupValues());
1720         bitField0_ |= 0x00000010;
1721         if (!other.personalLabels_.isEmpty()) {
1722           if (personalLabels_.isEmpty()) {
1723             personalLabels_ = other.personalLabels_;
1724             bitField0_ = (bitField0_ & ~0x00000020);
1725           } else {
1726             ensurePersonalLabelsIsMutable();
1727             personalLabels_.addAll(other.personalLabels_);
1728           }
1729           onChanged();
1730         }
1731         this.mergeUnknownFields(other.getUnknownFields());
1732         onChanged();
1733         return this;
1734       }
1735 
1736       @java.lang.Override
isInitialized()1737       public final boolean isInitialized() {
1738         return true;
1739       }
1740 
1741       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1742       public Builder mergeFrom(
1743           com.google.protobuf.CodedInputStream input,
1744           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1745           throws java.io.IOException {
1746         if (extensionRegistry == null) {
1747           throw new java.lang.NullPointerException();
1748         }
1749         try {
1750           boolean done = false;
1751           while (!done) {
1752             int tag = input.readTag();
1753             switch (tag) {
1754               case 0:
1755                 done = true;
1756                 break;
1757               case 10:
1758                 {
1759                   id_ = input.readStringRequireUtf8();
1760                   bitField0_ |= 0x00000001;
1761                   break;
1762                 } // case 10
1763               case 18:
1764                 {
1765                   input.readMessage(getProductFieldBuilder().getBuilder(), extensionRegistry);
1766                   bitField0_ |= 0x00000002;
1767                   break;
1768                 } // case 18
1769               case 24:
1770                 {
1771                   matchingVariantCount_ = input.readInt32();
1772                   bitField0_ |= 0x00000004;
1773                   break;
1774                 } // case 24
1775               case 34:
1776                 {
1777                   com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.FieldMask>
1778                       matchingVariantFields__ =
1779                           input.readMessage(
1780                               MatchingVariantFieldsDefaultEntryHolder.defaultEntry
1781                                   .getParserForType(),
1782                               extensionRegistry);
1783                   internalGetMutableMatchingVariantFields()
1784                       .getMutableMap()
1785                       .put(matchingVariantFields__.getKey(), matchingVariantFields__.getValue());
1786                   bitField0_ |= 0x00000008;
1787                   break;
1788                 } // case 34
1789               case 42:
1790                 {
1791                   com.google.protobuf.MapEntry<java.lang.String, com.google.protobuf.Value>
1792                       variantRollupValues__ =
1793                           input.readMessage(
1794                               VariantRollupValuesDefaultEntryHolder.defaultEntry.getParserForType(),
1795                               extensionRegistry);
1796                   internalGetMutableVariantRollupValues()
1797                       .getMutableMap()
1798                       .put(variantRollupValues__.getKey(), variantRollupValues__.getValue());
1799                   bitField0_ |= 0x00000010;
1800                   break;
1801                 } // case 42
1802               case 58:
1803                 {
1804                   java.lang.String s = input.readStringRequireUtf8();
1805                   ensurePersonalLabelsIsMutable();
1806                   personalLabels_.add(s);
1807                   break;
1808                 } // case 58
1809               default:
1810                 {
1811                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
1812                     done = true; // was an endgroup tag
1813                   }
1814                   break;
1815                 } // default:
1816             } // switch (tag)
1817           } // while (!done)
1818         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1819           throw e.unwrapIOException();
1820         } finally {
1821           onChanged();
1822         } // finally
1823         return this;
1824       }
1825 
1826       private int bitField0_;
1827 
1828       private java.lang.Object id_ = "";
1829       /**
1830        *
1831        *
1832        * <pre>
1833        * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
1834        * [Product][google.cloud.retail.v2beta.Product].
1835        * </pre>
1836        *
1837        * <code>string id = 1;</code>
1838        *
1839        * @return The id.
1840        */
getId()1841       public java.lang.String getId() {
1842         java.lang.Object ref = id_;
1843         if (!(ref instanceof java.lang.String)) {
1844           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1845           java.lang.String s = bs.toStringUtf8();
1846           id_ = s;
1847           return s;
1848         } else {
1849           return (java.lang.String) ref;
1850         }
1851       }
1852       /**
1853        *
1854        *
1855        * <pre>
1856        * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
1857        * [Product][google.cloud.retail.v2beta.Product].
1858        * </pre>
1859        *
1860        * <code>string id = 1;</code>
1861        *
1862        * @return The bytes for id.
1863        */
getIdBytes()1864       public com.google.protobuf.ByteString getIdBytes() {
1865         java.lang.Object ref = id_;
1866         if (ref instanceof String) {
1867           com.google.protobuf.ByteString b =
1868               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1869           id_ = b;
1870           return b;
1871         } else {
1872           return (com.google.protobuf.ByteString) ref;
1873         }
1874       }
1875       /**
1876        *
1877        *
1878        * <pre>
1879        * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
1880        * [Product][google.cloud.retail.v2beta.Product].
1881        * </pre>
1882        *
1883        * <code>string id = 1;</code>
1884        *
1885        * @param value The id to set.
1886        * @return This builder for chaining.
1887        */
setId(java.lang.String value)1888       public Builder setId(java.lang.String value) {
1889         if (value == null) {
1890           throw new NullPointerException();
1891         }
1892         id_ = value;
1893         bitField0_ |= 0x00000001;
1894         onChanged();
1895         return this;
1896       }
1897       /**
1898        *
1899        *
1900        * <pre>
1901        * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
1902        * [Product][google.cloud.retail.v2beta.Product].
1903        * </pre>
1904        *
1905        * <code>string id = 1;</code>
1906        *
1907        * @return This builder for chaining.
1908        */
clearId()1909       public Builder clearId() {
1910         id_ = getDefaultInstance().getId();
1911         bitField0_ = (bitField0_ & ~0x00000001);
1912         onChanged();
1913         return this;
1914       }
1915       /**
1916        *
1917        *
1918        * <pre>
1919        * [Product.id][google.cloud.retail.v2beta.Product.id] of the searched
1920        * [Product][google.cloud.retail.v2beta.Product].
1921        * </pre>
1922        *
1923        * <code>string id = 1;</code>
1924        *
1925        * @param value The bytes for id to set.
1926        * @return This builder for chaining.
1927        */
setIdBytes(com.google.protobuf.ByteString value)1928       public Builder setIdBytes(com.google.protobuf.ByteString value) {
1929         if (value == null) {
1930           throw new NullPointerException();
1931         }
1932         checkByteStringIsUtf8(value);
1933         id_ = value;
1934         bitField0_ |= 0x00000001;
1935         onChanged();
1936         return this;
1937       }
1938 
1939       private com.google.cloud.retail.v2beta.Product product_;
1940       private com.google.protobuf.SingleFieldBuilderV3<
1941               com.google.cloud.retail.v2beta.Product,
1942               com.google.cloud.retail.v2beta.Product.Builder,
1943               com.google.cloud.retail.v2beta.ProductOrBuilder>
1944           productBuilder_;
1945       /**
1946        *
1947        *
1948        * <pre>
1949        * The product data snippet in the search response. Only
1950        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
1951        * be populated.
1952        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
1953        * the product variants that match the search query. If there are multiple
1954        * product variants matching the query, top 5 most relevant product variants
1955        * are returned and ordered by relevancy.
1956        * If relevancy can be deternmined, use
1957        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
1958        * to look up matched product variants fields. If relevancy cannot be
1959        * determined, e.g. when searching "shoe" all products in a shoe product can
1960        * be a match, 5 product variants are returned but order is meaningless.
1961        * </pre>
1962        *
1963        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
1964        *
1965        * @return Whether the product field is set.
1966        */
hasProduct()1967       public boolean hasProduct() {
1968         return ((bitField0_ & 0x00000002) != 0);
1969       }
1970       /**
1971        *
1972        *
1973        * <pre>
1974        * The product data snippet in the search response. Only
1975        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
1976        * be populated.
1977        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
1978        * the product variants that match the search query. If there are multiple
1979        * product variants matching the query, top 5 most relevant product variants
1980        * are returned and ordered by relevancy.
1981        * If relevancy can be deternmined, use
1982        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
1983        * to look up matched product variants fields. If relevancy cannot be
1984        * determined, e.g. when searching "shoe" all products in a shoe product can
1985        * be a match, 5 product variants are returned but order is meaningless.
1986        * </pre>
1987        *
1988        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
1989        *
1990        * @return The product.
1991        */
getProduct()1992       public com.google.cloud.retail.v2beta.Product getProduct() {
1993         if (productBuilder_ == null) {
1994           return product_ == null
1995               ? com.google.cloud.retail.v2beta.Product.getDefaultInstance()
1996               : product_;
1997         } else {
1998           return productBuilder_.getMessage();
1999         }
2000       }
2001       /**
2002        *
2003        *
2004        * <pre>
2005        * The product data snippet in the search response. Only
2006        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2007        * be populated.
2008        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2009        * the product variants that match the search query. If there are multiple
2010        * product variants matching the query, top 5 most relevant product variants
2011        * are returned and ordered by relevancy.
2012        * If relevancy can be deternmined, use
2013        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2014        * to look up matched product variants fields. If relevancy cannot be
2015        * determined, e.g. when searching "shoe" all products in a shoe product can
2016        * be a match, 5 product variants are returned but order is meaningless.
2017        * </pre>
2018        *
2019        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2020        */
setProduct(com.google.cloud.retail.v2beta.Product value)2021       public Builder setProduct(com.google.cloud.retail.v2beta.Product value) {
2022         if (productBuilder_ == null) {
2023           if (value == null) {
2024             throw new NullPointerException();
2025           }
2026           product_ = value;
2027         } else {
2028           productBuilder_.setMessage(value);
2029         }
2030         bitField0_ |= 0x00000002;
2031         onChanged();
2032         return this;
2033       }
2034       /**
2035        *
2036        *
2037        * <pre>
2038        * The product data snippet in the search response. Only
2039        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2040        * be populated.
2041        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2042        * the product variants that match the search query. If there are multiple
2043        * product variants matching the query, top 5 most relevant product variants
2044        * are returned and ordered by relevancy.
2045        * If relevancy can be deternmined, use
2046        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2047        * to look up matched product variants fields. If relevancy cannot be
2048        * determined, e.g. when searching "shoe" all products in a shoe product can
2049        * be a match, 5 product variants are returned but order is meaningless.
2050        * </pre>
2051        *
2052        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2053        */
setProduct(com.google.cloud.retail.v2beta.Product.Builder builderForValue)2054       public Builder setProduct(com.google.cloud.retail.v2beta.Product.Builder builderForValue) {
2055         if (productBuilder_ == null) {
2056           product_ = builderForValue.build();
2057         } else {
2058           productBuilder_.setMessage(builderForValue.build());
2059         }
2060         bitField0_ |= 0x00000002;
2061         onChanged();
2062         return this;
2063       }
2064       /**
2065        *
2066        *
2067        * <pre>
2068        * The product data snippet in the search response. Only
2069        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2070        * be populated.
2071        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2072        * the product variants that match the search query. If there are multiple
2073        * product variants matching the query, top 5 most relevant product variants
2074        * are returned and ordered by relevancy.
2075        * If relevancy can be deternmined, use
2076        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2077        * to look up matched product variants fields. If relevancy cannot be
2078        * determined, e.g. when searching "shoe" all products in a shoe product can
2079        * be a match, 5 product variants are returned but order is meaningless.
2080        * </pre>
2081        *
2082        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2083        */
mergeProduct(com.google.cloud.retail.v2beta.Product value)2084       public Builder mergeProduct(com.google.cloud.retail.v2beta.Product value) {
2085         if (productBuilder_ == null) {
2086           if (((bitField0_ & 0x00000002) != 0)
2087               && product_ != null
2088               && product_ != com.google.cloud.retail.v2beta.Product.getDefaultInstance()) {
2089             getProductBuilder().mergeFrom(value);
2090           } else {
2091             product_ = value;
2092           }
2093         } else {
2094           productBuilder_.mergeFrom(value);
2095         }
2096         bitField0_ |= 0x00000002;
2097         onChanged();
2098         return this;
2099       }
2100       /**
2101        *
2102        *
2103        * <pre>
2104        * The product data snippet in the search response. Only
2105        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2106        * be populated.
2107        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2108        * the product variants that match the search query. If there are multiple
2109        * product variants matching the query, top 5 most relevant product variants
2110        * are returned and ordered by relevancy.
2111        * If relevancy can be deternmined, use
2112        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2113        * to look up matched product variants fields. If relevancy cannot be
2114        * determined, e.g. when searching "shoe" all products in a shoe product can
2115        * be a match, 5 product variants are returned but order is meaningless.
2116        * </pre>
2117        *
2118        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2119        */
clearProduct()2120       public Builder clearProduct() {
2121         bitField0_ = (bitField0_ & ~0x00000002);
2122         product_ = null;
2123         if (productBuilder_ != null) {
2124           productBuilder_.dispose();
2125           productBuilder_ = null;
2126         }
2127         onChanged();
2128         return this;
2129       }
2130       /**
2131        *
2132        *
2133        * <pre>
2134        * The product data snippet in the search response. Only
2135        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2136        * be populated.
2137        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2138        * the product variants that match the search query. If there are multiple
2139        * product variants matching the query, top 5 most relevant product variants
2140        * are returned and ordered by relevancy.
2141        * If relevancy can be deternmined, use
2142        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2143        * to look up matched product variants fields. If relevancy cannot be
2144        * determined, e.g. when searching "shoe" all products in a shoe product can
2145        * be a match, 5 product variants are returned but order is meaningless.
2146        * </pre>
2147        *
2148        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2149        */
getProductBuilder()2150       public com.google.cloud.retail.v2beta.Product.Builder getProductBuilder() {
2151         bitField0_ |= 0x00000002;
2152         onChanged();
2153         return getProductFieldBuilder().getBuilder();
2154       }
2155       /**
2156        *
2157        *
2158        * <pre>
2159        * The product data snippet in the search response. Only
2160        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2161        * be populated.
2162        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2163        * the product variants that match the search query. If there are multiple
2164        * product variants matching the query, top 5 most relevant product variants
2165        * are returned and ordered by relevancy.
2166        * If relevancy can be deternmined, use
2167        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2168        * to look up matched product variants fields. If relevancy cannot be
2169        * determined, e.g. when searching "shoe" all products in a shoe product can
2170        * be a match, 5 product variants are returned but order is meaningless.
2171        * </pre>
2172        *
2173        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2174        */
getProductOrBuilder()2175       public com.google.cloud.retail.v2beta.ProductOrBuilder getProductOrBuilder() {
2176         if (productBuilder_ != null) {
2177           return productBuilder_.getMessageOrBuilder();
2178         } else {
2179           return product_ == null
2180               ? com.google.cloud.retail.v2beta.Product.getDefaultInstance()
2181               : product_;
2182         }
2183       }
2184       /**
2185        *
2186        *
2187        * <pre>
2188        * The product data snippet in the search response. Only
2189        * [Product.name][google.cloud.retail.v2beta.Product.name] is guaranteed to
2190        * be populated.
2191        * [Product.variants][google.cloud.retail.v2beta.Product.variants] contains
2192        * the product variants that match the search query. If there are multiple
2193        * product variants matching the query, top 5 most relevant product variants
2194        * are returned and ordered by relevancy.
2195        * If relevancy can be deternmined, use
2196        * [matching_variant_fields][google.cloud.retail.v2beta.SearchResponse.SearchResult.matching_variant_fields]
2197        * to look up matched product variants fields. If relevancy cannot be
2198        * determined, e.g. when searching "shoe" all products in a shoe product can
2199        * be a match, 5 product variants are returned but order is meaningless.
2200        * </pre>
2201        *
2202        * <code>.google.cloud.retail.v2beta.Product product = 2;</code>
2203        */
2204       private com.google.protobuf.SingleFieldBuilderV3<
2205               com.google.cloud.retail.v2beta.Product,
2206               com.google.cloud.retail.v2beta.Product.Builder,
2207               com.google.cloud.retail.v2beta.ProductOrBuilder>
getProductFieldBuilder()2208           getProductFieldBuilder() {
2209         if (productBuilder_ == null) {
2210           productBuilder_ =
2211               new com.google.protobuf.SingleFieldBuilderV3<
2212                   com.google.cloud.retail.v2beta.Product,
2213                   com.google.cloud.retail.v2beta.Product.Builder,
2214                   com.google.cloud.retail.v2beta.ProductOrBuilder>(
2215                   getProduct(), getParentForChildren(), isClean());
2216           product_ = null;
2217         }
2218         return productBuilder_;
2219       }
2220 
2221       private int matchingVariantCount_;
2222       /**
2223        *
2224        *
2225        * <pre>
2226        * The count of matched
2227        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2228        * [Product][google.cloud.retail.v2beta.Product]s.
2229        * </pre>
2230        *
2231        * <code>int32 matching_variant_count = 3;</code>
2232        *
2233        * @return The matchingVariantCount.
2234        */
2235       @java.lang.Override
getMatchingVariantCount()2236       public int getMatchingVariantCount() {
2237         return matchingVariantCount_;
2238       }
2239       /**
2240        *
2241        *
2242        * <pre>
2243        * The count of matched
2244        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2245        * [Product][google.cloud.retail.v2beta.Product]s.
2246        * </pre>
2247        *
2248        * <code>int32 matching_variant_count = 3;</code>
2249        *
2250        * @param value The matchingVariantCount to set.
2251        * @return This builder for chaining.
2252        */
setMatchingVariantCount(int value)2253       public Builder setMatchingVariantCount(int value) {
2254 
2255         matchingVariantCount_ = value;
2256         bitField0_ |= 0x00000004;
2257         onChanged();
2258         return this;
2259       }
2260       /**
2261        *
2262        *
2263        * <pre>
2264        * The count of matched
2265        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2266        * [Product][google.cloud.retail.v2beta.Product]s.
2267        * </pre>
2268        *
2269        * <code>int32 matching_variant_count = 3;</code>
2270        *
2271        * @return This builder for chaining.
2272        */
clearMatchingVariantCount()2273       public Builder clearMatchingVariantCount() {
2274         bitField0_ = (bitField0_ & ~0x00000004);
2275         matchingVariantCount_ = 0;
2276         onChanged();
2277         return this;
2278       }
2279 
2280       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.FieldMask>
2281           matchingVariantFields_;
2282 
2283       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.FieldMask>
internalGetMatchingVariantFields()2284           internalGetMatchingVariantFields() {
2285         if (matchingVariantFields_ == null) {
2286           return com.google.protobuf.MapField.emptyMapField(
2287               MatchingVariantFieldsDefaultEntryHolder.defaultEntry);
2288         }
2289         return matchingVariantFields_;
2290       }
2291 
2292       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.FieldMask>
internalGetMutableMatchingVariantFields()2293           internalGetMutableMatchingVariantFields() {
2294         if (matchingVariantFields_ == null) {
2295           matchingVariantFields_ =
2296               com.google.protobuf.MapField.newMapField(
2297                   MatchingVariantFieldsDefaultEntryHolder.defaultEntry);
2298         }
2299         if (!matchingVariantFields_.isMutable()) {
2300           matchingVariantFields_ = matchingVariantFields_.copy();
2301         }
2302         bitField0_ |= 0x00000008;
2303         onChanged();
2304         return matchingVariantFields_;
2305       }
2306 
getMatchingVariantFieldsCount()2307       public int getMatchingVariantFieldsCount() {
2308         return internalGetMatchingVariantFields().getMap().size();
2309       }
2310       /**
2311        *
2312        *
2313        * <pre>
2314        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2315        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2316        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2317        * fields are matched. The key is the
2318        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2319        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2320        * fields. If matched attributes cannot be determined, this map will be
2321        * empty.
2322        * For example, a key "sku1" with field mask
2323        * "products.color_info" indicates there is a match between
2324        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2325        * </pre>
2326        *
2327        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2328        */
2329       @java.lang.Override
containsMatchingVariantFields(java.lang.String key)2330       public boolean containsMatchingVariantFields(java.lang.String key) {
2331         if (key == null) {
2332           throw new NullPointerException("map key");
2333         }
2334         return internalGetMatchingVariantFields().getMap().containsKey(key);
2335       }
2336       /** Use {@link #getMatchingVariantFieldsMap()} instead. */
2337       @java.lang.Override
2338       @java.lang.Deprecated
2339       public java.util.Map<java.lang.String, com.google.protobuf.FieldMask>
getMatchingVariantFields()2340           getMatchingVariantFields() {
2341         return getMatchingVariantFieldsMap();
2342       }
2343       /**
2344        *
2345        *
2346        * <pre>
2347        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2348        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2349        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2350        * fields are matched. The key is the
2351        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2352        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2353        * fields. If matched attributes cannot be determined, this map will be
2354        * empty.
2355        * For example, a key "sku1" with field mask
2356        * "products.color_info" indicates there is a match between
2357        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2358        * </pre>
2359        *
2360        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2361        */
2362       @java.lang.Override
2363       public java.util.Map<java.lang.String, com.google.protobuf.FieldMask>
getMatchingVariantFieldsMap()2364           getMatchingVariantFieldsMap() {
2365         return internalGetMatchingVariantFields().getMap();
2366       }
2367       /**
2368        *
2369        *
2370        * <pre>
2371        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2372        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2373        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2374        * fields are matched. The key is the
2375        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2376        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2377        * fields. If matched attributes cannot be determined, this map will be
2378        * empty.
2379        * For example, a key "sku1" with field mask
2380        * "products.color_info" indicates there is a match between
2381        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2382        * </pre>
2383        *
2384        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2385        */
2386       @java.lang.Override
getMatchingVariantFieldsOrDefault( java.lang.String key, com.google.protobuf.FieldMask defaultValue)2387       public /* nullable */ com.google.protobuf.FieldMask getMatchingVariantFieldsOrDefault(
2388           java.lang.String key,
2389           /* nullable */
2390           com.google.protobuf.FieldMask defaultValue) {
2391         if (key == null) {
2392           throw new NullPointerException("map key");
2393         }
2394         java.util.Map<java.lang.String, com.google.protobuf.FieldMask> map =
2395             internalGetMatchingVariantFields().getMap();
2396         return map.containsKey(key) ? map.get(key) : defaultValue;
2397       }
2398       /**
2399        *
2400        *
2401        * <pre>
2402        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2403        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2404        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2405        * fields are matched. The key is the
2406        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2407        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2408        * fields. If matched attributes cannot be determined, this map will be
2409        * empty.
2410        * For example, a key "sku1" with field mask
2411        * "products.color_info" indicates there is a match between
2412        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2413        * </pre>
2414        *
2415        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2416        */
2417       @java.lang.Override
getMatchingVariantFieldsOrThrow(java.lang.String key)2418       public com.google.protobuf.FieldMask getMatchingVariantFieldsOrThrow(java.lang.String key) {
2419         if (key == null) {
2420           throw new NullPointerException("map key");
2421         }
2422         java.util.Map<java.lang.String, com.google.protobuf.FieldMask> map =
2423             internalGetMatchingVariantFields().getMap();
2424         if (!map.containsKey(key)) {
2425           throw new java.lang.IllegalArgumentException();
2426         }
2427         return map.get(key);
2428       }
2429 
clearMatchingVariantFields()2430       public Builder clearMatchingVariantFields() {
2431         bitField0_ = (bitField0_ & ~0x00000008);
2432         internalGetMutableMatchingVariantFields().getMutableMap().clear();
2433         return this;
2434       }
2435       /**
2436        *
2437        *
2438        * <pre>
2439        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2440        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2441        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2442        * fields are matched. The key is the
2443        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2444        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2445        * fields. If matched attributes cannot be determined, this map will be
2446        * empty.
2447        * For example, a key "sku1" with field mask
2448        * "products.color_info" indicates there is a match between
2449        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2450        * </pre>
2451        *
2452        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2453        */
removeMatchingVariantFields(java.lang.String key)2454       public Builder removeMatchingVariantFields(java.lang.String key) {
2455         if (key == null) {
2456           throw new NullPointerException("map key");
2457         }
2458         internalGetMutableMatchingVariantFields().getMutableMap().remove(key);
2459         return this;
2460       }
2461       /** Use alternate mutation accessors instead. */
2462       @java.lang.Deprecated
2463       public java.util.Map<java.lang.String, com.google.protobuf.FieldMask>
getMutableMatchingVariantFields()2464           getMutableMatchingVariantFields() {
2465         bitField0_ |= 0x00000008;
2466         return internalGetMutableMatchingVariantFields().getMutableMap();
2467       }
2468       /**
2469        *
2470        *
2471        * <pre>
2472        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2473        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2474        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2475        * fields are matched. The key is the
2476        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2477        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2478        * fields. If matched attributes cannot be determined, this map will be
2479        * empty.
2480        * For example, a key "sku1" with field mask
2481        * "products.color_info" indicates there is a match between
2482        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2483        * </pre>
2484        *
2485        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2486        */
putMatchingVariantFields( java.lang.String key, com.google.protobuf.FieldMask value)2487       public Builder putMatchingVariantFields(
2488           java.lang.String key, com.google.protobuf.FieldMask value) {
2489         if (key == null) {
2490           throw new NullPointerException("map key");
2491         }
2492         if (value == null) {
2493           throw new NullPointerException("map value");
2494         }
2495         internalGetMutableMatchingVariantFields().getMutableMap().put(key, value);
2496         bitField0_ |= 0x00000008;
2497         return this;
2498       }
2499       /**
2500        *
2501        *
2502        * <pre>
2503        * If a [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2504        * [Product][google.cloud.retail.v2beta.Product] matches the search query,
2505        * this map indicates which [Product][google.cloud.retail.v2beta.Product]
2506        * fields are matched. The key is the
2507        * [Product.name][google.cloud.retail.v2beta.Product.name], the value is a
2508        * field mask of the matched [Product][google.cloud.retail.v2beta.Product]
2509        * fields. If matched attributes cannot be determined, this map will be
2510        * empty.
2511        * For example, a key "sku1" with field mask
2512        * "products.color_info" indicates there is a match between
2513        * "sku1" [ColorInfo][google.cloud.retail.v2beta.ColorInfo] and the query.
2514        * </pre>
2515        *
2516        * <code>map&lt;string, .google.protobuf.FieldMask&gt; matching_variant_fields = 4;</code>
2517        */
putAllMatchingVariantFields( java.util.Map<java.lang.String, com.google.protobuf.FieldMask> values)2518       public Builder putAllMatchingVariantFields(
2519           java.util.Map<java.lang.String, com.google.protobuf.FieldMask> values) {
2520         internalGetMutableMatchingVariantFields().getMutableMap().putAll(values);
2521         bitField0_ |= 0x00000008;
2522         return this;
2523       }
2524 
2525       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
2526           variantRollupValues_;
2527 
2528       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetVariantRollupValues()2529           internalGetVariantRollupValues() {
2530         if (variantRollupValues_ == null) {
2531           return com.google.protobuf.MapField.emptyMapField(
2532               VariantRollupValuesDefaultEntryHolder.defaultEntry);
2533         }
2534         return variantRollupValues_;
2535       }
2536 
2537       private com.google.protobuf.MapField<java.lang.String, com.google.protobuf.Value>
internalGetMutableVariantRollupValues()2538           internalGetMutableVariantRollupValues() {
2539         if (variantRollupValues_ == null) {
2540           variantRollupValues_ =
2541               com.google.protobuf.MapField.newMapField(
2542                   VariantRollupValuesDefaultEntryHolder.defaultEntry);
2543         }
2544         if (!variantRollupValues_.isMutable()) {
2545           variantRollupValues_ = variantRollupValues_.copy();
2546         }
2547         bitField0_ |= 0x00000010;
2548         onChanged();
2549         return variantRollupValues_;
2550       }
2551 
getVariantRollupValuesCount()2552       public int getVariantRollupValuesCount() {
2553         return internalGetVariantRollupValues().getMap().size();
2554       }
2555       /**
2556        *
2557        *
2558        * <pre>
2559        * The rollup matching
2560        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2561        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2562        * of the
2563        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2564        * The values are the merged and de-duplicated
2565        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2566        * rollup values are respect filter. For example, when filtering by
2567        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2568        * returned.
2569        * For textual and numerical attributes, the rollup values is a list of
2570        * string or double values with type
2571        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2572        * there are two variants with colors "red" and "blue", the rollup values
2573        * are
2574        *     { key: "colorFamilies"
2575        *       value {
2576        *         list_value {
2577        *           values { string_value: "red" }
2578        *           values { string_value: "blue" }
2579        *          }
2580        *       }
2581        *     }
2582        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2583        * rollup values is a double value with type
2584        * [google.protobuf.Value][google.protobuf.Value]. For example,
2585        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2586        * are 10 variants in this product are available in the store "store1".
2587        * </pre>
2588        *
2589        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2590        */
2591       @java.lang.Override
containsVariantRollupValues(java.lang.String key)2592       public boolean containsVariantRollupValues(java.lang.String key) {
2593         if (key == null) {
2594           throw new NullPointerException("map key");
2595         }
2596         return internalGetVariantRollupValues().getMap().containsKey(key);
2597       }
2598       /** Use {@link #getVariantRollupValuesMap()} instead. */
2599       @java.lang.Override
2600       @java.lang.Deprecated
getVariantRollupValues()2601       public java.util.Map<java.lang.String, com.google.protobuf.Value> getVariantRollupValues() {
2602         return getVariantRollupValuesMap();
2603       }
2604       /**
2605        *
2606        *
2607        * <pre>
2608        * The rollup matching
2609        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2610        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2611        * of the
2612        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2613        * The values are the merged and de-duplicated
2614        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2615        * rollup values are respect filter. For example, when filtering by
2616        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2617        * returned.
2618        * For textual and numerical attributes, the rollup values is a list of
2619        * string or double values with type
2620        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2621        * there are two variants with colors "red" and "blue", the rollup values
2622        * are
2623        *     { key: "colorFamilies"
2624        *       value {
2625        *         list_value {
2626        *           values { string_value: "red" }
2627        *           values { string_value: "blue" }
2628        *          }
2629        *       }
2630        *     }
2631        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2632        * rollup values is a double value with type
2633        * [google.protobuf.Value][google.protobuf.Value]. For example,
2634        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2635        * are 10 variants in this product are available in the store "store1".
2636        * </pre>
2637        *
2638        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2639        */
2640       @java.lang.Override
2641       public java.util.Map<java.lang.String, com.google.protobuf.Value>
getVariantRollupValuesMap()2642           getVariantRollupValuesMap() {
2643         return internalGetVariantRollupValues().getMap();
2644       }
2645       /**
2646        *
2647        *
2648        * <pre>
2649        * The rollup matching
2650        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2651        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2652        * of the
2653        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2654        * The values are the merged and de-duplicated
2655        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2656        * rollup values are respect filter. For example, when filtering by
2657        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2658        * returned.
2659        * For textual and numerical attributes, the rollup values is a list of
2660        * string or double values with type
2661        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2662        * there are two variants with colors "red" and "blue", the rollup values
2663        * are
2664        *     { key: "colorFamilies"
2665        *       value {
2666        *         list_value {
2667        *           values { string_value: "red" }
2668        *           values { string_value: "blue" }
2669        *          }
2670        *       }
2671        *     }
2672        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2673        * rollup values is a double value with type
2674        * [google.protobuf.Value][google.protobuf.Value]. For example,
2675        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2676        * are 10 variants in this product are available in the store "store1".
2677        * </pre>
2678        *
2679        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2680        */
2681       @java.lang.Override
getVariantRollupValuesOrDefault( java.lang.String key, com.google.protobuf.Value defaultValue)2682       public /* nullable */ com.google.protobuf.Value getVariantRollupValuesOrDefault(
2683           java.lang.String key,
2684           /* nullable */
2685           com.google.protobuf.Value defaultValue) {
2686         if (key == null) {
2687           throw new NullPointerException("map key");
2688         }
2689         java.util.Map<java.lang.String, com.google.protobuf.Value> map =
2690             internalGetVariantRollupValues().getMap();
2691         return map.containsKey(key) ? map.get(key) : defaultValue;
2692       }
2693       /**
2694        *
2695        *
2696        * <pre>
2697        * The rollup matching
2698        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2699        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2700        * of the
2701        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2702        * The values are the merged and de-duplicated
2703        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2704        * rollup values are respect filter. For example, when filtering by
2705        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2706        * returned.
2707        * For textual and numerical attributes, the rollup values is a list of
2708        * string or double values with type
2709        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2710        * there are two variants with colors "red" and "blue", the rollup values
2711        * are
2712        *     { key: "colorFamilies"
2713        *       value {
2714        *         list_value {
2715        *           values { string_value: "red" }
2716        *           values { string_value: "blue" }
2717        *          }
2718        *       }
2719        *     }
2720        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2721        * rollup values is a double value with type
2722        * [google.protobuf.Value][google.protobuf.Value]. For example,
2723        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2724        * are 10 variants in this product are available in the store "store1".
2725        * </pre>
2726        *
2727        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2728        */
2729       @java.lang.Override
getVariantRollupValuesOrThrow(java.lang.String key)2730       public com.google.protobuf.Value getVariantRollupValuesOrThrow(java.lang.String key) {
2731         if (key == null) {
2732           throw new NullPointerException("map key");
2733         }
2734         java.util.Map<java.lang.String, com.google.protobuf.Value> map =
2735             internalGetVariantRollupValues().getMap();
2736         if (!map.containsKey(key)) {
2737           throw new java.lang.IllegalArgumentException();
2738         }
2739         return map.get(key);
2740       }
2741 
clearVariantRollupValues()2742       public Builder clearVariantRollupValues() {
2743         bitField0_ = (bitField0_ & ~0x00000010);
2744         internalGetMutableVariantRollupValues().getMutableMap().clear();
2745         return this;
2746       }
2747       /**
2748        *
2749        *
2750        * <pre>
2751        * The rollup matching
2752        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2753        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2754        * of the
2755        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2756        * The values are the merged and de-duplicated
2757        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2758        * rollup values are respect filter. For example, when filtering by
2759        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2760        * returned.
2761        * For textual and numerical attributes, the rollup values is a list of
2762        * string or double values with type
2763        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2764        * there are two variants with colors "red" and "blue", the rollup values
2765        * are
2766        *     { key: "colorFamilies"
2767        *       value {
2768        *         list_value {
2769        *           values { string_value: "red" }
2770        *           values { string_value: "blue" }
2771        *          }
2772        *       }
2773        *     }
2774        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2775        * rollup values is a double value with type
2776        * [google.protobuf.Value][google.protobuf.Value]. For example,
2777        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2778        * are 10 variants in this product are available in the store "store1".
2779        * </pre>
2780        *
2781        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2782        */
removeVariantRollupValues(java.lang.String key)2783       public Builder removeVariantRollupValues(java.lang.String key) {
2784         if (key == null) {
2785           throw new NullPointerException("map key");
2786         }
2787         internalGetMutableVariantRollupValues().getMutableMap().remove(key);
2788         return this;
2789       }
2790       /** Use alternate mutation accessors instead. */
2791       @java.lang.Deprecated
2792       public java.util.Map<java.lang.String, com.google.protobuf.Value>
getMutableVariantRollupValues()2793           getMutableVariantRollupValues() {
2794         bitField0_ |= 0x00000010;
2795         return internalGetMutableVariantRollupValues().getMutableMap();
2796       }
2797       /**
2798        *
2799        *
2800        * <pre>
2801        * The rollup matching
2802        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2803        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2804        * of the
2805        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2806        * The values are the merged and de-duplicated
2807        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2808        * rollup values are respect filter. For example, when filtering by
2809        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2810        * returned.
2811        * For textual and numerical attributes, the rollup values is a list of
2812        * string or double values with type
2813        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2814        * there are two variants with colors "red" and "blue", the rollup values
2815        * are
2816        *     { key: "colorFamilies"
2817        *       value {
2818        *         list_value {
2819        *           values { string_value: "red" }
2820        *           values { string_value: "blue" }
2821        *          }
2822        *       }
2823        *     }
2824        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2825        * rollup values is a double value with type
2826        * [google.protobuf.Value][google.protobuf.Value]. For example,
2827        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2828        * are 10 variants in this product are available in the store "store1".
2829        * </pre>
2830        *
2831        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2832        */
putVariantRollupValues(java.lang.String key, com.google.protobuf.Value value)2833       public Builder putVariantRollupValues(java.lang.String key, com.google.protobuf.Value value) {
2834         if (key == null) {
2835           throw new NullPointerException("map key");
2836         }
2837         if (value == null) {
2838           throw new NullPointerException("map value");
2839         }
2840         internalGetMutableVariantRollupValues().getMutableMap().put(key, value);
2841         bitField0_ |= 0x00000010;
2842         return this;
2843       }
2844       /**
2845        *
2846        *
2847        * <pre>
2848        * The rollup matching
2849        * [variant][google.cloud.retail.v2beta.Product.Type.VARIANT]
2850        * [Product][google.cloud.retail.v2beta.Product] attributes. The key is one
2851        * of the
2852        * [SearchRequest.variant_rollup_keys][google.cloud.retail.v2beta.SearchRequest.variant_rollup_keys].
2853        * The values are the merged and de-duplicated
2854        * [Product][google.cloud.retail.v2beta.Product] attributes. Notice that the
2855        * rollup values are respect filter. For example, when filtering by
2856        * "colorFamilies:ANY(&#92;"red&#92;")" and rollup "colorFamilies", only "red" is
2857        * returned.
2858        * For textual and numerical attributes, the rollup values is a list of
2859        * string or double values with type
2860        * [google.protobuf.ListValue][google.protobuf.ListValue]. For example, if
2861        * there are two variants with colors "red" and "blue", the rollup values
2862        * are
2863        *     { key: "colorFamilies"
2864        *       value {
2865        *         list_value {
2866        *           values { string_value: "red" }
2867        *           values { string_value: "blue" }
2868        *          }
2869        *       }
2870        *     }
2871        * For [FulfillmentInfo][google.cloud.retail.v2beta.FulfillmentInfo], the
2872        * rollup values is a double value with type
2873        * [google.protobuf.Value][google.protobuf.Value]. For example,
2874        * `{key: "pickupInStore.store1" value { number_value: 10 }}` means a there
2875        * are 10 variants in this product are available in the store "store1".
2876        * </pre>
2877        *
2878        * <code>map&lt;string, .google.protobuf.Value&gt; variant_rollup_values = 5;</code>
2879        */
putAllVariantRollupValues( java.util.Map<java.lang.String, com.google.protobuf.Value> values)2880       public Builder putAllVariantRollupValues(
2881           java.util.Map<java.lang.String, com.google.protobuf.Value> values) {
2882         internalGetMutableVariantRollupValues().getMutableMap().putAll(values);
2883         bitField0_ |= 0x00000010;
2884         return this;
2885       }
2886 
2887       private com.google.protobuf.LazyStringList personalLabels_ =
2888           com.google.protobuf.LazyStringArrayList.EMPTY;
2889 
ensurePersonalLabelsIsMutable()2890       private void ensurePersonalLabelsIsMutable() {
2891         if (!((bitField0_ & 0x00000020) != 0)) {
2892           personalLabels_ = new com.google.protobuf.LazyStringArrayList(personalLabels_);
2893           bitField0_ |= 0x00000020;
2894         }
2895       }
2896       /**
2897        *
2898        *
2899        * <pre>
2900        * Specifies previous events related to this product for this user based on
2901        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
2902        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
2903        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
2904        * This is set only when
2905        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
2906        * is
2907        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
2908        * Possible values:
2909        * * `purchased`: Indicates that this product has been purchased before.
2910        * </pre>
2911        *
2912        * <code>repeated string personal_labels = 7;</code>
2913        *
2914        * @return A list containing the personalLabels.
2915        */
getPersonalLabelsList()2916       public com.google.protobuf.ProtocolStringList getPersonalLabelsList() {
2917         return personalLabels_.getUnmodifiableView();
2918       }
2919       /**
2920        *
2921        *
2922        * <pre>
2923        * Specifies previous events related to this product for this user based on
2924        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
2925        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
2926        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
2927        * This is set only when
2928        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
2929        * is
2930        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
2931        * Possible values:
2932        * * `purchased`: Indicates that this product has been purchased before.
2933        * </pre>
2934        *
2935        * <code>repeated string personal_labels = 7;</code>
2936        *
2937        * @return The count of personalLabels.
2938        */
getPersonalLabelsCount()2939       public int getPersonalLabelsCount() {
2940         return personalLabels_.size();
2941       }
2942       /**
2943        *
2944        *
2945        * <pre>
2946        * Specifies previous events related to this product for this user based on
2947        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
2948        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
2949        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
2950        * This is set only when
2951        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
2952        * is
2953        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
2954        * Possible values:
2955        * * `purchased`: Indicates that this product has been purchased before.
2956        * </pre>
2957        *
2958        * <code>repeated string personal_labels = 7;</code>
2959        *
2960        * @param index The index of the element to return.
2961        * @return The personalLabels at the given index.
2962        */
getPersonalLabels(int index)2963       public java.lang.String getPersonalLabels(int index) {
2964         return personalLabels_.get(index);
2965       }
2966       /**
2967        *
2968        *
2969        * <pre>
2970        * Specifies previous events related to this product for this user based on
2971        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
2972        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
2973        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
2974        * This is set only when
2975        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
2976        * is
2977        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
2978        * Possible values:
2979        * * `purchased`: Indicates that this product has been purchased before.
2980        * </pre>
2981        *
2982        * <code>repeated string personal_labels = 7;</code>
2983        *
2984        * @param index The index of the value to return.
2985        * @return The bytes of the personalLabels at the given index.
2986        */
getPersonalLabelsBytes(int index)2987       public com.google.protobuf.ByteString getPersonalLabelsBytes(int index) {
2988         return personalLabels_.getByteString(index);
2989       }
2990       /**
2991        *
2992        *
2993        * <pre>
2994        * Specifies previous events related to this product for this user based on
2995        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
2996        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
2997        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
2998        * This is set only when
2999        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
3000        * is
3001        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
3002        * Possible values:
3003        * * `purchased`: Indicates that this product has been purchased before.
3004        * </pre>
3005        *
3006        * <code>repeated string personal_labels = 7;</code>
3007        *
3008        * @param index The index to set the value at.
3009        * @param value The personalLabels to set.
3010        * @return This builder for chaining.
3011        */
setPersonalLabels(int index, java.lang.String value)3012       public Builder setPersonalLabels(int index, java.lang.String value) {
3013         if (value == null) {
3014           throw new NullPointerException();
3015         }
3016         ensurePersonalLabelsIsMutable();
3017         personalLabels_.set(index, value);
3018         onChanged();
3019         return this;
3020       }
3021       /**
3022        *
3023        *
3024        * <pre>
3025        * Specifies previous events related to this product for this user based on
3026        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
3027        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
3028        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
3029        * This is set only when
3030        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
3031        * is
3032        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
3033        * Possible values:
3034        * * `purchased`: Indicates that this product has been purchased before.
3035        * </pre>
3036        *
3037        * <code>repeated string personal_labels = 7;</code>
3038        *
3039        * @param value The personalLabels to add.
3040        * @return This builder for chaining.
3041        */
addPersonalLabels(java.lang.String value)3042       public Builder addPersonalLabels(java.lang.String value) {
3043         if (value == null) {
3044           throw new NullPointerException();
3045         }
3046         ensurePersonalLabelsIsMutable();
3047         personalLabels_.add(value);
3048         onChanged();
3049         return this;
3050       }
3051       /**
3052        *
3053        *
3054        * <pre>
3055        * Specifies previous events related to this product for this user based on
3056        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
3057        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
3058        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
3059        * This is set only when
3060        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
3061        * is
3062        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
3063        * Possible values:
3064        * * `purchased`: Indicates that this product has been purchased before.
3065        * </pre>
3066        *
3067        * <code>repeated string personal_labels = 7;</code>
3068        *
3069        * @param values The personalLabels to add.
3070        * @return This builder for chaining.
3071        */
addAllPersonalLabels(java.lang.Iterable<java.lang.String> values)3072       public Builder addAllPersonalLabels(java.lang.Iterable<java.lang.String> values) {
3073         ensurePersonalLabelsIsMutable();
3074         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, personalLabels_);
3075         onChanged();
3076         return this;
3077       }
3078       /**
3079        *
3080        *
3081        * <pre>
3082        * Specifies previous events related to this product for this user based on
3083        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
3084        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
3085        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
3086        * This is set only when
3087        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
3088        * is
3089        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
3090        * Possible values:
3091        * * `purchased`: Indicates that this product has been purchased before.
3092        * </pre>
3093        *
3094        * <code>repeated string personal_labels = 7;</code>
3095        *
3096        * @return This builder for chaining.
3097        */
clearPersonalLabels()3098       public Builder clearPersonalLabels() {
3099         personalLabels_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3100         bitField0_ = (bitField0_ & ~0x00000020);
3101         onChanged();
3102         return this;
3103       }
3104       /**
3105        *
3106        *
3107        * <pre>
3108        * Specifies previous events related to this product for this user based on
3109        * [UserEvent][google.cloud.retail.v2beta.UserEvent] with same
3110        * [SearchRequest.visitor_id][google.cloud.retail.v2beta.SearchRequest.visitor_id]
3111        * or [UserInfo.user_id][google.cloud.retail.v2beta.UserInfo.user_id].
3112        * This is set only when
3113        * [SearchRequest.PersonalizationSpec.mode][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.mode]
3114        * is
3115        * [SearchRequest.PersonalizationSpec.Mode.AUTO][google.cloud.retail.v2beta.SearchRequest.PersonalizationSpec.Mode.AUTO].
3116        * Possible values:
3117        * * `purchased`: Indicates that this product has been purchased before.
3118        * </pre>
3119        *
3120        * <code>repeated string personal_labels = 7;</code>
3121        *
3122        * @param value The bytes of the personalLabels to add.
3123        * @return This builder for chaining.
3124        */
addPersonalLabelsBytes(com.google.protobuf.ByteString value)3125       public Builder addPersonalLabelsBytes(com.google.protobuf.ByteString value) {
3126         if (value == null) {
3127           throw new NullPointerException();
3128         }
3129         checkByteStringIsUtf8(value);
3130         ensurePersonalLabelsIsMutable();
3131         personalLabels_.add(value);
3132         onChanged();
3133         return this;
3134       }
3135 
3136       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3137       public final Builder setUnknownFields(
3138           final com.google.protobuf.UnknownFieldSet unknownFields) {
3139         return super.setUnknownFields(unknownFields);
3140       }
3141 
3142       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)3143       public final Builder mergeUnknownFields(
3144           final com.google.protobuf.UnknownFieldSet unknownFields) {
3145         return super.mergeUnknownFields(unknownFields);
3146       }
3147 
3148       // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2beta.SearchResponse.SearchResult)
3149     }
3150 
3151     // @@protoc_insertion_point(class_scope:google.cloud.retail.v2beta.SearchResponse.SearchResult)
3152     private static final com.google.cloud.retail.v2beta.SearchResponse.SearchResult
3153         DEFAULT_INSTANCE;
3154 
3155     static {
3156       DEFAULT_INSTANCE = new com.google.cloud.retail.v2beta.SearchResponse.SearchResult();
3157     }
3158 
getDefaultInstance()3159     public static com.google.cloud.retail.v2beta.SearchResponse.SearchResult getDefaultInstance() {
3160       return DEFAULT_INSTANCE;
3161     }
3162 
3163     private static final com.google.protobuf.Parser<SearchResult> PARSER =
3164         new com.google.protobuf.AbstractParser<SearchResult>() {
3165           @java.lang.Override
3166           public SearchResult parsePartialFrom(
3167               com.google.protobuf.CodedInputStream input,
3168               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3169               throws com.google.protobuf.InvalidProtocolBufferException {
3170             Builder builder = newBuilder();
3171             try {
3172               builder.mergeFrom(input, extensionRegistry);
3173             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
3174               throw e.setUnfinishedMessage(builder.buildPartial());
3175             } catch (com.google.protobuf.UninitializedMessageException e) {
3176               throw e.asInvalidProtocolBufferException()
3177                   .setUnfinishedMessage(builder.buildPartial());
3178             } catch (java.io.IOException e) {
3179               throw new com.google.protobuf.InvalidProtocolBufferException(e)
3180                   .setUnfinishedMessage(builder.buildPartial());
3181             }
3182             return builder.buildPartial();
3183           }
3184         };
3185 
parser()3186     public static com.google.protobuf.Parser<SearchResult> parser() {
3187       return PARSER;
3188     }
3189 
3190     @java.lang.Override
getParserForType()3191     public com.google.protobuf.Parser<SearchResult> getParserForType() {
3192       return PARSER;
3193     }
3194 
3195     @java.lang.Override
getDefaultInstanceForType()3196     public com.google.cloud.retail.v2beta.SearchResponse.SearchResult getDefaultInstanceForType() {
3197       return DEFAULT_INSTANCE;
3198     }
3199   }
3200 
3201   public interface FacetOrBuilder
3202       extends
3203       // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2beta.SearchResponse.Facet)
3204       com.google.protobuf.MessageOrBuilder {
3205 
3206     /**
3207      *
3208      *
3209      * <pre>
3210      * The key for this facet. E.g., "colorFamilies" or "price" or
3211      * "attributes.attr1".
3212      * </pre>
3213      *
3214      * <code>string key = 1;</code>
3215      *
3216      * @return The key.
3217      */
getKey()3218     java.lang.String getKey();
3219     /**
3220      *
3221      *
3222      * <pre>
3223      * The key for this facet. E.g., "colorFamilies" or "price" or
3224      * "attributes.attr1".
3225      * </pre>
3226      *
3227      * <code>string key = 1;</code>
3228      *
3229      * @return The bytes for key.
3230      */
getKeyBytes()3231     com.google.protobuf.ByteString getKeyBytes();
3232 
3233     /**
3234      *
3235      *
3236      * <pre>
3237      * The facet values for this field.
3238      * </pre>
3239      *
3240      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
3241      */
getValuesList()3242     java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue> getValuesList();
3243     /**
3244      *
3245      *
3246      * <pre>
3247      * The facet values for this field.
3248      * </pre>
3249      *
3250      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
3251      */
getValues(int index)3252     com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue getValues(int index);
3253     /**
3254      *
3255      *
3256      * <pre>
3257      * The facet values for this field.
3258      * </pre>
3259      *
3260      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
3261      */
getValuesCount()3262     int getValuesCount();
3263     /**
3264      *
3265      *
3266      * <pre>
3267      * The facet values for this field.
3268      * </pre>
3269      *
3270      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
3271      */
3272     java.util.List<
3273             ? extends com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>
getValuesOrBuilderList()3274         getValuesOrBuilderList();
3275     /**
3276      *
3277      *
3278      * <pre>
3279      * The facet values for this field.
3280      * </pre>
3281      *
3282      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
3283      */
getValuesOrBuilder( int index)3284     com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder getValuesOrBuilder(
3285         int index);
3286 
3287     /**
3288      *
3289      *
3290      * <pre>
3291      * Whether the facet is dynamically generated.
3292      * </pre>
3293      *
3294      * <code>bool dynamic_facet = 3;</code>
3295      *
3296      * @return The dynamicFacet.
3297      */
getDynamicFacet()3298     boolean getDynamicFacet();
3299   }
3300   /**
3301    *
3302    *
3303    * <pre>
3304    * A facet result.
3305    * </pre>
3306    *
3307    * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.Facet}
3308    */
3309   public static final class Facet extends com.google.protobuf.GeneratedMessageV3
3310       implements
3311       // @@protoc_insertion_point(message_implements:google.cloud.retail.v2beta.SearchResponse.Facet)
3312       FacetOrBuilder {
3313     private static final long serialVersionUID = 0L;
3314     // Use Facet.newBuilder() to construct.
Facet(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)3315     private Facet(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
3316       super(builder);
3317     }
3318 
Facet()3319     private Facet() {
3320       key_ = "";
3321       values_ = java.util.Collections.emptyList();
3322     }
3323 
3324     @java.lang.Override
3325     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)3326     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
3327       return new Facet();
3328     }
3329 
3330     @java.lang.Override
getUnknownFields()3331     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
3332       return this.unknownFields;
3333     }
3334 
getDescriptor()3335     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3336       return com.google.cloud.retail.v2beta.SearchServiceProto
3337           .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_descriptor;
3338     }
3339 
3340     @java.lang.Override
3341     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3342         internalGetFieldAccessorTable() {
3343       return com.google.cloud.retail.v2beta.SearchServiceProto
3344           .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_fieldAccessorTable
3345           .ensureFieldAccessorsInitialized(
3346               com.google.cloud.retail.v2beta.SearchResponse.Facet.class,
3347               com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder.class);
3348     }
3349 
3350     public interface FacetValueOrBuilder
3351         extends
3352         // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)
3353         com.google.protobuf.MessageOrBuilder {
3354 
3355       /**
3356        *
3357        *
3358        * <pre>
3359        * Text value of a facet, such as "Black" for facet "colorFamilies".
3360        * </pre>
3361        *
3362        * <code>string value = 1;</code>
3363        *
3364        * @return Whether the value field is set.
3365        */
hasValue()3366       boolean hasValue();
3367       /**
3368        *
3369        *
3370        * <pre>
3371        * Text value of a facet, such as "Black" for facet "colorFamilies".
3372        * </pre>
3373        *
3374        * <code>string value = 1;</code>
3375        *
3376        * @return The value.
3377        */
getValue()3378       java.lang.String getValue();
3379       /**
3380        *
3381        *
3382        * <pre>
3383        * Text value of a facet, such as "Black" for facet "colorFamilies".
3384        * </pre>
3385        *
3386        * <code>string value = 1;</code>
3387        *
3388        * @return The bytes for value.
3389        */
getValueBytes()3390       com.google.protobuf.ByteString getValueBytes();
3391 
3392       /**
3393        *
3394        *
3395        * <pre>
3396        * Interval value for a facet, such as [10, 20) for facet "price".
3397        * </pre>
3398        *
3399        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3400        *
3401        * @return Whether the interval field is set.
3402        */
hasInterval()3403       boolean hasInterval();
3404       /**
3405        *
3406        *
3407        * <pre>
3408        * Interval value for a facet, such as [10, 20) for facet "price".
3409        * </pre>
3410        *
3411        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3412        *
3413        * @return The interval.
3414        */
getInterval()3415       com.google.cloud.retail.v2beta.Interval getInterval();
3416       /**
3417        *
3418        *
3419        * <pre>
3420        * Interval value for a facet, such as [10, 20) for facet "price".
3421        * </pre>
3422        *
3423        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3424        */
getIntervalOrBuilder()3425       com.google.cloud.retail.v2beta.IntervalOrBuilder getIntervalOrBuilder();
3426 
3427       /**
3428        *
3429        *
3430        * <pre>
3431        * Number of items that have this facet value.
3432        * </pre>
3433        *
3434        * <code>int64 count = 3;</code>
3435        *
3436        * @return The count.
3437        */
getCount()3438       long getCount();
3439 
3440       /**
3441        *
3442        *
3443        * <pre>
3444        * The minimum value in the
3445        * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
3446        * Only supported on numerical facets and returned if
3447        * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
3448        * is true.
3449        * </pre>
3450        *
3451        * <code>double min_value = 5;</code>
3452        *
3453        * @return The minValue.
3454        */
getMinValue()3455       double getMinValue();
3456 
3457       /**
3458        *
3459        *
3460        * <pre>
3461        * The maximum value in the
3462        * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
3463        * Only supported on numerical facets and returned if
3464        * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
3465        * is true.
3466        * </pre>
3467        *
3468        * <code>double max_value = 6;</code>
3469        *
3470        * @return The maxValue.
3471        */
getMaxValue()3472       double getMaxValue();
3473 
3474       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.FacetValueCase
getFacetValueCase()3475           getFacetValueCase();
3476     }
3477     /**
3478      *
3479      *
3480      * <pre>
3481      * A facet value which contains value names and their count.
3482      * </pre>
3483      *
3484      * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue}
3485      */
3486     public static final class FacetValue extends com.google.protobuf.GeneratedMessageV3
3487         implements
3488         // @@protoc_insertion_point(message_implements:google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)
3489         FacetValueOrBuilder {
3490       private static final long serialVersionUID = 0L;
3491       // Use FacetValue.newBuilder() to construct.
FacetValue(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)3492       private FacetValue(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
3493         super(builder);
3494       }
3495 
FacetValue()3496       private FacetValue() {}
3497 
3498       @java.lang.Override
3499       @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)3500       protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
3501         return new FacetValue();
3502       }
3503 
3504       @java.lang.Override
getUnknownFields()3505       public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
3506         return this.unknownFields;
3507       }
3508 
getDescriptor()3509       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3510         return com.google.cloud.retail.v2beta.SearchServiceProto
3511             .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_FacetValue_descriptor;
3512       }
3513 
3514       @java.lang.Override
3515       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()3516           internalGetFieldAccessorTable() {
3517         return com.google.cloud.retail.v2beta.SearchServiceProto
3518             .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_FacetValue_fieldAccessorTable
3519             .ensureFieldAccessorsInitialized(
3520                 com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.class,
3521                 com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder.class);
3522       }
3523 
3524       private int facetValueCase_ = 0;
3525       private java.lang.Object facetValue_;
3526 
3527       public enum FacetValueCase
3528           implements
3529               com.google.protobuf.Internal.EnumLite,
3530               com.google.protobuf.AbstractMessage.InternalOneOfEnum {
3531         VALUE(1),
3532         INTERVAL(2),
3533         FACETVALUE_NOT_SET(0);
3534         private final int value;
3535 
FacetValueCase(int value)3536         private FacetValueCase(int value) {
3537           this.value = value;
3538         }
3539         /**
3540          * @param value The number of the enum to look for.
3541          * @return The enum associated with the given number.
3542          * @deprecated Use {@link #forNumber(int)} instead.
3543          */
3544         @java.lang.Deprecated
valueOf(int value)3545         public static FacetValueCase valueOf(int value) {
3546           return forNumber(value);
3547         }
3548 
forNumber(int value)3549         public static FacetValueCase forNumber(int value) {
3550           switch (value) {
3551             case 1:
3552               return VALUE;
3553             case 2:
3554               return INTERVAL;
3555             case 0:
3556               return FACETVALUE_NOT_SET;
3557             default:
3558               return null;
3559           }
3560         }
3561 
getNumber()3562         public int getNumber() {
3563           return this.value;
3564         }
3565       };
3566 
getFacetValueCase()3567       public FacetValueCase getFacetValueCase() {
3568         return FacetValueCase.forNumber(facetValueCase_);
3569       }
3570 
3571       public static final int VALUE_FIELD_NUMBER = 1;
3572       /**
3573        *
3574        *
3575        * <pre>
3576        * Text value of a facet, such as "Black" for facet "colorFamilies".
3577        * </pre>
3578        *
3579        * <code>string value = 1;</code>
3580        *
3581        * @return Whether the value field is set.
3582        */
hasValue()3583       public boolean hasValue() {
3584         return facetValueCase_ == 1;
3585       }
3586       /**
3587        *
3588        *
3589        * <pre>
3590        * Text value of a facet, such as "Black" for facet "colorFamilies".
3591        * </pre>
3592        *
3593        * <code>string value = 1;</code>
3594        *
3595        * @return The value.
3596        */
getValue()3597       public java.lang.String getValue() {
3598         java.lang.Object ref = "";
3599         if (facetValueCase_ == 1) {
3600           ref = facetValue_;
3601         }
3602         if (ref instanceof java.lang.String) {
3603           return (java.lang.String) ref;
3604         } else {
3605           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3606           java.lang.String s = bs.toStringUtf8();
3607           if (facetValueCase_ == 1) {
3608             facetValue_ = s;
3609           }
3610           return s;
3611         }
3612       }
3613       /**
3614        *
3615        *
3616        * <pre>
3617        * Text value of a facet, such as "Black" for facet "colorFamilies".
3618        * </pre>
3619        *
3620        * <code>string value = 1;</code>
3621        *
3622        * @return The bytes for value.
3623        */
getValueBytes()3624       public com.google.protobuf.ByteString getValueBytes() {
3625         java.lang.Object ref = "";
3626         if (facetValueCase_ == 1) {
3627           ref = facetValue_;
3628         }
3629         if (ref instanceof java.lang.String) {
3630           com.google.protobuf.ByteString b =
3631               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
3632           if (facetValueCase_ == 1) {
3633             facetValue_ = b;
3634           }
3635           return b;
3636         } else {
3637           return (com.google.protobuf.ByteString) ref;
3638         }
3639       }
3640 
3641       public static final int INTERVAL_FIELD_NUMBER = 2;
3642       /**
3643        *
3644        *
3645        * <pre>
3646        * Interval value for a facet, such as [10, 20) for facet "price".
3647        * </pre>
3648        *
3649        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3650        *
3651        * @return Whether the interval field is set.
3652        */
3653       @java.lang.Override
hasInterval()3654       public boolean hasInterval() {
3655         return facetValueCase_ == 2;
3656       }
3657       /**
3658        *
3659        *
3660        * <pre>
3661        * Interval value for a facet, such as [10, 20) for facet "price".
3662        * </pre>
3663        *
3664        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3665        *
3666        * @return The interval.
3667        */
3668       @java.lang.Override
getInterval()3669       public com.google.cloud.retail.v2beta.Interval getInterval() {
3670         if (facetValueCase_ == 2) {
3671           return (com.google.cloud.retail.v2beta.Interval) facetValue_;
3672         }
3673         return com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
3674       }
3675       /**
3676        *
3677        *
3678        * <pre>
3679        * Interval value for a facet, such as [10, 20) for facet "price".
3680        * </pre>
3681        *
3682        * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
3683        */
3684       @java.lang.Override
getIntervalOrBuilder()3685       public com.google.cloud.retail.v2beta.IntervalOrBuilder getIntervalOrBuilder() {
3686         if (facetValueCase_ == 2) {
3687           return (com.google.cloud.retail.v2beta.Interval) facetValue_;
3688         }
3689         return com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
3690       }
3691 
3692       public static final int COUNT_FIELD_NUMBER = 3;
3693       private long count_ = 0L;
3694       /**
3695        *
3696        *
3697        * <pre>
3698        * Number of items that have this facet value.
3699        * </pre>
3700        *
3701        * <code>int64 count = 3;</code>
3702        *
3703        * @return The count.
3704        */
3705       @java.lang.Override
getCount()3706       public long getCount() {
3707         return count_;
3708       }
3709 
3710       public static final int MIN_VALUE_FIELD_NUMBER = 5;
3711       private double minValue_ = 0D;
3712       /**
3713        *
3714        *
3715        * <pre>
3716        * The minimum value in the
3717        * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
3718        * Only supported on numerical facets and returned if
3719        * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
3720        * is true.
3721        * </pre>
3722        *
3723        * <code>double min_value = 5;</code>
3724        *
3725        * @return The minValue.
3726        */
3727       @java.lang.Override
getMinValue()3728       public double getMinValue() {
3729         return minValue_;
3730       }
3731 
3732       public static final int MAX_VALUE_FIELD_NUMBER = 6;
3733       private double maxValue_ = 0D;
3734       /**
3735        *
3736        *
3737        * <pre>
3738        * The maximum value in the
3739        * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
3740        * Only supported on numerical facets and returned if
3741        * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
3742        * is true.
3743        * </pre>
3744        *
3745        * <code>double max_value = 6;</code>
3746        *
3747        * @return The maxValue.
3748        */
3749       @java.lang.Override
getMaxValue()3750       public double getMaxValue() {
3751         return maxValue_;
3752       }
3753 
3754       private byte memoizedIsInitialized = -1;
3755 
3756       @java.lang.Override
isInitialized()3757       public final boolean isInitialized() {
3758         byte isInitialized = memoizedIsInitialized;
3759         if (isInitialized == 1) return true;
3760         if (isInitialized == 0) return false;
3761 
3762         memoizedIsInitialized = 1;
3763         return true;
3764       }
3765 
3766       @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)3767       public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
3768         if (facetValueCase_ == 1) {
3769           com.google.protobuf.GeneratedMessageV3.writeString(output, 1, facetValue_);
3770         }
3771         if (facetValueCase_ == 2) {
3772           output.writeMessage(2, (com.google.cloud.retail.v2beta.Interval) facetValue_);
3773         }
3774         if (count_ != 0L) {
3775           output.writeInt64(3, count_);
3776         }
3777         if (java.lang.Double.doubleToRawLongBits(minValue_) != 0) {
3778           output.writeDouble(5, minValue_);
3779         }
3780         if (java.lang.Double.doubleToRawLongBits(maxValue_) != 0) {
3781           output.writeDouble(6, maxValue_);
3782         }
3783         getUnknownFields().writeTo(output);
3784       }
3785 
3786       @java.lang.Override
getSerializedSize()3787       public int getSerializedSize() {
3788         int size = memoizedSize;
3789         if (size != -1) return size;
3790 
3791         size = 0;
3792         if (facetValueCase_ == 1) {
3793           size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, facetValue_);
3794         }
3795         if (facetValueCase_ == 2) {
3796           size +=
3797               com.google.protobuf.CodedOutputStream.computeMessageSize(
3798                   2, (com.google.cloud.retail.v2beta.Interval) facetValue_);
3799         }
3800         if (count_ != 0L) {
3801           size += com.google.protobuf.CodedOutputStream.computeInt64Size(3, count_);
3802         }
3803         if (java.lang.Double.doubleToRawLongBits(minValue_) != 0) {
3804           size += com.google.protobuf.CodedOutputStream.computeDoubleSize(5, minValue_);
3805         }
3806         if (java.lang.Double.doubleToRawLongBits(maxValue_) != 0) {
3807           size += com.google.protobuf.CodedOutputStream.computeDoubleSize(6, maxValue_);
3808         }
3809         size += getUnknownFields().getSerializedSize();
3810         memoizedSize = size;
3811         return size;
3812       }
3813 
3814       @java.lang.Override
equals(final java.lang.Object obj)3815       public boolean equals(final java.lang.Object obj) {
3816         if (obj == this) {
3817           return true;
3818         }
3819         if (!(obj instanceof com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)) {
3820           return super.equals(obj);
3821         }
3822         com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue other =
3823             (com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue) obj;
3824 
3825         if (getCount() != other.getCount()) return false;
3826         if (java.lang.Double.doubleToLongBits(getMinValue())
3827             != java.lang.Double.doubleToLongBits(other.getMinValue())) return false;
3828         if (java.lang.Double.doubleToLongBits(getMaxValue())
3829             != java.lang.Double.doubleToLongBits(other.getMaxValue())) return false;
3830         if (!getFacetValueCase().equals(other.getFacetValueCase())) return false;
3831         switch (facetValueCase_) {
3832           case 1:
3833             if (!getValue().equals(other.getValue())) return false;
3834             break;
3835           case 2:
3836             if (!getInterval().equals(other.getInterval())) return false;
3837             break;
3838           case 0:
3839           default:
3840         }
3841         if (!getUnknownFields().equals(other.getUnknownFields())) return false;
3842         return true;
3843       }
3844 
3845       @java.lang.Override
hashCode()3846       public int hashCode() {
3847         if (memoizedHashCode != 0) {
3848           return memoizedHashCode;
3849         }
3850         int hash = 41;
3851         hash = (19 * hash) + getDescriptor().hashCode();
3852         hash = (37 * hash) + COUNT_FIELD_NUMBER;
3853         hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getCount());
3854         hash = (37 * hash) + MIN_VALUE_FIELD_NUMBER;
3855         hash =
3856             (53 * hash)
3857                 + com.google.protobuf.Internal.hashLong(
3858                     java.lang.Double.doubleToLongBits(getMinValue()));
3859         hash = (37 * hash) + MAX_VALUE_FIELD_NUMBER;
3860         hash =
3861             (53 * hash)
3862                 + com.google.protobuf.Internal.hashLong(
3863                     java.lang.Double.doubleToLongBits(getMaxValue()));
3864         switch (facetValueCase_) {
3865           case 1:
3866             hash = (37 * hash) + VALUE_FIELD_NUMBER;
3867             hash = (53 * hash) + getValue().hashCode();
3868             break;
3869           case 2:
3870             hash = (37 * hash) + INTERVAL_FIELD_NUMBER;
3871             hash = (53 * hash) + getInterval().hashCode();
3872             break;
3873           case 0:
3874           default:
3875         }
3876         hash = (29 * hash) + getUnknownFields().hashCode();
3877         memoizedHashCode = hash;
3878         return hash;
3879       }
3880 
parseFrom( java.nio.ByteBuffer data)3881       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3882           java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
3883         return PARSER.parseFrom(data);
3884       }
3885 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3886       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3887           java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3888           throws com.google.protobuf.InvalidProtocolBufferException {
3889         return PARSER.parseFrom(data, extensionRegistry);
3890       }
3891 
parseFrom( com.google.protobuf.ByteString data)3892       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3893           com.google.protobuf.ByteString data)
3894           throws com.google.protobuf.InvalidProtocolBufferException {
3895         return PARSER.parseFrom(data);
3896       }
3897 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3898       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3899           com.google.protobuf.ByteString data,
3900           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3901           throws com.google.protobuf.InvalidProtocolBufferException {
3902         return PARSER.parseFrom(data, extensionRegistry);
3903       }
3904 
parseFrom( byte[] data)3905       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3906           byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
3907         return PARSER.parseFrom(data);
3908       }
3909 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3910       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3911           byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3912           throws com.google.protobuf.InvalidProtocolBufferException {
3913         return PARSER.parseFrom(data, extensionRegistry);
3914       }
3915 
parseFrom( java.io.InputStream input)3916       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3917           java.io.InputStream input) throws java.io.IOException {
3918         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3919       }
3920 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3921       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3922           java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3923           throws java.io.IOException {
3924         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3925             PARSER, input, extensionRegistry);
3926       }
3927 
3928       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
parseDelimitedFrom(java.io.InputStream input)3929           parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
3930         return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
3931       }
3932 
3933       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3934           parseDelimitedFrom(
3935               java.io.InputStream input,
3936               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3937               throws java.io.IOException {
3938         return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
3939             PARSER, input, extensionRegistry);
3940       }
3941 
parseFrom( com.google.protobuf.CodedInputStream input)3942       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3943           com.google.protobuf.CodedInputStream input) throws java.io.IOException {
3944         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
3945       }
3946 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)3947       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue parseFrom(
3948           com.google.protobuf.CodedInputStream input,
3949           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
3950           throws java.io.IOException {
3951         return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
3952             PARSER, input, extensionRegistry);
3953       }
3954 
3955       @java.lang.Override
newBuilderForType()3956       public Builder newBuilderForType() {
3957         return newBuilder();
3958       }
3959 
newBuilder()3960       public static Builder newBuilder() {
3961         return DEFAULT_INSTANCE.toBuilder();
3962       }
3963 
newBuilder( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue prototype)3964       public static Builder newBuilder(
3965           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue prototype) {
3966         return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
3967       }
3968 
3969       @java.lang.Override
toBuilder()3970       public Builder toBuilder() {
3971         return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
3972       }
3973 
3974       @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)3975       protected Builder newBuilderForType(
3976           com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
3977         Builder builder = new Builder(parent);
3978         return builder;
3979       }
3980       /**
3981        *
3982        *
3983        * <pre>
3984        * A facet value which contains value names and their count.
3985        * </pre>
3986        *
3987        * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue}
3988        */
3989       public static final class Builder
3990           extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
3991           implements
3992           // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)
3993           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder {
getDescriptor()3994         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
3995           return com.google.cloud.retail.v2beta.SearchServiceProto
3996               .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_FacetValue_descriptor;
3997         }
3998 
3999         @java.lang.Override
4000         protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()4001             internalGetFieldAccessorTable() {
4002           return com.google.cloud.retail.v2beta.SearchServiceProto
4003               .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_FacetValue_fieldAccessorTable
4004               .ensureFieldAccessorsInitialized(
4005                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.class,
4006                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder.class);
4007         }
4008 
4009         // Construct using
4010         // com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.newBuilder()
Builder()4011         private Builder() {}
4012 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)4013         private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
4014           super(parent);
4015         }
4016 
4017         @java.lang.Override
clear()4018         public Builder clear() {
4019           super.clear();
4020           bitField0_ = 0;
4021           if (intervalBuilder_ != null) {
4022             intervalBuilder_.clear();
4023           }
4024           count_ = 0L;
4025           minValue_ = 0D;
4026           maxValue_ = 0D;
4027           facetValueCase_ = 0;
4028           facetValue_ = null;
4029           return this;
4030         }
4031 
4032         @java.lang.Override
getDescriptorForType()4033         public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
4034           return com.google.cloud.retail.v2beta.SearchServiceProto
4035               .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_FacetValue_descriptor;
4036         }
4037 
4038         @java.lang.Override
4039         public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
getDefaultInstanceForType()4040             getDefaultInstanceForType() {
4041           return com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
4042               .getDefaultInstance();
4043         }
4044 
4045         @java.lang.Override
build()4046         public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue build() {
4047           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result = buildPartial();
4048           if (!result.isInitialized()) {
4049             throw newUninitializedMessageException(result);
4050           }
4051           return result;
4052         }
4053 
4054         @java.lang.Override
buildPartial()4055         public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue buildPartial() {
4056           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result =
4057               new com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue(this);
4058           if (bitField0_ != 0) {
4059             buildPartial0(result);
4060           }
4061           buildPartialOneofs(result);
4062           onBuilt();
4063           return result;
4064         }
4065 
buildPartial0( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result)4066         private void buildPartial0(
4067             com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result) {
4068           int from_bitField0_ = bitField0_;
4069           if (((from_bitField0_ & 0x00000004) != 0)) {
4070             result.count_ = count_;
4071           }
4072           if (((from_bitField0_ & 0x00000008) != 0)) {
4073             result.minValue_ = minValue_;
4074           }
4075           if (((from_bitField0_ & 0x00000010) != 0)) {
4076             result.maxValue_ = maxValue_;
4077           }
4078         }
4079 
buildPartialOneofs( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result)4080         private void buildPartialOneofs(
4081             com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue result) {
4082           result.facetValueCase_ = facetValueCase_;
4083           result.facetValue_ = this.facetValue_;
4084           if (facetValueCase_ == 2 && intervalBuilder_ != null) {
4085             result.facetValue_ = intervalBuilder_.build();
4086           }
4087         }
4088 
4089         @java.lang.Override
clone()4090         public Builder clone() {
4091           return super.clone();
4092         }
4093 
4094         @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4095         public Builder setField(
4096             com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4097           return super.setField(field, value);
4098         }
4099 
4100         @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)4101         public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
4102           return super.clearField(field);
4103         }
4104 
4105         @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)4106         public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
4107           return super.clearOneof(oneof);
4108         }
4109 
4110         @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)4111         public Builder setRepeatedField(
4112             com.google.protobuf.Descriptors.FieldDescriptor field,
4113             int index,
4114             java.lang.Object value) {
4115           return super.setRepeatedField(field, index, value);
4116         }
4117 
4118         @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)4119         public Builder addRepeatedField(
4120             com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
4121           return super.addRepeatedField(field, value);
4122         }
4123 
4124         @java.lang.Override
mergeFrom(com.google.protobuf.Message other)4125         public Builder mergeFrom(com.google.protobuf.Message other) {
4126           if (other instanceof com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue) {
4127             return mergeFrom(
4128                 (com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue) other);
4129           } else {
4130             super.mergeFrom(other);
4131             return this;
4132           }
4133         }
4134 
mergeFrom( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue other)4135         public Builder mergeFrom(
4136             com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue other) {
4137           if (other
4138               == com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
4139                   .getDefaultInstance()) return this;
4140           if (other.getCount() != 0L) {
4141             setCount(other.getCount());
4142           }
4143           if (other.getMinValue() != 0D) {
4144             setMinValue(other.getMinValue());
4145           }
4146           if (other.getMaxValue() != 0D) {
4147             setMaxValue(other.getMaxValue());
4148           }
4149           switch (other.getFacetValueCase()) {
4150             case VALUE:
4151               {
4152                 facetValueCase_ = 1;
4153                 facetValue_ = other.facetValue_;
4154                 onChanged();
4155                 break;
4156               }
4157             case INTERVAL:
4158               {
4159                 mergeInterval(other.getInterval());
4160                 break;
4161               }
4162             case FACETVALUE_NOT_SET:
4163               {
4164                 break;
4165               }
4166           }
4167           this.mergeUnknownFields(other.getUnknownFields());
4168           onChanged();
4169           return this;
4170         }
4171 
4172         @java.lang.Override
isInitialized()4173         public final boolean isInitialized() {
4174           return true;
4175         }
4176 
4177         @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)4178         public Builder mergeFrom(
4179             com.google.protobuf.CodedInputStream input,
4180             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4181             throws java.io.IOException {
4182           if (extensionRegistry == null) {
4183             throw new java.lang.NullPointerException();
4184           }
4185           try {
4186             boolean done = false;
4187             while (!done) {
4188               int tag = input.readTag();
4189               switch (tag) {
4190                 case 0:
4191                   done = true;
4192                   break;
4193                 case 10:
4194                   {
4195                     java.lang.String s = input.readStringRequireUtf8();
4196                     facetValueCase_ = 1;
4197                     facetValue_ = s;
4198                     break;
4199                   } // case 10
4200                 case 18:
4201                   {
4202                     input.readMessage(getIntervalFieldBuilder().getBuilder(), extensionRegistry);
4203                     facetValueCase_ = 2;
4204                     break;
4205                   } // case 18
4206                 case 24:
4207                   {
4208                     count_ = input.readInt64();
4209                     bitField0_ |= 0x00000004;
4210                     break;
4211                   } // case 24
4212                 case 41:
4213                   {
4214                     minValue_ = input.readDouble();
4215                     bitField0_ |= 0x00000008;
4216                     break;
4217                   } // case 41
4218                 case 49:
4219                   {
4220                     maxValue_ = input.readDouble();
4221                     bitField0_ |= 0x00000010;
4222                     break;
4223                   } // case 49
4224                 default:
4225                   {
4226                     if (!super.parseUnknownField(input, extensionRegistry, tag)) {
4227                       done = true; // was an endgroup tag
4228                     }
4229                     break;
4230                   } // default:
4231               } // switch (tag)
4232             } // while (!done)
4233           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4234             throw e.unwrapIOException();
4235           } finally {
4236             onChanged();
4237           } // finally
4238           return this;
4239         }
4240 
4241         private int facetValueCase_ = 0;
4242         private java.lang.Object facetValue_;
4243 
getFacetValueCase()4244         public FacetValueCase getFacetValueCase() {
4245           return FacetValueCase.forNumber(facetValueCase_);
4246         }
4247 
clearFacetValue()4248         public Builder clearFacetValue() {
4249           facetValueCase_ = 0;
4250           facetValue_ = null;
4251           onChanged();
4252           return this;
4253         }
4254 
4255         private int bitField0_;
4256 
4257         /**
4258          *
4259          *
4260          * <pre>
4261          * Text value of a facet, such as "Black" for facet "colorFamilies".
4262          * </pre>
4263          *
4264          * <code>string value = 1;</code>
4265          *
4266          * @return Whether the value field is set.
4267          */
4268         @java.lang.Override
hasValue()4269         public boolean hasValue() {
4270           return facetValueCase_ == 1;
4271         }
4272         /**
4273          *
4274          *
4275          * <pre>
4276          * Text value of a facet, such as "Black" for facet "colorFamilies".
4277          * </pre>
4278          *
4279          * <code>string value = 1;</code>
4280          *
4281          * @return The value.
4282          */
4283         @java.lang.Override
getValue()4284         public java.lang.String getValue() {
4285           java.lang.Object ref = "";
4286           if (facetValueCase_ == 1) {
4287             ref = facetValue_;
4288           }
4289           if (!(ref instanceof java.lang.String)) {
4290             com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4291             java.lang.String s = bs.toStringUtf8();
4292             if (facetValueCase_ == 1) {
4293               facetValue_ = s;
4294             }
4295             return s;
4296           } else {
4297             return (java.lang.String) ref;
4298           }
4299         }
4300         /**
4301          *
4302          *
4303          * <pre>
4304          * Text value of a facet, such as "Black" for facet "colorFamilies".
4305          * </pre>
4306          *
4307          * <code>string value = 1;</code>
4308          *
4309          * @return The bytes for value.
4310          */
4311         @java.lang.Override
getValueBytes()4312         public com.google.protobuf.ByteString getValueBytes() {
4313           java.lang.Object ref = "";
4314           if (facetValueCase_ == 1) {
4315             ref = facetValue_;
4316           }
4317           if (ref instanceof String) {
4318             com.google.protobuf.ByteString b =
4319                 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4320             if (facetValueCase_ == 1) {
4321               facetValue_ = b;
4322             }
4323             return b;
4324           } else {
4325             return (com.google.protobuf.ByteString) ref;
4326           }
4327         }
4328         /**
4329          *
4330          *
4331          * <pre>
4332          * Text value of a facet, such as "Black" for facet "colorFamilies".
4333          * </pre>
4334          *
4335          * <code>string value = 1;</code>
4336          *
4337          * @param value The value to set.
4338          * @return This builder for chaining.
4339          */
setValue(java.lang.String value)4340         public Builder setValue(java.lang.String value) {
4341           if (value == null) {
4342             throw new NullPointerException();
4343           }
4344           facetValueCase_ = 1;
4345           facetValue_ = value;
4346           onChanged();
4347           return this;
4348         }
4349         /**
4350          *
4351          *
4352          * <pre>
4353          * Text value of a facet, such as "Black" for facet "colorFamilies".
4354          * </pre>
4355          *
4356          * <code>string value = 1;</code>
4357          *
4358          * @return This builder for chaining.
4359          */
clearValue()4360         public Builder clearValue() {
4361           if (facetValueCase_ == 1) {
4362             facetValueCase_ = 0;
4363             facetValue_ = null;
4364             onChanged();
4365           }
4366           return this;
4367         }
4368         /**
4369          *
4370          *
4371          * <pre>
4372          * Text value of a facet, such as "Black" for facet "colorFamilies".
4373          * </pre>
4374          *
4375          * <code>string value = 1;</code>
4376          *
4377          * @param value The bytes for value to set.
4378          * @return This builder for chaining.
4379          */
setValueBytes(com.google.protobuf.ByteString value)4380         public Builder setValueBytes(com.google.protobuf.ByteString value) {
4381           if (value == null) {
4382             throw new NullPointerException();
4383           }
4384           checkByteStringIsUtf8(value);
4385           facetValueCase_ = 1;
4386           facetValue_ = value;
4387           onChanged();
4388           return this;
4389         }
4390 
4391         private com.google.protobuf.SingleFieldBuilderV3<
4392                 com.google.cloud.retail.v2beta.Interval,
4393                 com.google.cloud.retail.v2beta.Interval.Builder,
4394                 com.google.cloud.retail.v2beta.IntervalOrBuilder>
4395             intervalBuilder_;
4396         /**
4397          *
4398          *
4399          * <pre>
4400          * Interval value for a facet, such as [10, 20) for facet "price".
4401          * </pre>
4402          *
4403          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4404          *
4405          * @return Whether the interval field is set.
4406          */
4407         @java.lang.Override
hasInterval()4408         public boolean hasInterval() {
4409           return facetValueCase_ == 2;
4410         }
4411         /**
4412          *
4413          *
4414          * <pre>
4415          * Interval value for a facet, such as [10, 20) for facet "price".
4416          * </pre>
4417          *
4418          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4419          *
4420          * @return The interval.
4421          */
4422         @java.lang.Override
getInterval()4423         public com.google.cloud.retail.v2beta.Interval getInterval() {
4424           if (intervalBuilder_ == null) {
4425             if (facetValueCase_ == 2) {
4426               return (com.google.cloud.retail.v2beta.Interval) facetValue_;
4427             }
4428             return com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
4429           } else {
4430             if (facetValueCase_ == 2) {
4431               return intervalBuilder_.getMessage();
4432             }
4433             return com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
4434           }
4435         }
4436         /**
4437          *
4438          *
4439          * <pre>
4440          * Interval value for a facet, such as [10, 20) for facet "price".
4441          * </pre>
4442          *
4443          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4444          */
setInterval(com.google.cloud.retail.v2beta.Interval value)4445         public Builder setInterval(com.google.cloud.retail.v2beta.Interval value) {
4446           if (intervalBuilder_ == null) {
4447             if (value == null) {
4448               throw new NullPointerException();
4449             }
4450             facetValue_ = value;
4451             onChanged();
4452           } else {
4453             intervalBuilder_.setMessage(value);
4454           }
4455           facetValueCase_ = 2;
4456           return this;
4457         }
4458         /**
4459          *
4460          *
4461          * <pre>
4462          * Interval value for a facet, such as [10, 20) for facet "price".
4463          * </pre>
4464          *
4465          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4466          */
setInterval( com.google.cloud.retail.v2beta.Interval.Builder builderForValue)4467         public Builder setInterval(
4468             com.google.cloud.retail.v2beta.Interval.Builder builderForValue) {
4469           if (intervalBuilder_ == null) {
4470             facetValue_ = builderForValue.build();
4471             onChanged();
4472           } else {
4473             intervalBuilder_.setMessage(builderForValue.build());
4474           }
4475           facetValueCase_ = 2;
4476           return this;
4477         }
4478         /**
4479          *
4480          *
4481          * <pre>
4482          * Interval value for a facet, such as [10, 20) for facet "price".
4483          * </pre>
4484          *
4485          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4486          */
mergeInterval(com.google.cloud.retail.v2beta.Interval value)4487         public Builder mergeInterval(com.google.cloud.retail.v2beta.Interval value) {
4488           if (intervalBuilder_ == null) {
4489             if (facetValueCase_ == 2
4490                 && facetValue_ != com.google.cloud.retail.v2beta.Interval.getDefaultInstance()) {
4491               facetValue_ =
4492                   com.google.cloud.retail.v2beta.Interval.newBuilder(
4493                           (com.google.cloud.retail.v2beta.Interval) facetValue_)
4494                       .mergeFrom(value)
4495                       .buildPartial();
4496             } else {
4497               facetValue_ = value;
4498             }
4499             onChanged();
4500           } else {
4501             if (facetValueCase_ == 2) {
4502               intervalBuilder_.mergeFrom(value);
4503             } else {
4504               intervalBuilder_.setMessage(value);
4505             }
4506           }
4507           facetValueCase_ = 2;
4508           return this;
4509         }
4510         /**
4511          *
4512          *
4513          * <pre>
4514          * Interval value for a facet, such as [10, 20) for facet "price".
4515          * </pre>
4516          *
4517          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4518          */
clearInterval()4519         public Builder clearInterval() {
4520           if (intervalBuilder_ == null) {
4521             if (facetValueCase_ == 2) {
4522               facetValueCase_ = 0;
4523               facetValue_ = null;
4524               onChanged();
4525             }
4526           } else {
4527             if (facetValueCase_ == 2) {
4528               facetValueCase_ = 0;
4529               facetValue_ = null;
4530             }
4531             intervalBuilder_.clear();
4532           }
4533           return this;
4534         }
4535         /**
4536          *
4537          *
4538          * <pre>
4539          * Interval value for a facet, such as [10, 20) for facet "price".
4540          * </pre>
4541          *
4542          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4543          */
getIntervalBuilder()4544         public com.google.cloud.retail.v2beta.Interval.Builder getIntervalBuilder() {
4545           return getIntervalFieldBuilder().getBuilder();
4546         }
4547         /**
4548          *
4549          *
4550          * <pre>
4551          * Interval value for a facet, such as [10, 20) for facet "price".
4552          * </pre>
4553          *
4554          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4555          */
4556         @java.lang.Override
getIntervalOrBuilder()4557         public com.google.cloud.retail.v2beta.IntervalOrBuilder getIntervalOrBuilder() {
4558           if ((facetValueCase_ == 2) && (intervalBuilder_ != null)) {
4559             return intervalBuilder_.getMessageOrBuilder();
4560           } else {
4561             if (facetValueCase_ == 2) {
4562               return (com.google.cloud.retail.v2beta.Interval) facetValue_;
4563             }
4564             return com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
4565           }
4566         }
4567         /**
4568          *
4569          *
4570          * <pre>
4571          * Interval value for a facet, such as [10, 20) for facet "price".
4572          * </pre>
4573          *
4574          * <code>.google.cloud.retail.v2beta.Interval interval = 2;</code>
4575          */
4576         private com.google.protobuf.SingleFieldBuilderV3<
4577                 com.google.cloud.retail.v2beta.Interval,
4578                 com.google.cloud.retail.v2beta.Interval.Builder,
4579                 com.google.cloud.retail.v2beta.IntervalOrBuilder>
getIntervalFieldBuilder()4580             getIntervalFieldBuilder() {
4581           if (intervalBuilder_ == null) {
4582             if (!(facetValueCase_ == 2)) {
4583               facetValue_ = com.google.cloud.retail.v2beta.Interval.getDefaultInstance();
4584             }
4585             intervalBuilder_ =
4586                 new com.google.protobuf.SingleFieldBuilderV3<
4587                     com.google.cloud.retail.v2beta.Interval,
4588                     com.google.cloud.retail.v2beta.Interval.Builder,
4589                     com.google.cloud.retail.v2beta.IntervalOrBuilder>(
4590                     (com.google.cloud.retail.v2beta.Interval) facetValue_,
4591                     getParentForChildren(),
4592                     isClean());
4593             facetValue_ = null;
4594           }
4595           facetValueCase_ = 2;
4596           onChanged();
4597           return intervalBuilder_;
4598         }
4599 
4600         private long count_;
4601         /**
4602          *
4603          *
4604          * <pre>
4605          * Number of items that have this facet value.
4606          * </pre>
4607          *
4608          * <code>int64 count = 3;</code>
4609          *
4610          * @return The count.
4611          */
4612         @java.lang.Override
getCount()4613         public long getCount() {
4614           return count_;
4615         }
4616         /**
4617          *
4618          *
4619          * <pre>
4620          * Number of items that have this facet value.
4621          * </pre>
4622          *
4623          * <code>int64 count = 3;</code>
4624          *
4625          * @param value The count to set.
4626          * @return This builder for chaining.
4627          */
setCount(long value)4628         public Builder setCount(long value) {
4629 
4630           count_ = value;
4631           bitField0_ |= 0x00000004;
4632           onChanged();
4633           return this;
4634         }
4635         /**
4636          *
4637          *
4638          * <pre>
4639          * Number of items that have this facet value.
4640          * </pre>
4641          *
4642          * <code>int64 count = 3;</code>
4643          *
4644          * @return This builder for chaining.
4645          */
clearCount()4646         public Builder clearCount() {
4647           bitField0_ = (bitField0_ & ~0x00000004);
4648           count_ = 0L;
4649           onChanged();
4650           return this;
4651         }
4652 
4653         private double minValue_;
4654         /**
4655          *
4656          *
4657          * <pre>
4658          * The minimum value in the
4659          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4660          * Only supported on numerical facets and returned if
4661          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4662          * is true.
4663          * </pre>
4664          *
4665          * <code>double min_value = 5;</code>
4666          *
4667          * @return The minValue.
4668          */
4669         @java.lang.Override
getMinValue()4670         public double getMinValue() {
4671           return minValue_;
4672         }
4673         /**
4674          *
4675          *
4676          * <pre>
4677          * The minimum value in the
4678          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4679          * Only supported on numerical facets and returned if
4680          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4681          * is true.
4682          * </pre>
4683          *
4684          * <code>double min_value = 5;</code>
4685          *
4686          * @param value The minValue to set.
4687          * @return This builder for chaining.
4688          */
setMinValue(double value)4689         public Builder setMinValue(double value) {
4690 
4691           minValue_ = value;
4692           bitField0_ |= 0x00000008;
4693           onChanged();
4694           return this;
4695         }
4696         /**
4697          *
4698          *
4699          * <pre>
4700          * The minimum value in the
4701          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4702          * Only supported on numerical facets and returned if
4703          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4704          * is true.
4705          * </pre>
4706          *
4707          * <code>double min_value = 5;</code>
4708          *
4709          * @return This builder for chaining.
4710          */
clearMinValue()4711         public Builder clearMinValue() {
4712           bitField0_ = (bitField0_ & ~0x00000008);
4713           minValue_ = 0D;
4714           onChanged();
4715           return this;
4716         }
4717 
4718         private double maxValue_;
4719         /**
4720          *
4721          *
4722          * <pre>
4723          * The maximum value in the
4724          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4725          * Only supported on numerical facets and returned if
4726          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4727          * is true.
4728          * </pre>
4729          *
4730          * <code>double max_value = 6;</code>
4731          *
4732          * @return The maxValue.
4733          */
4734         @java.lang.Override
getMaxValue()4735         public double getMaxValue() {
4736           return maxValue_;
4737         }
4738         /**
4739          *
4740          *
4741          * <pre>
4742          * The maximum value in the
4743          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4744          * Only supported on numerical facets and returned if
4745          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4746          * is true.
4747          * </pre>
4748          *
4749          * <code>double max_value = 6;</code>
4750          *
4751          * @param value The maxValue to set.
4752          * @return This builder for chaining.
4753          */
setMaxValue(double value)4754         public Builder setMaxValue(double value) {
4755 
4756           maxValue_ = value;
4757           bitField0_ |= 0x00000010;
4758           onChanged();
4759           return this;
4760         }
4761         /**
4762          *
4763          *
4764          * <pre>
4765          * The maximum value in the
4766          * [FacetValue.interval][google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.interval].
4767          * Only supported on numerical facets and returned if
4768          * [SearchRequest.FacetSpec.FacetKey.return_min_max][google.cloud.retail.v2beta.SearchRequest.FacetSpec.FacetKey.return_min_max]
4769          * is true.
4770          * </pre>
4771          *
4772          * <code>double max_value = 6;</code>
4773          *
4774          * @return This builder for chaining.
4775          */
clearMaxValue()4776         public Builder clearMaxValue() {
4777           bitField0_ = (bitField0_ & ~0x00000010);
4778           maxValue_ = 0D;
4779           onChanged();
4780           return this;
4781         }
4782 
4783         @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4784         public final Builder setUnknownFields(
4785             final com.google.protobuf.UnknownFieldSet unknownFields) {
4786           return super.setUnknownFields(unknownFields);
4787         }
4788 
4789         @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4790         public final Builder mergeUnknownFields(
4791             final com.google.protobuf.UnknownFieldSet unknownFields) {
4792           return super.mergeUnknownFields(unknownFields);
4793         }
4794 
4795         // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)
4796       }
4797 
4798       // @@protoc_insertion_point(class_scope:google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue)
4799       private static final com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
4800           DEFAULT_INSTANCE;
4801 
4802       static {
4803         DEFAULT_INSTANCE = new com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue();
4804       }
4805 
4806       public static com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
getDefaultInstance()4807           getDefaultInstance() {
4808         return DEFAULT_INSTANCE;
4809       }
4810 
4811       private static final com.google.protobuf.Parser<FacetValue> PARSER =
4812           new com.google.protobuf.AbstractParser<FacetValue>() {
4813             @java.lang.Override
4814             public FacetValue parsePartialFrom(
4815                 com.google.protobuf.CodedInputStream input,
4816                 com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4817                 throws com.google.protobuf.InvalidProtocolBufferException {
4818               Builder builder = newBuilder();
4819               try {
4820                 builder.mergeFrom(input, extensionRegistry);
4821               } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4822                 throw e.setUnfinishedMessage(builder.buildPartial());
4823               } catch (com.google.protobuf.UninitializedMessageException e) {
4824                 throw e.asInvalidProtocolBufferException()
4825                     .setUnfinishedMessage(builder.buildPartial());
4826               } catch (java.io.IOException e) {
4827                 throw new com.google.protobuf.InvalidProtocolBufferException(e)
4828                     .setUnfinishedMessage(builder.buildPartial());
4829               }
4830               return builder.buildPartial();
4831             }
4832           };
4833 
parser()4834       public static com.google.protobuf.Parser<FacetValue> parser() {
4835         return PARSER;
4836       }
4837 
4838       @java.lang.Override
getParserForType()4839       public com.google.protobuf.Parser<FacetValue> getParserForType() {
4840         return PARSER;
4841       }
4842 
4843       @java.lang.Override
4844       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
getDefaultInstanceForType()4845           getDefaultInstanceForType() {
4846         return DEFAULT_INSTANCE;
4847       }
4848     }
4849 
4850     public static final int KEY_FIELD_NUMBER = 1;
4851 
4852     @SuppressWarnings("serial")
4853     private volatile java.lang.Object key_ = "";
4854     /**
4855      *
4856      *
4857      * <pre>
4858      * The key for this facet. E.g., "colorFamilies" or "price" or
4859      * "attributes.attr1".
4860      * </pre>
4861      *
4862      * <code>string key = 1;</code>
4863      *
4864      * @return The key.
4865      */
4866     @java.lang.Override
getKey()4867     public java.lang.String getKey() {
4868       java.lang.Object ref = key_;
4869       if (ref instanceof java.lang.String) {
4870         return (java.lang.String) ref;
4871       } else {
4872         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4873         java.lang.String s = bs.toStringUtf8();
4874         key_ = s;
4875         return s;
4876       }
4877     }
4878     /**
4879      *
4880      *
4881      * <pre>
4882      * The key for this facet. E.g., "colorFamilies" or "price" or
4883      * "attributes.attr1".
4884      * </pre>
4885      *
4886      * <code>string key = 1;</code>
4887      *
4888      * @return The bytes for key.
4889      */
4890     @java.lang.Override
getKeyBytes()4891     public com.google.protobuf.ByteString getKeyBytes() {
4892       java.lang.Object ref = key_;
4893       if (ref instanceof java.lang.String) {
4894         com.google.protobuf.ByteString b =
4895             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4896         key_ = b;
4897         return b;
4898       } else {
4899         return (com.google.protobuf.ByteString) ref;
4900       }
4901     }
4902 
4903     public static final int VALUES_FIELD_NUMBER = 2;
4904 
4905     @SuppressWarnings("serial")
4906     private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue> values_;
4907     /**
4908      *
4909      *
4910      * <pre>
4911      * The facet values for this field.
4912      * </pre>
4913      *
4914      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
4915      */
4916     @java.lang.Override
4917     public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue>
getValuesList()4918         getValuesList() {
4919       return values_;
4920     }
4921     /**
4922      *
4923      *
4924      * <pre>
4925      * The facet values for this field.
4926      * </pre>
4927      *
4928      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
4929      */
4930     @java.lang.Override
4931     public java.util.List<
4932             ? extends com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>
getValuesOrBuilderList()4933         getValuesOrBuilderList() {
4934       return values_;
4935     }
4936     /**
4937      *
4938      *
4939      * <pre>
4940      * The facet values for this field.
4941      * </pre>
4942      *
4943      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
4944      */
4945     @java.lang.Override
getValuesCount()4946     public int getValuesCount() {
4947       return values_.size();
4948     }
4949     /**
4950      *
4951      *
4952      * <pre>
4953      * The facet values for this field.
4954      * </pre>
4955      *
4956      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
4957      */
4958     @java.lang.Override
getValues(int index)4959     public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue getValues(int index) {
4960       return values_.get(index);
4961     }
4962     /**
4963      *
4964      *
4965      * <pre>
4966      * The facet values for this field.
4967      * </pre>
4968      *
4969      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;</code>
4970      */
4971     @java.lang.Override
4972     public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder
getValuesOrBuilder(int index)4973         getValuesOrBuilder(int index) {
4974       return values_.get(index);
4975     }
4976 
4977     public static final int DYNAMIC_FACET_FIELD_NUMBER = 3;
4978     private boolean dynamicFacet_ = false;
4979     /**
4980      *
4981      *
4982      * <pre>
4983      * Whether the facet is dynamically generated.
4984      * </pre>
4985      *
4986      * <code>bool dynamic_facet = 3;</code>
4987      *
4988      * @return The dynamicFacet.
4989      */
4990     @java.lang.Override
getDynamicFacet()4991     public boolean getDynamicFacet() {
4992       return dynamicFacet_;
4993     }
4994 
4995     private byte memoizedIsInitialized = -1;
4996 
4997     @java.lang.Override
isInitialized()4998     public final boolean isInitialized() {
4999       byte isInitialized = memoizedIsInitialized;
5000       if (isInitialized == 1) return true;
5001       if (isInitialized == 0) return false;
5002 
5003       memoizedIsInitialized = 1;
5004       return true;
5005     }
5006 
5007     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)5008     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
5009       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(key_)) {
5010         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, key_);
5011       }
5012       for (int i = 0; i < values_.size(); i++) {
5013         output.writeMessage(2, values_.get(i));
5014       }
5015       if (dynamicFacet_ != false) {
5016         output.writeBool(3, dynamicFacet_);
5017       }
5018       getUnknownFields().writeTo(output);
5019     }
5020 
5021     @java.lang.Override
getSerializedSize()5022     public int getSerializedSize() {
5023       int size = memoizedSize;
5024       if (size != -1) return size;
5025 
5026       size = 0;
5027       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(key_)) {
5028         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, key_);
5029       }
5030       for (int i = 0; i < values_.size(); i++) {
5031         size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, values_.get(i));
5032       }
5033       if (dynamicFacet_ != false) {
5034         size += com.google.protobuf.CodedOutputStream.computeBoolSize(3, dynamicFacet_);
5035       }
5036       size += getUnknownFields().getSerializedSize();
5037       memoizedSize = size;
5038       return size;
5039     }
5040 
5041     @java.lang.Override
equals(final java.lang.Object obj)5042     public boolean equals(final java.lang.Object obj) {
5043       if (obj == this) {
5044         return true;
5045       }
5046       if (!(obj instanceof com.google.cloud.retail.v2beta.SearchResponse.Facet)) {
5047         return super.equals(obj);
5048       }
5049       com.google.cloud.retail.v2beta.SearchResponse.Facet other =
5050           (com.google.cloud.retail.v2beta.SearchResponse.Facet) obj;
5051 
5052       if (!getKey().equals(other.getKey())) return false;
5053       if (!getValuesList().equals(other.getValuesList())) return false;
5054       if (getDynamicFacet() != other.getDynamicFacet()) return false;
5055       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
5056       return true;
5057     }
5058 
5059     @java.lang.Override
hashCode()5060     public int hashCode() {
5061       if (memoizedHashCode != 0) {
5062         return memoizedHashCode;
5063       }
5064       int hash = 41;
5065       hash = (19 * hash) + getDescriptor().hashCode();
5066       hash = (37 * hash) + KEY_FIELD_NUMBER;
5067       hash = (53 * hash) + getKey().hashCode();
5068       if (getValuesCount() > 0) {
5069         hash = (37 * hash) + VALUES_FIELD_NUMBER;
5070         hash = (53 * hash) + getValuesList().hashCode();
5071       }
5072       hash = (37 * hash) + DYNAMIC_FACET_FIELD_NUMBER;
5073       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDynamicFacet());
5074       hash = (29 * hash) + getUnknownFields().hashCode();
5075       memoizedHashCode = hash;
5076       return hash;
5077     }
5078 
parseFrom( java.nio.ByteBuffer data)5079     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5080         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
5081       return PARSER.parseFrom(data);
5082     }
5083 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5084     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5085         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5086         throws com.google.protobuf.InvalidProtocolBufferException {
5087       return PARSER.parseFrom(data, extensionRegistry);
5088     }
5089 
parseFrom( com.google.protobuf.ByteString data)5090     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5091         com.google.protobuf.ByteString data)
5092         throws com.google.protobuf.InvalidProtocolBufferException {
5093       return PARSER.parseFrom(data);
5094     }
5095 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5096     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5097         com.google.protobuf.ByteString data,
5098         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5099         throws com.google.protobuf.InvalidProtocolBufferException {
5100       return PARSER.parseFrom(data, extensionRegistry);
5101     }
5102 
parseFrom(byte[] data)5103     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(byte[] data)
5104         throws com.google.protobuf.InvalidProtocolBufferException {
5105       return PARSER.parseFrom(data);
5106     }
5107 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5108     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5109         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5110         throws com.google.protobuf.InvalidProtocolBufferException {
5111       return PARSER.parseFrom(data, extensionRegistry);
5112     }
5113 
parseFrom( java.io.InputStream input)5114     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5115         java.io.InputStream input) throws java.io.IOException {
5116       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5117     }
5118 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5119     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5120         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5121         throws java.io.IOException {
5122       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5123           PARSER, input, extensionRegistry);
5124     }
5125 
parseDelimitedFrom( java.io.InputStream input)5126     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseDelimitedFrom(
5127         java.io.InputStream input) throws java.io.IOException {
5128       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
5129     }
5130 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5131     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseDelimitedFrom(
5132         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5133         throws java.io.IOException {
5134       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
5135           PARSER, input, extensionRegistry);
5136     }
5137 
parseFrom( com.google.protobuf.CodedInputStream input)5138     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5139         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
5140       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
5141     }
5142 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5143     public static com.google.cloud.retail.v2beta.SearchResponse.Facet parseFrom(
5144         com.google.protobuf.CodedInputStream input,
5145         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5146         throws java.io.IOException {
5147       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
5148           PARSER, input, extensionRegistry);
5149     }
5150 
5151     @java.lang.Override
newBuilderForType()5152     public Builder newBuilderForType() {
5153       return newBuilder();
5154     }
5155 
newBuilder()5156     public static Builder newBuilder() {
5157       return DEFAULT_INSTANCE.toBuilder();
5158     }
5159 
newBuilder( com.google.cloud.retail.v2beta.SearchResponse.Facet prototype)5160     public static Builder newBuilder(
5161         com.google.cloud.retail.v2beta.SearchResponse.Facet prototype) {
5162       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
5163     }
5164 
5165     @java.lang.Override
toBuilder()5166     public Builder toBuilder() {
5167       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
5168     }
5169 
5170     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5171     protected Builder newBuilderForType(
5172         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5173       Builder builder = new Builder(parent);
5174       return builder;
5175     }
5176     /**
5177      *
5178      *
5179      * <pre>
5180      * A facet result.
5181      * </pre>
5182      *
5183      * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.Facet}
5184      */
5185     public static final class Builder
5186         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
5187         implements
5188         // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2beta.SearchResponse.Facet)
5189         com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder {
getDescriptor()5190       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
5191         return com.google.cloud.retail.v2beta.SearchServiceProto
5192             .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_descriptor;
5193       }
5194 
5195       @java.lang.Override
5196       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()5197           internalGetFieldAccessorTable() {
5198         return com.google.cloud.retail.v2beta.SearchServiceProto
5199             .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_fieldAccessorTable
5200             .ensureFieldAccessorsInitialized(
5201                 com.google.cloud.retail.v2beta.SearchResponse.Facet.class,
5202                 com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder.class);
5203       }
5204 
5205       // Construct using com.google.cloud.retail.v2beta.SearchResponse.Facet.newBuilder()
Builder()5206       private Builder() {}
5207 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)5208       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
5209         super(parent);
5210       }
5211 
5212       @java.lang.Override
clear()5213       public Builder clear() {
5214         super.clear();
5215         bitField0_ = 0;
5216         key_ = "";
5217         if (valuesBuilder_ == null) {
5218           values_ = java.util.Collections.emptyList();
5219         } else {
5220           values_ = null;
5221           valuesBuilder_.clear();
5222         }
5223         bitField0_ = (bitField0_ & ~0x00000002);
5224         dynamicFacet_ = false;
5225         return this;
5226       }
5227 
5228       @java.lang.Override
getDescriptorForType()5229       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
5230         return com.google.cloud.retail.v2beta.SearchServiceProto
5231             .internal_static_google_cloud_retail_v2beta_SearchResponse_Facet_descriptor;
5232       }
5233 
5234       @java.lang.Override
getDefaultInstanceForType()5235       public com.google.cloud.retail.v2beta.SearchResponse.Facet getDefaultInstanceForType() {
5236         return com.google.cloud.retail.v2beta.SearchResponse.Facet.getDefaultInstance();
5237       }
5238 
5239       @java.lang.Override
build()5240       public com.google.cloud.retail.v2beta.SearchResponse.Facet build() {
5241         com.google.cloud.retail.v2beta.SearchResponse.Facet result = buildPartial();
5242         if (!result.isInitialized()) {
5243           throw newUninitializedMessageException(result);
5244         }
5245         return result;
5246       }
5247 
5248       @java.lang.Override
buildPartial()5249       public com.google.cloud.retail.v2beta.SearchResponse.Facet buildPartial() {
5250         com.google.cloud.retail.v2beta.SearchResponse.Facet result =
5251             new com.google.cloud.retail.v2beta.SearchResponse.Facet(this);
5252         buildPartialRepeatedFields(result);
5253         if (bitField0_ != 0) {
5254           buildPartial0(result);
5255         }
5256         onBuilt();
5257         return result;
5258       }
5259 
buildPartialRepeatedFields( com.google.cloud.retail.v2beta.SearchResponse.Facet result)5260       private void buildPartialRepeatedFields(
5261           com.google.cloud.retail.v2beta.SearchResponse.Facet result) {
5262         if (valuesBuilder_ == null) {
5263           if (((bitField0_ & 0x00000002) != 0)) {
5264             values_ = java.util.Collections.unmodifiableList(values_);
5265             bitField0_ = (bitField0_ & ~0x00000002);
5266           }
5267           result.values_ = values_;
5268         } else {
5269           result.values_ = valuesBuilder_.build();
5270         }
5271       }
5272 
buildPartial0(com.google.cloud.retail.v2beta.SearchResponse.Facet result)5273       private void buildPartial0(com.google.cloud.retail.v2beta.SearchResponse.Facet result) {
5274         int from_bitField0_ = bitField0_;
5275         if (((from_bitField0_ & 0x00000001) != 0)) {
5276           result.key_ = key_;
5277         }
5278         if (((from_bitField0_ & 0x00000004) != 0)) {
5279           result.dynamicFacet_ = dynamicFacet_;
5280         }
5281       }
5282 
5283       @java.lang.Override
clone()5284       public Builder clone() {
5285         return super.clone();
5286       }
5287 
5288       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5289       public Builder setField(
5290           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5291         return super.setField(field, value);
5292       }
5293 
5294       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)5295       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
5296         return super.clearField(field);
5297       }
5298 
5299       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)5300       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
5301         return super.clearOneof(oneof);
5302       }
5303 
5304       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)5305       public Builder setRepeatedField(
5306           com.google.protobuf.Descriptors.FieldDescriptor field,
5307           int index,
5308           java.lang.Object value) {
5309         return super.setRepeatedField(field, index, value);
5310       }
5311 
5312       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)5313       public Builder addRepeatedField(
5314           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
5315         return super.addRepeatedField(field, value);
5316       }
5317 
5318       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)5319       public Builder mergeFrom(com.google.protobuf.Message other) {
5320         if (other instanceof com.google.cloud.retail.v2beta.SearchResponse.Facet) {
5321           return mergeFrom((com.google.cloud.retail.v2beta.SearchResponse.Facet) other);
5322         } else {
5323           super.mergeFrom(other);
5324           return this;
5325         }
5326       }
5327 
mergeFrom(com.google.cloud.retail.v2beta.SearchResponse.Facet other)5328       public Builder mergeFrom(com.google.cloud.retail.v2beta.SearchResponse.Facet other) {
5329         if (other == com.google.cloud.retail.v2beta.SearchResponse.Facet.getDefaultInstance())
5330           return this;
5331         if (!other.getKey().isEmpty()) {
5332           key_ = other.key_;
5333           bitField0_ |= 0x00000001;
5334           onChanged();
5335         }
5336         if (valuesBuilder_ == null) {
5337           if (!other.values_.isEmpty()) {
5338             if (values_.isEmpty()) {
5339               values_ = other.values_;
5340               bitField0_ = (bitField0_ & ~0x00000002);
5341             } else {
5342               ensureValuesIsMutable();
5343               values_.addAll(other.values_);
5344             }
5345             onChanged();
5346           }
5347         } else {
5348           if (!other.values_.isEmpty()) {
5349             if (valuesBuilder_.isEmpty()) {
5350               valuesBuilder_.dispose();
5351               valuesBuilder_ = null;
5352               values_ = other.values_;
5353               bitField0_ = (bitField0_ & ~0x00000002);
5354               valuesBuilder_ =
5355                   com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
5356                       ? getValuesFieldBuilder()
5357                       : null;
5358             } else {
5359               valuesBuilder_.addAllMessages(other.values_);
5360             }
5361           }
5362         }
5363         if (other.getDynamicFacet() != false) {
5364           setDynamicFacet(other.getDynamicFacet());
5365         }
5366         this.mergeUnknownFields(other.getUnknownFields());
5367         onChanged();
5368         return this;
5369       }
5370 
5371       @java.lang.Override
isInitialized()5372       public final boolean isInitialized() {
5373         return true;
5374       }
5375 
5376       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)5377       public Builder mergeFrom(
5378           com.google.protobuf.CodedInputStream input,
5379           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
5380           throws java.io.IOException {
5381         if (extensionRegistry == null) {
5382           throw new java.lang.NullPointerException();
5383         }
5384         try {
5385           boolean done = false;
5386           while (!done) {
5387             int tag = input.readTag();
5388             switch (tag) {
5389               case 0:
5390                 done = true;
5391                 break;
5392               case 10:
5393                 {
5394                   key_ = input.readStringRequireUtf8();
5395                   bitField0_ |= 0x00000001;
5396                   break;
5397                 } // case 10
5398               case 18:
5399                 {
5400                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue m =
5401                       input.readMessage(
5402                           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.parser(),
5403                           extensionRegistry);
5404                   if (valuesBuilder_ == null) {
5405                     ensureValuesIsMutable();
5406                     values_.add(m);
5407                   } else {
5408                     valuesBuilder_.addMessage(m);
5409                   }
5410                   break;
5411                 } // case 18
5412               case 24:
5413                 {
5414                   dynamicFacet_ = input.readBool();
5415                   bitField0_ |= 0x00000004;
5416                   break;
5417                 } // case 24
5418               default:
5419                 {
5420                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
5421                     done = true; // was an endgroup tag
5422                   }
5423                   break;
5424                 } // default:
5425             } // switch (tag)
5426           } // while (!done)
5427         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
5428           throw e.unwrapIOException();
5429         } finally {
5430           onChanged();
5431         } // finally
5432         return this;
5433       }
5434 
5435       private int bitField0_;
5436 
5437       private java.lang.Object key_ = "";
5438       /**
5439        *
5440        *
5441        * <pre>
5442        * The key for this facet. E.g., "colorFamilies" or "price" or
5443        * "attributes.attr1".
5444        * </pre>
5445        *
5446        * <code>string key = 1;</code>
5447        *
5448        * @return The key.
5449        */
getKey()5450       public java.lang.String getKey() {
5451         java.lang.Object ref = key_;
5452         if (!(ref instanceof java.lang.String)) {
5453           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
5454           java.lang.String s = bs.toStringUtf8();
5455           key_ = s;
5456           return s;
5457         } else {
5458           return (java.lang.String) ref;
5459         }
5460       }
5461       /**
5462        *
5463        *
5464        * <pre>
5465        * The key for this facet. E.g., "colorFamilies" or "price" or
5466        * "attributes.attr1".
5467        * </pre>
5468        *
5469        * <code>string key = 1;</code>
5470        *
5471        * @return The bytes for key.
5472        */
getKeyBytes()5473       public com.google.protobuf.ByteString getKeyBytes() {
5474         java.lang.Object ref = key_;
5475         if (ref instanceof String) {
5476           com.google.protobuf.ByteString b =
5477               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
5478           key_ = b;
5479           return b;
5480         } else {
5481           return (com.google.protobuf.ByteString) ref;
5482         }
5483       }
5484       /**
5485        *
5486        *
5487        * <pre>
5488        * The key for this facet. E.g., "colorFamilies" or "price" or
5489        * "attributes.attr1".
5490        * </pre>
5491        *
5492        * <code>string key = 1;</code>
5493        *
5494        * @param value The key to set.
5495        * @return This builder for chaining.
5496        */
setKey(java.lang.String value)5497       public Builder setKey(java.lang.String value) {
5498         if (value == null) {
5499           throw new NullPointerException();
5500         }
5501         key_ = value;
5502         bitField0_ |= 0x00000001;
5503         onChanged();
5504         return this;
5505       }
5506       /**
5507        *
5508        *
5509        * <pre>
5510        * The key for this facet. E.g., "colorFamilies" or "price" or
5511        * "attributes.attr1".
5512        * </pre>
5513        *
5514        * <code>string key = 1;</code>
5515        *
5516        * @return This builder for chaining.
5517        */
clearKey()5518       public Builder clearKey() {
5519         key_ = getDefaultInstance().getKey();
5520         bitField0_ = (bitField0_ & ~0x00000001);
5521         onChanged();
5522         return this;
5523       }
5524       /**
5525        *
5526        *
5527        * <pre>
5528        * The key for this facet. E.g., "colorFamilies" or "price" or
5529        * "attributes.attr1".
5530        * </pre>
5531        *
5532        * <code>string key = 1;</code>
5533        *
5534        * @param value The bytes for key to set.
5535        * @return This builder for chaining.
5536        */
setKeyBytes(com.google.protobuf.ByteString value)5537       public Builder setKeyBytes(com.google.protobuf.ByteString value) {
5538         if (value == null) {
5539           throw new NullPointerException();
5540         }
5541         checkByteStringIsUtf8(value);
5542         key_ = value;
5543         bitField0_ |= 0x00000001;
5544         onChanged();
5545         return this;
5546       }
5547 
5548       private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue>
5549           values_ = java.util.Collections.emptyList();
5550 
ensureValuesIsMutable()5551       private void ensureValuesIsMutable() {
5552         if (!((bitField0_ & 0x00000002) != 0)) {
5553           values_ =
5554               new java.util.ArrayList<
5555                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue>(values_);
5556           bitField0_ |= 0x00000002;
5557         }
5558       }
5559 
5560       private com.google.protobuf.RepeatedFieldBuilderV3<
5561               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue,
5562               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder,
5563               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>
5564           valuesBuilder_;
5565 
5566       /**
5567        *
5568        *
5569        * <pre>
5570        * The facet values for this field.
5571        * </pre>
5572        *
5573        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5574        * </code>
5575        */
5576       public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue>
getValuesList()5577           getValuesList() {
5578         if (valuesBuilder_ == null) {
5579           return java.util.Collections.unmodifiableList(values_);
5580         } else {
5581           return valuesBuilder_.getMessageList();
5582         }
5583       }
5584       /**
5585        *
5586        *
5587        * <pre>
5588        * The facet values for this field.
5589        * </pre>
5590        *
5591        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5592        * </code>
5593        */
getValuesCount()5594       public int getValuesCount() {
5595         if (valuesBuilder_ == null) {
5596           return values_.size();
5597         } else {
5598           return valuesBuilder_.getCount();
5599         }
5600       }
5601       /**
5602        *
5603        *
5604        * <pre>
5605        * The facet values for this field.
5606        * </pre>
5607        *
5608        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5609        * </code>
5610        */
getValues(int index)5611       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue getValues(int index) {
5612         if (valuesBuilder_ == null) {
5613           return values_.get(index);
5614         } else {
5615           return valuesBuilder_.getMessage(index);
5616         }
5617       }
5618       /**
5619        *
5620        *
5621        * <pre>
5622        * The facet values for this field.
5623        * </pre>
5624        *
5625        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5626        * </code>
5627        */
setValues( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value)5628       public Builder setValues(
5629           int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value) {
5630         if (valuesBuilder_ == null) {
5631           if (value == null) {
5632             throw new NullPointerException();
5633           }
5634           ensureValuesIsMutable();
5635           values_.set(index, value);
5636           onChanged();
5637         } else {
5638           valuesBuilder_.setMessage(index, value);
5639         }
5640         return this;
5641       }
5642       /**
5643        *
5644        *
5645        * <pre>
5646        * The facet values for this field.
5647        * </pre>
5648        *
5649        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5650        * </code>
5651        */
setValues( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue)5652       public Builder setValues(
5653           int index,
5654           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue) {
5655         if (valuesBuilder_ == null) {
5656           ensureValuesIsMutable();
5657           values_.set(index, builderForValue.build());
5658           onChanged();
5659         } else {
5660           valuesBuilder_.setMessage(index, builderForValue.build());
5661         }
5662         return this;
5663       }
5664       /**
5665        *
5666        *
5667        * <pre>
5668        * The facet values for this field.
5669        * </pre>
5670        *
5671        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5672        * </code>
5673        */
addValues( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value)5674       public Builder addValues(
5675           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value) {
5676         if (valuesBuilder_ == null) {
5677           if (value == null) {
5678             throw new NullPointerException();
5679           }
5680           ensureValuesIsMutable();
5681           values_.add(value);
5682           onChanged();
5683         } else {
5684           valuesBuilder_.addMessage(value);
5685         }
5686         return this;
5687       }
5688       /**
5689        *
5690        *
5691        * <pre>
5692        * The facet values for this field.
5693        * </pre>
5694        *
5695        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5696        * </code>
5697        */
addValues( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value)5698       public Builder addValues(
5699           int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue value) {
5700         if (valuesBuilder_ == null) {
5701           if (value == null) {
5702             throw new NullPointerException();
5703           }
5704           ensureValuesIsMutable();
5705           values_.add(index, value);
5706           onChanged();
5707         } else {
5708           valuesBuilder_.addMessage(index, value);
5709         }
5710         return this;
5711       }
5712       /**
5713        *
5714        *
5715        * <pre>
5716        * The facet values for this field.
5717        * </pre>
5718        *
5719        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5720        * </code>
5721        */
addValues( com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue)5722       public Builder addValues(
5723           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue) {
5724         if (valuesBuilder_ == null) {
5725           ensureValuesIsMutable();
5726           values_.add(builderForValue.build());
5727           onChanged();
5728         } else {
5729           valuesBuilder_.addMessage(builderForValue.build());
5730         }
5731         return this;
5732       }
5733       /**
5734        *
5735        *
5736        * <pre>
5737        * The facet values for this field.
5738        * </pre>
5739        *
5740        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5741        * </code>
5742        */
addValues( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue)5743       public Builder addValues(
5744           int index,
5745           com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder builderForValue) {
5746         if (valuesBuilder_ == null) {
5747           ensureValuesIsMutable();
5748           values_.add(index, builderForValue.build());
5749           onChanged();
5750         } else {
5751           valuesBuilder_.addMessage(index, builderForValue.build());
5752         }
5753         return this;
5754       }
5755       /**
5756        *
5757        *
5758        * <pre>
5759        * The facet values for this field.
5760        * </pre>
5761        *
5762        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5763        * </code>
5764        */
addAllValues( java.lang.Iterable< ? extends com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue> values)5765       public Builder addAllValues(
5766           java.lang.Iterable<
5767                   ? extends com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue>
5768               values) {
5769         if (valuesBuilder_ == null) {
5770           ensureValuesIsMutable();
5771           com.google.protobuf.AbstractMessageLite.Builder.addAll(values, values_);
5772           onChanged();
5773         } else {
5774           valuesBuilder_.addAllMessages(values);
5775         }
5776         return this;
5777       }
5778       /**
5779        *
5780        *
5781        * <pre>
5782        * The facet values for this field.
5783        * </pre>
5784        *
5785        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5786        * </code>
5787        */
clearValues()5788       public Builder clearValues() {
5789         if (valuesBuilder_ == null) {
5790           values_ = java.util.Collections.emptyList();
5791           bitField0_ = (bitField0_ & ~0x00000002);
5792           onChanged();
5793         } else {
5794           valuesBuilder_.clear();
5795         }
5796         return this;
5797       }
5798       /**
5799        *
5800        *
5801        * <pre>
5802        * The facet values for this field.
5803        * </pre>
5804        *
5805        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5806        * </code>
5807        */
removeValues(int index)5808       public Builder removeValues(int index) {
5809         if (valuesBuilder_ == null) {
5810           ensureValuesIsMutable();
5811           values_.remove(index);
5812           onChanged();
5813         } else {
5814           valuesBuilder_.remove(index);
5815         }
5816         return this;
5817       }
5818       /**
5819        *
5820        *
5821        * <pre>
5822        * The facet values for this field.
5823        * </pre>
5824        *
5825        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5826        * </code>
5827        */
5828       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder
getValuesBuilder(int index)5829           getValuesBuilder(int index) {
5830         return getValuesFieldBuilder().getBuilder(index);
5831       }
5832       /**
5833        *
5834        *
5835        * <pre>
5836        * The facet values for this field.
5837        * </pre>
5838        *
5839        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5840        * </code>
5841        */
5842       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder
getValuesOrBuilder(int index)5843           getValuesOrBuilder(int index) {
5844         if (valuesBuilder_ == null) {
5845           return values_.get(index);
5846         } else {
5847           return valuesBuilder_.getMessageOrBuilder(index);
5848         }
5849       }
5850       /**
5851        *
5852        *
5853        * <pre>
5854        * The facet values for this field.
5855        * </pre>
5856        *
5857        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5858        * </code>
5859        */
5860       public java.util.List<
5861               ? extends com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>
getValuesOrBuilderList()5862           getValuesOrBuilderList() {
5863         if (valuesBuilder_ != null) {
5864           return valuesBuilder_.getMessageOrBuilderList();
5865         } else {
5866           return java.util.Collections.unmodifiableList(values_);
5867         }
5868       }
5869       /**
5870        *
5871        *
5872        * <pre>
5873        * The facet values for this field.
5874        * </pre>
5875        *
5876        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5877        * </code>
5878        */
5879       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder
addValuesBuilder()5880           addValuesBuilder() {
5881         return getValuesFieldBuilder()
5882             .addBuilder(
5883                 com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
5884                     .getDefaultInstance());
5885       }
5886       /**
5887        *
5888        *
5889        * <pre>
5890        * The facet values for this field.
5891        * </pre>
5892        *
5893        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5894        * </code>
5895        */
5896       public com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder
addValuesBuilder(int index)5897           addValuesBuilder(int index) {
5898         return getValuesFieldBuilder()
5899             .addBuilder(
5900                 index,
5901                 com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue
5902                     .getDefaultInstance());
5903       }
5904       /**
5905        *
5906        *
5907        * <pre>
5908        * The facet values for this field.
5909        * </pre>
5910        *
5911        * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue values = 2;
5912        * </code>
5913        */
5914       public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder>
getValuesBuilderList()5915           getValuesBuilderList() {
5916         return getValuesFieldBuilder().getBuilderList();
5917       }
5918 
5919       private com.google.protobuf.RepeatedFieldBuilderV3<
5920               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue,
5921               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder,
5922               com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>
getValuesFieldBuilder()5923           getValuesFieldBuilder() {
5924         if (valuesBuilder_ == null) {
5925           valuesBuilder_ =
5926               new com.google.protobuf.RepeatedFieldBuilderV3<
5927                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue,
5928                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValue.Builder,
5929                   com.google.cloud.retail.v2beta.SearchResponse.Facet.FacetValueOrBuilder>(
5930                   values_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
5931           values_ = null;
5932         }
5933         return valuesBuilder_;
5934       }
5935 
5936       private boolean dynamicFacet_;
5937       /**
5938        *
5939        *
5940        * <pre>
5941        * Whether the facet is dynamically generated.
5942        * </pre>
5943        *
5944        * <code>bool dynamic_facet = 3;</code>
5945        *
5946        * @return The dynamicFacet.
5947        */
5948       @java.lang.Override
getDynamicFacet()5949       public boolean getDynamicFacet() {
5950         return dynamicFacet_;
5951       }
5952       /**
5953        *
5954        *
5955        * <pre>
5956        * Whether the facet is dynamically generated.
5957        * </pre>
5958        *
5959        * <code>bool dynamic_facet = 3;</code>
5960        *
5961        * @param value The dynamicFacet to set.
5962        * @return This builder for chaining.
5963        */
setDynamicFacet(boolean value)5964       public Builder setDynamicFacet(boolean value) {
5965 
5966         dynamicFacet_ = value;
5967         bitField0_ |= 0x00000004;
5968         onChanged();
5969         return this;
5970       }
5971       /**
5972        *
5973        *
5974        * <pre>
5975        * Whether the facet is dynamically generated.
5976        * </pre>
5977        *
5978        * <code>bool dynamic_facet = 3;</code>
5979        *
5980        * @return This builder for chaining.
5981        */
clearDynamicFacet()5982       public Builder clearDynamicFacet() {
5983         bitField0_ = (bitField0_ & ~0x00000004);
5984         dynamicFacet_ = false;
5985         onChanged();
5986         return this;
5987       }
5988 
5989       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)5990       public final Builder setUnknownFields(
5991           final com.google.protobuf.UnknownFieldSet unknownFields) {
5992         return super.setUnknownFields(unknownFields);
5993       }
5994 
5995       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)5996       public final Builder mergeUnknownFields(
5997           final com.google.protobuf.UnknownFieldSet unknownFields) {
5998         return super.mergeUnknownFields(unknownFields);
5999       }
6000 
6001       // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2beta.SearchResponse.Facet)
6002     }
6003 
6004     // @@protoc_insertion_point(class_scope:google.cloud.retail.v2beta.SearchResponse.Facet)
6005     private static final com.google.cloud.retail.v2beta.SearchResponse.Facet DEFAULT_INSTANCE;
6006 
6007     static {
6008       DEFAULT_INSTANCE = new com.google.cloud.retail.v2beta.SearchResponse.Facet();
6009     }
6010 
getDefaultInstance()6011     public static com.google.cloud.retail.v2beta.SearchResponse.Facet getDefaultInstance() {
6012       return DEFAULT_INSTANCE;
6013     }
6014 
6015     private static final com.google.protobuf.Parser<Facet> PARSER =
6016         new com.google.protobuf.AbstractParser<Facet>() {
6017           @java.lang.Override
6018           public Facet parsePartialFrom(
6019               com.google.protobuf.CodedInputStream input,
6020               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6021               throws com.google.protobuf.InvalidProtocolBufferException {
6022             Builder builder = newBuilder();
6023             try {
6024               builder.mergeFrom(input, extensionRegistry);
6025             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6026               throw e.setUnfinishedMessage(builder.buildPartial());
6027             } catch (com.google.protobuf.UninitializedMessageException e) {
6028               throw e.asInvalidProtocolBufferException()
6029                   .setUnfinishedMessage(builder.buildPartial());
6030             } catch (java.io.IOException e) {
6031               throw new com.google.protobuf.InvalidProtocolBufferException(e)
6032                   .setUnfinishedMessage(builder.buildPartial());
6033             }
6034             return builder.buildPartial();
6035           }
6036         };
6037 
parser()6038     public static com.google.protobuf.Parser<Facet> parser() {
6039       return PARSER;
6040     }
6041 
6042     @java.lang.Override
getParserForType()6043     public com.google.protobuf.Parser<Facet> getParserForType() {
6044       return PARSER;
6045     }
6046 
6047     @java.lang.Override
getDefaultInstanceForType()6048     public com.google.cloud.retail.v2beta.SearchResponse.Facet getDefaultInstanceForType() {
6049       return DEFAULT_INSTANCE;
6050     }
6051   }
6052 
6053   public interface QueryExpansionInfoOrBuilder
6054       extends
6055       // @@protoc_insertion_point(interface_extends:google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)
6056       com.google.protobuf.MessageOrBuilder {
6057 
6058     /**
6059      *
6060      *
6061      * <pre>
6062      * Bool describing whether query expansion has occurred.
6063      * </pre>
6064      *
6065      * <code>bool expanded_query = 1;</code>
6066      *
6067      * @return The expandedQuery.
6068      */
getExpandedQuery()6069     boolean getExpandedQuery();
6070 
6071     /**
6072      *
6073      *
6074      * <pre>
6075      * Number of pinned results. This field will only be set when expansion
6076      * happens and
6077      * [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
6078      * is set to true.
6079      * </pre>
6080      *
6081      * <code>int64 pinned_result_count = 2;</code>
6082      *
6083      * @return The pinnedResultCount.
6084      */
getPinnedResultCount()6085     long getPinnedResultCount();
6086   }
6087   /**
6088    *
6089    *
6090    * <pre>
6091    * Information describing query expansion including whether expansion has
6092    * occurred.
6093    * </pre>
6094    *
6095    * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo}
6096    */
6097   public static final class QueryExpansionInfo extends com.google.protobuf.GeneratedMessageV3
6098       implements
6099       // @@protoc_insertion_point(message_implements:google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)
6100       QueryExpansionInfoOrBuilder {
6101     private static final long serialVersionUID = 0L;
6102     // Use QueryExpansionInfo.newBuilder() to construct.
QueryExpansionInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)6103     private QueryExpansionInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
6104       super(builder);
6105     }
6106 
QueryExpansionInfo()6107     private QueryExpansionInfo() {}
6108 
6109     @java.lang.Override
6110     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)6111     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
6112       return new QueryExpansionInfo();
6113     }
6114 
6115     @java.lang.Override
getUnknownFields()6116     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
6117       return this.unknownFields;
6118     }
6119 
getDescriptor()6120     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
6121       return com.google.cloud.retail.v2beta.SearchServiceProto
6122           .internal_static_google_cloud_retail_v2beta_SearchResponse_QueryExpansionInfo_descriptor;
6123     }
6124 
6125     @java.lang.Override
6126     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()6127         internalGetFieldAccessorTable() {
6128       return com.google.cloud.retail.v2beta.SearchServiceProto
6129           .internal_static_google_cloud_retail_v2beta_SearchResponse_QueryExpansionInfo_fieldAccessorTable
6130           .ensureFieldAccessorsInitialized(
6131               com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.class,
6132               com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder.class);
6133     }
6134 
6135     public static final int EXPANDED_QUERY_FIELD_NUMBER = 1;
6136     private boolean expandedQuery_ = false;
6137     /**
6138      *
6139      *
6140      * <pre>
6141      * Bool describing whether query expansion has occurred.
6142      * </pre>
6143      *
6144      * <code>bool expanded_query = 1;</code>
6145      *
6146      * @return The expandedQuery.
6147      */
6148     @java.lang.Override
getExpandedQuery()6149     public boolean getExpandedQuery() {
6150       return expandedQuery_;
6151     }
6152 
6153     public static final int PINNED_RESULT_COUNT_FIELD_NUMBER = 2;
6154     private long pinnedResultCount_ = 0L;
6155     /**
6156      *
6157      *
6158      * <pre>
6159      * Number of pinned results. This field will only be set when expansion
6160      * happens and
6161      * [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
6162      * is set to true.
6163      * </pre>
6164      *
6165      * <code>int64 pinned_result_count = 2;</code>
6166      *
6167      * @return The pinnedResultCount.
6168      */
6169     @java.lang.Override
getPinnedResultCount()6170     public long getPinnedResultCount() {
6171       return pinnedResultCount_;
6172     }
6173 
6174     private byte memoizedIsInitialized = -1;
6175 
6176     @java.lang.Override
isInitialized()6177     public final boolean isInitialized() {
6178       byte isInitialized = memoizedIsInitialized;
6179       if (isInitialized == 1) return true;
6180       if (isInitialized == 0) return false;
6181 
6182       memoizedIsInitialized = 1;
6183       return true;
6184     }
6185 
6186     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)6187     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
6188       if (expandedQuery_ != false) {
6189         output.writeBool(1, expandedQuery_);
6190       }
6191       if (pinnedResultCount_ != 0L) {
6192         output.writeInt64(2, pinnedResultCount_);
6193       }
6194       getUnknownFields().writeTo(output);
6195     }
6196 
6197     @java.lang.Override
getSerializedSize()6198     public int getSerializedSize() {
6199       int size = memoizedSize;
6200       if (size != -1) return size;
6201 
6202       size = 0;
6203       if (expandedQuery_ != false) {
6204         size += com.google.protobuf.CodedOutputStream.computeBoolSize(1, expandedQuery_);
6205       }
6206       if (pinnedResultCount_ != 0L) {
6207         size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, pinnedResultCount_);
6208       }
6209       size += getUnknownFields().getSerializedSize();
6210       memoizedSize = size;
6211       return size;
6212     }
6213 
6214     @java.lang.Override
equals(final java.lang.Object obj)6215     public boolean equals(final java.lang.Object obj) {
6216       if (obj == this) {
6217         return true;
6218       }
6219       if (!(obj instanceof com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)) {
6220         return super.equals(obj);
6221       }
6222       com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo other =
6223           (com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo) obj;
6224 
6225       if (getExpandedQuery() != other.getExpandedQuery()) return false;
6226       if (getPinnedResultCount() != other.getPinnedResultCount()) return false;
6227       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
6228       return true;
6229     }
6230 
6231     @java.lang.Override
hashCode()6232     public int hashCode() {
6233       if (memoizedHashCode != 0) {
6234         return memoizedHashCode;
6235       }
6236       int hash = 41;
6237       hash = (19 * hash) + getDescriptor().hashCode();
6238       hash = (37 * hash) + EXPANDED_QUERY_FIELD_NUMBER;
6239       hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getExpandedQuery());
6240       hash = (37 * hash) + PINNED_RESULT_COUNT_FIELD_NUMBER;
6241       hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getPinnedResultCount());
6242       hash = (29 * hash) + getUnknownFields().hashCode();
6243       memoizedHashCode = hash;
6244       return hash;
6245     }
6246 
parseFrom( java.nio.ByteBuffer data)6247     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6248         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
6249       return PARSER.parseFrom(data);
6250     }
6251 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6252     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6253         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6254         throws com.google.protobuf.InvalidProtocolBufferException {
6255       return PARSER.parseFrom(data, extensionRegistry);
6256     }
6257 
parseFrom( com.google.protobuf.ByteString data)6258     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6259         com.google.protobuf.ByteString data)
6260         throws com.google.protobuf.InvalidProtocolBufferException {
6261       return PARSER.parseFrom(data);
6262     }
6263 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6264     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6265         com.google.protobuf.ByteString data,
6266         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6267         throws com.google.protobuf.InvalidProtocolBufferException {
6268       return PARSER.parseFrom(data, extensionRegistry);
6269     }
6270 
parseFrom( byte[] data)6271     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6272         byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
6273       return PARSER.parseFrom(data);
6274     }
6275 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6276     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6277         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6278         throws com.google.protobuf.InvalidProtocolBufferException {
6279       return PARSER.parseFrom(data, extensionRegistry);
6280     }
6281 
parseFrom( java.io.InputStream input)6282     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6283         java.io.InputStream input) throws java.io.IOException {
6284       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
6285     }
6286 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6287     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6288         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6289         throws java.io.IOException {
6290       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
6291           PARSER, input, extensionRegistry);
6292     }
6293 
6294     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
parseDelimitedFrom(java.io.InputStream input)6295         parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
6296       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
6297     }
6298 
6299     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6300         parseDelimitedFrom(
6301             java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6302             throws java.io.IOException {
6303       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
6304           PARSER, input, extensionRegistry);
6305     }
6306 
parseFrom( com.google.protobuf.CodedInputStream input)6307     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6308         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
6309       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
6310     }
6311 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6312     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo parseFrom(
6313         com.google.protobuf.CodedInputStream input,
6314         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6315         throws java.io.IOException {
6316       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
6317           PARSER, input, extensionRegistry);
6318     }
6319 
6320     @java.lang.Override
newBuilderForType()6321     public Builder newBuilderForType() {
6322       return newBuilder();
6323     }
6324 
newBuilder()6325     public static Builder newBuilder() {
6326       return DEFAULT_INSTANCE.toBuilder();
6327     }
6328 
newBuilder( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo prototype)6329     public static Builder newBuilder(
6330         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo prototype) {
6331       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
6332     }
6333 
6334     @java.lang.Override
toBuilder()6335     public Builder toBuilder() {
6336       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
6337     }
6338 
6339     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)6340     protected Builder newBuilderForType(
6341         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6342       Builder builder = new Builder(parent);
6343       return builder;
6344     }
6345     /**
6346      *
6347      *
6348      * <pre>
6349      * Information describing query expansion including whether expansion has
6350      * occurred.
6351      * </pre>
6352      *
6353      * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo}
6354      */
6355     public static final class Builder
6356         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
6357         implements
6358         // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)
6359         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder {
getDescriptor()6360       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
6361         return com.google.cloud.retail.v2beta.SearchServiceProto
6362             .internal_static_google_cloud_retail_v2beta_SearchResponse_QueryExpansionInfo_descriptor;
6363       }
6364 
6365       @java.lang.Override
6366       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()6367           internalGetFieldAccessorTable() {
6368         return com.google.cloud.retail.v2beta.SearchServiceProto
6369             .internal_static_google_cloud_retail_v2beta_SearchResponse_QueryExpansionInfo_fieldAccessorTable
6370             .ensureFieldAccessorsInitialized(
6371                 com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.class,
6372                 com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder.class);
6373       }
6374 
6375       // Construct using
6376       // com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.newBuilder()
Builder()6377       private Builder() {}
6378 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)6379       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
6380         super(parent);
6381       }
6382 
6383       @java.lang.Override
clear()6384       public Builder clear() {
6385         super.clear();
6386         bitField0_ = 0;
6387         expandedQuery_ = false;
6388         pinnedResultCount_ = 0L;
6389         return this;
6390       }
6391 
6392       @java.lang.Override
getDescriptorForType()6393       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
6394         return com.google.cloud.retail.v2beta.SearchServiceProto
6395             .internal_static_google_cloud_retail_v2beta_SearchResponse_QueryExpansionInfo_descriptor;
6396       }
6397 
6398       @java.lang.Override
6399       public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
getDefaultInstanceForType()6400           getDefaultInstanceForType() {
6401         return com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
6402             .getDefaultInstance();
6403       }
6404 
6405       @java.lang.Override
build()6406       public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo build() {
6407         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo result = buildPartial();
6408         if (!result.isInitialized()) {
6409           throw newUninitializedMessageException(result);
6410         }
6411         return result;
6412       }
6413 
6414       @java.lang.Override
buildPartial()6415       public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo buildPartial() {
6416         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo result =
6417             new com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo(this);
6418         if (bitField0_ != 0) {
6419           buildPartial0(result);
6420         }
6421         onBuilt();
6422         return result;
6423       }
6424 
buildPartial0( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo result)6425       private void buildPartial0(
6426           com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo result) {
6427         int from_bitField0_ = bitField0_;
6428         if (((from_bitField0_ & 0x00000001) != 0)) {
6429           result.expandedQuery_ = expandedQuery_;
6430         }
6431         if (((from_bitField0_ & 0x00000002) != 0)) {
6432           result.pinnedResultCount_ = pinnedResultCount_;
6433         }
6434       }
6435 
6436       @java.lang.Override
clone()6437       public Builder clone() {
6438         return super.clone();
6439       }
6440 
6441       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)6442       public Builder setField(
6443           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
6444         return super.setField(field, value);
6445       }
6446 
6447       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)6448       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
6449         return super.clearField(field);
6450       }
6451 
6452       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)6453       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
6454         return super.clearOneof(oneof);
6455       }
6456 
6457       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)6458       public Builder setRepeatedField(
6459           com.google.protobuf.Descriptors.FieldDescriptor field,
6460           int index,
6461           java.lang.Object value) {
6462         return super.setRepeatedField(field, index, value);
6463       }
6464 
6465       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)6466       public Builder addRepeatedField(
6467           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
6468         return super.addRepeatedField(field, value);
6469       }
6470 
6471       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)6472       public Builder mergeFrom(com.google.protobuf.Message other) {
6473         if (other instanceof com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo) {
6474           return mergeFrom(
6475               (com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo) other);
6476         } else {
6477           super.mergeFrom(other);
6478           return this;
6479         }
6480       }
6481 
mergeFrom( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo other)6482       public Builder mergeFrom(
6483           com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo other) {
6484         if (other
6485             == com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
6486                 .getDefaultInstance()) return this;
6487         if (other.getExpandedQuery() != false) {
6488           setExpandedQuery(other.getExpandedQuery());
6489         }
6490         if (other.getPinnedResultCount() != 0L) {
6491           setPinnedResultCount(other.getPinnedResultCount());
6492         }
6493         this.mergeUnknownFields(other.getUnknownFields());
6494         onChanged();
6495         return this;
6496       }
6497 
6498       @java.lang.Override
isInitialized()6499       public final boolean isInitialized() {
6500         return true;
6501       }
6502 
6503       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)6504       public Builder mergeFrom(
6505           com.google.protobuf.CodedInputStream input,
6506           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6507           throws java.io.IOException {
6508         if (extensionRegistry == null) {
6509           throw new java.lang.NullPointerException();
6510         }
6511         try {
6512           boolean done = false;
6513           while (!done) {
6514             int tag = input.readTag();
6515             switch (tag) {
6516               case 0:
6517                 done = true;
6518                 break;
6519               case 8:
6520                 {
6521                   expandedQuery_ = input.readBool();
6522                   bitField0_ |= 0x00000001;
6523                   break;
6524                 } // case 8
6525               case 16:
6526                 {
6527                   pinnedResultCount_ = input.readInt64();
6528                   bitField0_ |= 0x00000002;
6529                   break;
6530                 } // case 16
6531               default:
6532                 {
6533                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
6534                     done = true; // was an endgroup tag
6535                   }
6536                   break;
6537                 } // default:
6538             } // switch (tag)
6539           } // while (!done)
6540         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6541           throw e.unwrapIOException();
6542         } finally {
6543           onChanged();
6544         } // finally
6545         return this;
6546       }
6547 
6548       private int bitField0_;
6549 
6550       private boolean expandedQuery_;
6551       /**
6552        *
6553        *
6554        * <pre>
6555        * Bool describing whether query expansion has occurred.
6556        * </pre>
6557        *
6558        * <code>bool expanded_query = 1;</code>
6559        *
6560        * @return The expandedQuery.
6561        */
6562       @java.lang.Override
getExpandedQuery()6563       public boolean getExpandedQuery() {
6564         return expandedQuery_;
6565       }
6566       /**
6567        *
6568        *
6569        * <pre>
6570        * Bool describing whether query expansion has occurred.
6571        * </pre>
6572        *
6573        * <code>bool expanded_query = 1;</code>
6574        *
6575        * @param value The expandedQuery to set.
6576        * @return This builder for chaining.
6577        */
setExpandedQuery(boolean value)6578       public Builder setExpandedQuery(boolean value) {
6579 
6580         expandedQuery_ = value;
6581         bitField0_ |= 0x00000001;
6582         onChanged();
6583         return this;
6584       }
6585       /**
6586        *
6587        *
6588        * <pre>
6589        * Bool describing whether query expansion has occurred.
6590        * </pre>
6591        *
6592        * <code>bool expanded_query = 1;</code>
6593        *
6594        * @return This builder for chaining.
6595        */
clearExpandedQuery()6596       public Builder clearExpandedQuery() {
6597         bitField0_ = (bitField0_ & ~0x00000001);
6598         expandedQuery_ = false;
6599         onChanged();
6600         return this;
6601       }
6602 
6603       private long pinnedResultCount_;
6604       /**
6605        *
6606        *
6607        * <pre>
6608        * Number of pinned results. This field will only be set when expansion
6609        * happens and
6610        * [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
6611        * is set to true.
6612        * </pre>
6613        *
6614        * <code>int64 pinned_result_count = 2;</code>
6615        *
6616        * @return The pinnedResultCount.
6617        */
6618       @java.lang.Override
getPinnedResultCount()6619       public long getPinnedResultCount() {
6620         return pinnedResultCount_;
6621       }
6622       /**
6623        *
6624        *
6625        * <pre>
6626        * Number of pinned results. This field will only be set when expansion
6627        * happens and
6628        * [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
6629        * is set to true.
6630        * </pre>
6631        *
6632        * <code>int64 pinned_result_count = 2;</code>
6633        *
6634        * @param value The pinnedResultCount to set.
6635        * @return This builder for chaining.
6636        */
setPinnedResultCount(long value)6637       public Builder setPinnedResultCount(long value) {
6638 
6639         pinnedResultCount_ = value;
6640         bitField0_ |= 0x00000002;
6641         onChanged();
6642         return this;
6643       }
6644       /**
6645        *
6646        *
6647        * <pre>
6648        * Number of pinned results. This field will only be set when expansion
6649        * happens and
6650        * [SearchRequest.QueryExpansionSpec.pin_unexpanded_results][google.cloud.retail.v2beta.SearchRequest.QueryExpansionSpec.pin_unexpanded_results]
6651        * is set to true.
6652        * </pre>
6653        *
6654        * <code>int64 pinned_result_count = 2;</code>
6655        *
6656        * @return This builder for chaining.
6657        */
clearPinnedResultCount()6658       public Builder clearPinnedResultCount() {
6659         bitField0_ = (bitField0_ & ~0x00000002);
6660         pinnedResultCount_ = 0L;
6661         onChanged();
6662         return this;
6663       }
6664 
6665       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6666       public final Builder setUnknownFields(
6667           final com.google.protobuf.UnknownFieldSet unknownFields) {
6668         return super.setUnknownFields(unknownFields);
6669       }
6670 
6671       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6672       public final Builder mergeUnknownFields(
6673           final com.google.protobuf.UnknownFieldSet unknownFields) {
6674         return super.mergeUnknownFields(unknownFields);
6675       }
6676 
6677       // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)
6678     }
6679 
6680     // @@protoc_insertion_point(class_scope:google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo)
6681     private static final com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
6682         DEFAULT_INSTANCE;
6683 
6684     static {
6685       DEFAULT_INSTANCE = new com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo();
6686     }
6687 
6688     public static com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
getDefaultInstance()6689         getDefaultInstance() {
6690       return DEFAULT_INSTANCE;
6691     }
6692 
6693     private static final com.google.protobuf.Parser<QueryExpansionInfo> PARSER =
6694         new com.google.protobuf.AbstractParser<QueryExpansionInfo>() {
6695           @java.lang.Override
6696           public QueryExpansionInfo parsePartialFrom(
6697               com.google.protobuf.CodedInputStream input,
6698               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
6699               throws com.google.protobuf.InvalidProtocolBufferException {
6700             Builder builder = newBuilder();
6701             try {
6702               builder.mergeFrom(input, extensionRegistry);
6703             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
6704               throw e.setUnfinishedMessage(builder.buildPartial());
6705             } catch (com.google.protobuf.UninitializedMessageException e) {
6706               throw e.asInvalidProtocolBufferException()
6707                   .setUnfinishedMessage(builder.buildPartial());
6708             } catch (java.io.IOException e) {
6709               throw new com.google.protobuf.InvalidProtocolBufferException(e)
6710                   .setUnfinishedMessage(builder.buildPartial());
6711             }
6712             return builder.buildPartial();
6713           }
6714         };
6715 
parser()6716     public static com.google.protobuf.Parser<QueryExpansionInfo> parser() {
6717       return PARSER;
6718     }
6719 
6720     @java.lang.Override
getParserForType()6721     public com.google.protobuf.Parser<QueryExpansionInfo> getParserForType() {
6722       return PARSER;
6723     }
6724 
6725     @java.lang.Override
6726     public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
getDefaultInstanceForType()6727         getDefaultInstanceForType() {
6728       return DEFAULT_INSTANCE;
6729     }
6730   }
6731 
6732   public static final int RESULTS_FIELD_NUMBER = 1;
6733 
6734   @SuppressWarnings("serial")
6735   private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.SearchResult> results_;
6736   /**
6737    *
6738    *
6739    * <pre>
6740    * A list of matched items. The order represents the ranking.
6741    * </pre>
6742    *
6743    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
6744    */
6745   @java.lang.Override
6746   public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.SearchResult>
getResultsList()6747       getResultsList() {
6748     return results_;
6749   }
6750   /**
6751    *
6752    *
6753    * <pre>
6754    * A list of matched items. The order represents the ranking.
6755    * </pre>
6756    *
6757    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
6758    */
6759   @java.lang.Override
6760   public java.util.List<
6761           ? extends com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder>
getResultsOrBuilderList()6762       getResultsOrBuilderList() {
6763     return results_;
6764   }
6765   /**
6766    *
6767    *
6768    * <pre>
6769    * A list of matched items. The order represents the ranking.
6770    * </pre>
6771    *
6772    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
6773    */
6774   @java.lang.Override
getResultsCount()6775   public int getResultsCount() {
6776     return results_.size();
6777   }
6778   /**
6779    *
6780    *
6781    * <pre>
6782    * A list of matched items. The order represents the ranking.
6783    * </pre>
6784    *
6785    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
6786    */
6787   @java.lang.Override
getResults(int index)6788   public com.google.cloud.retail.v2beta.SearchResponse.SearchResult getResults(int index) {
6789     return results_.get(index);
6790   }
6791   /**
6792    *
6793    *
6794    * <pre>
6795    * A list of matched items. The order represents the ranking.
6796    * </pre>
6797    *
6798    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
6799    */
6800   @java.lang.Override
getResultsOrBuilder( int index)6801   public com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder getResultsOrBuilder(
6802       int index) {
6803     return results_.get(index);
6804   }
6805 
6806   public static final int FACETS_FIELD_NUMBER = 2;
6807 
6808   @SuppressWarnings("serial")
6809   private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet> facets_;
6810   /**
6811    *
6812    *
6813    * <pre>
6814    * Results of facets requested by user.
6815    * </pre>
6816    *
6817    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
6818    */
6819   @java.lang.Override
getFacetsList()6820   public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet> getFacetsList() {
6821     return facets_;
6822   }
6823   /**
6824    *
6825    *
6826    * <pre>
6827    * Results of facets requested by user.
6828    * </pre>
6829    *
6830    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
6831    */
6832   @java.lang.Override
6833   public java.util.List<? extends com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder>
getFacetsOrBuilderList()6834       getFacetsOrBuilderList() {
6835     return facets_;
6836   }
6837   /**
6838    *
6839    *
6840    * <pre>
6841    * Results of facets requested by user.
6842    * </pre>
6843    *
6844    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
6845    */
6846   @java.lang.Override
getFacetsCount()6847   public int getFacetsCount() {
6848     return facets_.size();
6849   }
6850   /**
6851    *
6852    *
6853    * <pre>
6854    * Results of facets requested by user.
6855    * </pre>
6856    *
6857    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
6858    */
6859   @java.lang.Override
getFacets(int index)6860   public com.google.cloud.retail.v2beta.SearchResponse.Facet getFacets(int index) {
6861     return facets_.get(index);
6862   }
6863   /**
6864    *
6865    *
6866    * <pre>
6867    * Results of facets requested by user.
6868    * </pre>
6869    *
6870    * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
6871    */
6872   @java.lang.Override
getFacetsOrBuilder( int index)6873   public com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder getFacetsOrBuilder(
6874       int index) {
6875     return facets_.get(index);
6876   }
6877 
6878   public static final int TOTAL_SIZE_FIELD_NUMBER = 3;
6879   private int totalSize_ = 0;
6880   /**
6881    *
6882    *
6883    * <pre>
6884    * The estimated total count of matched items irrespective of pagination. The
6885    * count of [results][google.cloud.retail.v2beta.SearchResponse.results]
6886    * returned by pagination may be less than the
6887    * [total_size][google.cloud.retail.v2beta.SearchResponse.total_size] that
6888    * matches.
6889    * </pre>
6890    *
6891    * <code>int32 total_size = 3;</code>
6892    *
6893    * @return The totalSize.
6894    */
6895   @java.lang.Override
getTotalSize()6896   public int getTotalSize() {
6897     return totalSize_;
6898   }
6899 
6900   public static final int CORRECTED_QUERY_FIELD_NUMBER = 4;
6901 
6902   @SuppressWarnings("serial")
6903   private volatile java.lang.Object correctedQuery_ = "";
6904   /**
6905    *
6906    *
6907    * <pre>
6908    * Contains the spell corrected query, if found. If the spell correction type
6909    * is AUTOMATIC, then the search results are based on corrected_query.
6910    * Otherwise the original query is used for search.
6911    * </pre>
6912    *
6913    * <code>string corrected_query = 4;</code>
6914    *
6915    * @return The correctedQuery.
6916    */
6917   @java.lang.Override
getCorrectedQuery()6918   public java.lang.String getCorrectedQuery() {
6919     java.lang.Object ref = correctedQuery_;
6920     if (ref instanceof java.lang.String) {
6921       return (java.lang.String) ref;
6922     } else {
6923       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6924       java.lang.String s = bs.toStringUtf8();
6925       correctedQuery_ = s;
6926       return s;
6927     }
6928   }
6929   /**
6930    *
6931    *
6932    * <pre>
6933    * Contains the spell corrected query, if found. If the spell correction type
6934    * is AUTOMATIC, then the search results are based on corrected_query.
6935    * Otherwise the original query is used for search.
6936    * </pre>
6937    *
6938    * <code>string corrected_query = 4;</code>
6939    *
6940    * @return The bytes for correctedQuery.
6941    */
6942   @java.lang.Override
getCorrectedQueryBytes()6943   public com.google.protobuf.ByteString getCorrectedQueryBytes() {
6944     java.lang.Object ref = correctedQuery_;
6945     if (ref instanceof java.lang.String) {
6946       com.google.protobuf.ByteString b =
6947           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
6948       correctedQuery_ = b;
6949       return b;
6950     } else {
6951       return (com.google.protobuf.ByteString) ref;
6952     }
6953   }
6954 
6955   public static final int ATTRIBUTION_TOKEN_FIELD_NUMBER = 5;
6956 
6957   @SuppressWarnings("serial")
6958   private volatile java.lang.Object attributionToken_ = "";
6959   /**
6960    *
6961    *
6962    * <pre>
6963    * A unique search token. This should be included in the
6964    * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
6965    * search, which enables accurate attribution of search model performance.
6966    * </pre>
6967    *
6968    * <code>string attribution_token = 5;</code>
6969    *
6970    * @return The attributionToken.
6971    */
6972   @java.lang.Override
getAttributionToken()6973   public java.lang.String getAttributionToken() {
6974     java.lang.Object ref = attributionToken_;
6975     if (ref instanceof java.lang.String) {
6976       return (java.lang.String) ref;
6977     } else {
6978       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
6979       java.lang.String s = bs.toStringUtf8();
6980       attributionToken_ = s;
6981       return s;
6982     }
6983   }
6984   /**
6985    *
6986    *
6987    * <pre>
6988    * A unique search token. This should be included in the
6989    * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
6990    * search, which enables accurate attribution of search model performance.
6991    * </pre>
6992    *
6993    * <code>string attribution_token = 5;</code>
6994    *
6995    * @return The bytes for attributionToken.
6996    */
6997   @java.lang.Override
getAttributionTokenBytes()6998   public com.google.protobuf.ByteString getAttributionTokenBytes() {
6999     java.lang.Object ref = attributionToken_;
7000     if (ref instanceof java.lang.String) {
7001       com.google.protobuf.ByteString b =
7002           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7003       attributionToken_ = b;
7004       return b;
7005     } else {
7006       return (com.google.protobuf.ByteString) ref;
7007     }
7008   }
7009 
7010   public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 6;
7011 
7012   @SuppressWarnings("serial")
7013   private volatile java.lang.Object nextPageToken_ = "";
7014   /**
7015    *
7016    *
7017    * <pre>
7018    * A token that can be sent as
7019    * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
7020    * to retrieve the next page. If this field is omitted, there are no
7021    * subsequent pages.
7022    * </pre>
7023    *
7024    * <code>string next_page_token = 6;</code>
7025    *
7026    * @return The nextPageToken.
7027    */
7028   @java.lang.Override
getNextPageToken()7029   public java.lang.String getNextPageToken() {
7030     java.lang.Object ref = nextPageToken_;
7031     if (ref instanceof java.lang.String) {
7032       return (java.lang.String) ref;
7033     } else {
7034       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7035       java.lang.String s = bs.toStringUtf8();
7036       nextPageToken_ = s;
7037       return s;
7038     }
7039   }
7040   /**
7041    *
7042    *
7043    * <pre>
7044    * A token that can be sent as
7045    * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
7046    * to retrieve the next page. If this field is omitted, there are no
7047    * subsequent pages.
7048    * </pre>
7049    *
7050    * <code>string next_page_token = 6;</code>
7051    *
7052    * @return The bytes for nextPageToken.
7053    */
7054   @java.lang.Override
getNextPageTokenBytes()7055   public com.google.protobuf.ByteString getNextPageTokenBytes() {
7056     java.lang.Object ref = nextPageToken_;
7057     if (ref instanceof java.lang.String) {
7058       com.google.protobuf.ByteString b =
7059           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7060       nextPageToken_ = b;
7061       return b;
7062     } else {
7063       return (com.google.protobuf.ByteString) ref;
7064     }
7065   }
7066 
7067   public static final int QUERY_EXPANSION_INFO_FIELD_NUMBER = 7;
7068   private com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo queryExpansionInfo_;
7069   /**
7070    *
7071    *
7072    * <pre>
7073    * Query expansion information for the returned results.
7074    * </pre>
7075    *
7076    * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
7077    * </code>
7078    *
7079    * @return Whether the queryExpansionInfo field is set.
7080    */
7081   @java.lang.Override
hasQueryExpansionInfo()7082   public boolean hasQueryExpansionInfo() {
7083     return queryExpansionInfo_ != null;
7084   }
7085   /**
7086    *
7087    *
7088    * <pre>
7089    * Query expansion information for the returned results.
7090    * </pre>
7091    *
7092    * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
7093    * </code>
7094    *
7095    * @return The queryExpansionInfo.
7096    */
7097   @java.lang.Override
getQueryExpansionInfo()7098   public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo getQueryExpansionInfo() {
7099     return queryExpansionInfo_ == null
7100         ? com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.getDefaultInstance()
7101         : queryExpansionInfo_;
7102   }
7103   /**
7104    *
7105    *
7106    * <pre>
7107    * Query expansion information for the returned results.
7108    * </pre>
7109    *
7110    * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
7111    * </code>
7112    */
7113   @java.lang.Override
7114   public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder
getQueryExpansionInfoOrBuilder()7115       getQueryExpansionInfoOrBuilder() {
7116     return queryExpansionInfo_ == null
7117         ? com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.getDefaultInstance()
7118         : queryExpansionInfo_;
7119   }
7120 
7121   public static final int REDIRECT_URI_FIELD_NUMBER = 10;
7122 
7123   @SuppressWarnings("serial")
7124   private volatile java.lang.Object redirectUri_ = "";
7125   /**
7126    *
7127    *
7128    * <pre>
7129    * The URI of a customer-defined redirect page. If redirect action is
7130    * triggered, no search is performed, and only
7131    * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
7132    * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
7133    * are set in the response.
7134    * </pre>
7135    *
7136    * <code>string redirect_uri = 10;</code>
7137    *
7138    * @return The redirectUri.
7139    */
7140   @java.lang.Override
getRedirectUri()7141   public java.lang.String getRedirectUri() {
7142     java.lang.Object ref = redirectUri_;
7143     if (ref instanceof java.lang.String) {
7144       return (java.lang.String) ref;
7145     } else {
7146       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
7147       java.lang.String s = bs.toStringUtf8();
7148       redirectUri_ = s;
7149       return s;
7150     }
7151   }
7152   /**
7153    *
7154    *
7155    * <pre>
7156    * The URI of a customer-defined redirect page. If redirect action is
7157    * triggered, no search is performed, and only
7158    * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
7159    * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
7160    * are set in the response.
7161    * </pre>
7162    *
7163    * <code>string redirect_uri = 10;</code>
7164    *
7165    * @return The bytes for redirectUri.
7166    */
7167   @java.lang.Override
getRedirectUriBytes()7168   public com.google.protobuf.ByteString getRedirectUriBytes() {
7169     java.lang.Object ref = redirectUri_;
7170     if (ref instanceof java.lang.String) {
7171       com.google.protobuf.ByteString b =
7172           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
7173       redirectUri_ = b;
7174       return b;
7175     } else {
7176       return (com.google.protobuf.ByteString) ref;
7177     }
7178   }
7179 
7180   public static final int APPLIED_CONTROLS_FIELD_NUMBER = 12;
7181 
7182   @SuppressWarnings("serial")
7183   private com.google.protobuf.LazyStringList appliedControls_;
7184   /**
7185    *
7186    *
7187    * <pre>
7188    * The fully qualified resource name of applied
7189    * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
7190    * </pre>
7191    *
7192    * <code>repeated string applied_controls = 12;</code>
7193    *
7194    * @return A list containing the appliedControls.
7195    */
getAppliedControlsList()7196   public com.google.protobuf.ProtocolStringList getAppliedControlsList() {
7197     return appliedControls_;
7198   }
7199   /**
7200    *
7201    *
7202    * <pre>
7203    * The fully qualified resource name of applied
7204    * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
7205    * </pre>
7206    *
7207    * <code>repeated string applied_controls = 12;</code>
7208    *
7209    * @return The count of appliedControls.
7210    */
getAppliedControlsCount()7211   public int getAppliedControlsCount() {
7212     return appliedControls_.size();
7213   }
7214   /**
7215    *
7216    *
7217    * <pre>
7218    * The fully qualified resource name of applied
7219    * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
7220    * </pre>
7221    *
7222    * <code>repeated string applied_controls = 12;</code>
7223    *
7224    * @param index The index of the element to return.
7225    * @return The appliedControls at the given index.
7226    */
getAppliedControls(int index)7227   public java.lang.String getAppliedControls(int index) {
7228     return appliedControls_.get(index);
7229   }
7230   /**
7231    *
7232    *
7233    * <pre>
7234    * The fully qualified resource name of applied
7235    * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
7236    * </pre>
7237    *
7238    * <code>repeated string applied_controls = 12;</code>
7239    *
7240    * @param index The index of the value to return.
7241    * @return The bytes of the appliedControls at the given index.
7242    */
getAppliedControlsBytes(int index)7243   public com.google.protobuf.ByteString getAppliedControlsBytes(int index) {
7244     return appliedControls_.getByteString(index);
7245   }
7246 
7247   public static final int INVALID_CONDITION_BOOST_SPECS_FIELD_NUMBER = 14;
7248 
7249   @SuppressWarnings("serial")
7250   private java.util.List<com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>
7251       invalidConditionBoostSpecs_;
7252   /**
7253    *
7254    *
7255    * <pre>
7256    * The invalid
7257    * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
7258    * that are not applied during serving.
7259    * </pre>
7260    *
7261    * <code>
7262    * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
7263    * </code>
7264    */
7265   @java.lang.Override
7266   public java.util.List<com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>
getInvalidConditionBoostSpecsList()7267       getInvalidConditionBoostSpecsList() {
7268     return invalidConditionBoostSpecs_;
7269   }
7270   /**
7271    *
7272    *
7273    * <pre>
7274    * The invalid
7275    * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
7276    * that are not applied during serving.
7277    * </pre>
7278    *
7279    * <code>
7280    * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
7281    * </code>
7282    */
7283   @java.lang.Override
7284   public java.util.List<
7285           ? extends
7286               com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder>
getInvalidConditionBoostSpecsOrBuilderList()7287       getInvalidConditionBoostSpecsOrBuilderList() {
7288     return invalidConditionBoostSpecs_;
7289   }
7290   /**
7291    *
7292    *
7293    * <pre>
7294    * The invalid
7295    * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
7296    * that are not applied during serving.
7297    * </pre>
7298    *
7299    * <code>
7300    * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
7301    * </code>
7302    */
7303   @java.lang.Override
getInvalidConditionBoostSpecsCount()7304   public int getInvalidConditionBoostSpecsCount() {
7305     return invalidConditionBoostSpecs_.size();
7306   }
7307   /**
7308    *
7309    *
7310    * <pre>
7311    * The invalid
7312    * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
7313    * that are not applied during serving.
7314    * </pre>
7315    *
7316    * <code>
7317    * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
7318    * </code>
7319    */
7320   @java.lang.Override
7321   public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec
getInvalidConditionBoostSpecs(int index)7322       getInvalidConditionBoostSpecs(int index) {
7323     return invalidConditionBoostSpecs_.get(index);
7324   }
7325   /**
7326    *
7327    *
7328    * <pre>
7329    * The invalid
7330    * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
7331    * that are not applied during serving.
7332    * </pre>
7333    *
7334    * <code>
7335    * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
7336    * </code>
7337    */
7338   @java.lang.Override
7339   public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder
getInvalidConditionBoostSpecsOrBuilder(int index)7340       getInvalidConditionBoostSpecsOrBuilder(int index) {
7341     return invalidConditionBoostSpecs_.get(index);
7342   }
7343 
7344   public static final int EXPERIMENT_INFO_FIELD_NUMBER = 17;
7345 
7346   @SuppressWarnings("serial")
7347   private java.util.List<com.google.cloud.retail.v2beta.ExperimentInfo> experimentInfo_;
7348   /**
7349    *
7350    *
7351    * <pre>
7352    * Metadata related to A/B testing [Experiment][] associated with this
7353    * response. Only exists when an experiment is triggered.
7354    * </pre>
7355    *
7356    * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
7357    */
7358   @java.lang.Override
getExperimentInfoList()7359   public java.util.List<com.google.cloud.retail.v2beta.ExperimentInfo> getExperimentInfoList() {
7360     return experimentInfo_;
7361   }
7362   /**
7363    *
7364    *
7365    * <pre>
7366    * Metadata related to A/B testing [Experiment][] associated with this
7367    * response. Only exists when an experiment is triggered.
7368    * </pre>
7369    *
7370    * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
7371    */
7372   @java.lang.Override
7373   public java.util.List<? extends com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder>
getExperimentInfoOrBuilderList()7374       getExperimentInfoOrBuilderList() {
7375     return experimentInfo_;
7376   }
7377   /**
7378    *
7379    *
7380    * <pre>
7381    * Metadata related to A/B testing [Experiment][] associated with this
7382    * response. Only exists when an experiment is triggered.
7383    * </pre>
7384    *
7385    * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
7386    */
7387   @java.lang.Override
getExperimentInfoCount()7388   public int getExperimentInfoCount() {
7389     return experimentInfo_.size();
7390   }
7391   /**
7392    *
7393    *
7394    * <pre>
7395    * Metadata related to A/B testing [Experiment][] associated with this
7396    * response. Only exists when an experiment is triggered.
7397    * </pre>
7398    *
7399    * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
7400    */
7401   @java.lang.Override
getExperimentInfo(int index)7402   public com.google.cloud.retail.v2beta.ExperimentInfo getExperimentInfo(int index) {
7403     return experimentInfo_.get(index);
7404   }
7405   /**
7406    *
7407    *
7408    * <pre>
7409    * Metadata related to A/B testing [Experiment][] associated with this
7410    * response. Only exists when an experiment is triggered.
7411    * </pre>
7412    *
7413    * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
7414    */
7415   @java.lang.Override
getExperimentInfoOrBuilder( int index)7416   public com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder getExperimentInfoOrBuilder(
7417       int index) {
7418     return experimentInfo_.get(index);
7419   }
7420 
7421   private byte memoizedIsInitialized = -1;
7422 
7423   @java.lang.Override
isInitialized()7424   public final boolean isInitialized() {
7425     byte isInitialized = memoizedIsInitialized;
7426     if (isInitialized == 1) return true;
7427     if (isInitialized == 0) return false;
7428 
7429     memoizedIsInitialized = 1;
7430     return true;
7431   }
7432 
7433   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)7434   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
7435     for (int i = 0; i < results_.size(); i++) {
7436       output.writeMessage(1, results_.get(i));
7437     }
7438     for (int i = 0; i < facets_.size(); i++) {
7439       output.writeMessage(2, facets_.get(i));
7440     }
7441     if (totalSize_ != 0) {
7442       output.writeInt32(3, totalSize_);
7443     }
7444     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(correctedQuery_)) {
7445       com.google.protobuf.GeneratedMessageV3.writeString(output, 4, correctedQuery_);
7446     }
7447     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attributionToken_)) {
7448       com.google.protobuf.GeneratedMessageV3.writeString(output, 5, attributionToken_);
7449     }
7450     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) {
7451       com.google.protobuf.GeneratedMessageV3.writeString(output, 6, nextPageToken_);
7452     }
7453     if (queryExpansionInfo_ != null) {
7454       output.writeMessage(7, getQueryExpansionInfo());
7455     }
7456     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(redirectUri_)) {
7457       com.google.protobuf.GeneratedMessageV3.writeString(output, 10, redirectUri_);
7458     }
7459     for (int i = 0; i < appliedControls_.size(); i++) {
7460       com.google.protobuf.GeneratedMessageV3.writeString(output, 12, appliedControls_.getRaw(i));
7461     }
7462     for (int i = 0; i < invalidConditionBoostSpecs_.size(); i++) {
7463       output.writeMessage(14, invalidConditionBoostSpecs_.get(i));
7464     }
7465     for (int i = 0; i < experimentInfo_.size(); i++) {
7466       output.writeMessage(17, experimentInfo_.get(i));
7467     }
7468     getUnknownFields().writeTo(output);
7469   }
7470 
7471   @java.lang.Override
getSerializedSize()7472   public int getSerializedSize() {
7473     int size = memoizedSize;
7474     if (size != -1) return size;
7475 
7476     size = 0;
7477     for (int i = 0; i < results_.size(); i++) {
7478       size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, results_.get(i));
7479     }
7480     for (int i = 0; i < facets_.size(); i++) {
7481       size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, facets_.get(i));
7482     }
7483     if (totalSize_ != 0) {
7484       size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, totalSize_);
7485     }
7486     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(correctedQuery_)) {
7487       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, correctedQuery_);
7488     }
7489     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attributionToken_)) {
7490       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, attributionToken_);
7491     }
7492     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) {
7493       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, nextPageToken_);
7494     }
7495     if (queryExpansionInfo_ != null) {
7496       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getQueryExpansionInfo());
7497     }
7498     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(redirectUri_)) {
7499       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, redirectUri_);
7500     }
7501     {
7502       int dataSize = 0;
7503       for (int i = 0; i < appliedControls_.size(); i++) {
7504         dataSize += computeStringSizeNoTag(appliedControls_.getRaw(i));
7505       }
7506       size += dataSize;
7507       size += 1 * getAppliedControlsList().size();
7508     }
7509     for (int i = 0; i < invalidConditionBoostSpecs_.size(); i++) {
7510       size +=
7511           com.google.protobuf.CodedOutputStream.computeMessageSize(
7512               14, invalidConditionBoostSpecs_.get(i));
7513     }
7514     for (int i = 0; i < experimentInfo_.size(); i++) {
7515       size += com.google.protobuf.CodedOutputStream.computeMessageSize(17, experimentInfo_.get(i));
7516     }
7517     size += getUnknownFields().getSerializedSize();
7518     memoizedSize = size;
7519     return size;
7520   }
7521 
7522   @java.lang.Override
equals(final java.lang.Object obj)7523   public boolean equals(final java.lang.Object obj) {
7524     if (obj == this) {
7525       return true;
7526     }
7527     if (!(obj instanceof com.google.cloud.retail.v2beta.SearchResponse)) {
7528       return super.equals(obj);
7529     }
7530     com.google.cloud.retail.v2beta.SearchResponse other =
7531         (com.google.cloud.retail.v2beta.SearchResponse) obj;
7532 
7533     if (!getResultsList().equals(other.getResultsList())) return false;
7534     if (!getFacetsList().equals(other.getFacetsList())) return false;
7535     if (getTotalSize() != other.getTotalSize()) return false;
7536     if (!getCorrectedQuery().equals(other.getCorrectedQuery())) return false;
7537     if (!getAttributionToken().equals(other.getAttributionToken())) return false;
7538     if (!getNextPageToken().equals(other.getNextPageToken())) return false;
7539     if (hasQueryExpansionInfo() != other.hasQueryExpansionInfo()) return false;
7540     if (hasQueryExpansionInfo()) {
7541       if (!getQueryExpansionInfo().equals(other.getQueryExpansionInfo())) return false;
7542     }
7543     if (!getRedirectUri().equals(other.getRedirectUri())) return false;
7544     if (!getAppliedControlsList().equals(other.getAppliedControlsList())) return false;
7545     if (!getInvalidConditionBoostSpecsList().equals(other.getInvalidConditionBoostSpecsList()))
7546       return false;
7547     if (!getExperimentInfoList().equals(other.getExperimentInfoList())) return false;
7548     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
7549     return true;
7550   }
7551 
7552   @java.lang.Override
hashCode()7553   public int hashCode() {
7554     if (memoizedHashCode != 0) {
7555       return memoizedHashCode;
7556     }
7557     int hash = 41;
7558     hash = (19 * hash) + getDescriptor().hashCode();
7559     if (getResultsCount() > 0) {
7560       hash = (37 * hash) + RESULTS_FIELD_NUMBER;
7561       hash = (53 * hash) + getResultsList().hashCode();
7562     }
7563     if (getFacetsCount() > 0) {
7564       hash = (37 * hash) + FACETS_FIELD_NUMBER;
7565       hash = (53 * hash) + getFacetsList().hashCode();
7566     }
7567     hash = (37 * hash) + TOTAL_SIZE_FIELD_NUMBER;
7568     hash = (53 * hash) + getTotalSize();
7569     hash = (37 * hash) + CORRECTED_QUERY_FIELD_NUMBER;
7570     hash = (53 * hash) + getCorrectedQuery().hashCode();
7571     hash = (37 * hash) + ATTRIBUTION_TOKEN_FIELD_NUMBER;
7572     hash = (53 * hash) + getAttributionToken().hashCode();
7573     hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER;
7574     hash = (53 * hash) + getNextPageToken().hashCode();
7575     if (hasQueryExpansionInfo()) {
7576       hash = (37 * hash) + QUERY_EXPANSION_INFO_FIELD_NUMBER;
7577       hash = (53 * hash) + getQueryExpansionInfo().hashCode();
7578     }
7579     hash = (37 * hash) + REDIRECT_URI_FIELD_NUMBER;
7580     hash = (53 * hash) + getRedirectUri().hashCode();
7581     if (getAppliedControlsCount() > 0) {
7582       hash = (37 * hash) + APPLIED_CONTROLS_FIELD_NUMBER;
7583       hash = (53 * hash) + getAppliedControlsList().hashCode();
7584     }
7585     if (getInvalidConditionBoostSpecsCount() > 0) {
7586       hash = (37 * hash) + INVALID_CONDITION_BOOST_SPECS_FIELD_NUMBER;
7587       hash = (53 * hash) + getInvalidConditionBoostSpecsList().hashCode();
7588     }
7589     if (getExperimentInfoCount() > 0) {
7590       hash = (37 * hash) + EXPERIMENT_INFO_FIELD_NUMBER;
7591       hash = (53 * hash) + getExperimentInfoList().hashCode();
7592     }
7593     hash = (29 * hash) + getUnknownFields().hashCode();
7594     memoizedHashCode = hash;
7595     return hash;
7596   }
7597 
parseFrom(java.nio.ByteBuffer data)7598   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(java.nio.ByteBuffer data)
7599       throws com.google.protobuf.InvalidProtocolBufferException {
7600     return PARSER.parseFrom(data);
7601   }
7602 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7603   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7604       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7605       throws com.google.protobuf.InvalidProtocolBufferException {
7606     return PARSER.parseFrom(data, extensionRegistry);
7607   }
7608 
parseFrom( com.google.protobuf.ByteString data)7609   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7610       com.google.protobuf.ByteString data)
7611       throws com.google.protobuf.InvalidProtocolBufferException {
7612     return PARSER.parseFrom(data);
7613   }
7614 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7615   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7616       com.google.protobuf.ByteString data,
7617       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7618       throws com.google.protobuf.InvalidProtocolBufferException {
7619     return PARSER.parseFrom(data, extensionRegistry);
7620   }
7621 
parseFrom(byte[] data)7622   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(byte[] data)
7623       throws com.google.protobuf.InvalidProtocolBufferException {
7624     return PARSER.parseFrom(data);
7625   }
7626 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7627   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7628       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7629       throws com.google.protobuf.InvalidProtocolBufferException {
7630     return PARSER.parseFrom(data, extensionRegistry);
7631   }
7632 
parseFrom(java.io.InputStream input)7633   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(java.io.InputStream input)
7634       throws java.io.IOException {
7635     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
7636   }
7637 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7638   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7639       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7640       throws java.io.IOException {
7641     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
7642         PARSER, input, extensionRegistry);
7643   }
7644 
parseDelimitedFrom( java.io.InputStream input)7645   public static com.google.cloud.retail.v2beta.SearchResponse parseDelimitedFrom(
7646       java.io.InputStream input) throws java.io.IOException {
7647     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
7648   }
7649 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7650   public static com.google.cloud.retail.v2beta.SearchResponse parseDelimitedFrom(
7651       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7652       throws java.io.IOException {
7653     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
7654         PARSER, input, extensionRegistry);
7655   }
7656 
parseFrom( com.google.protobuf.CodedInputStream input)7657   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7658       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
7659     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
7660   }
7661 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)7662   public static com.google.cloud.retail.v2beta.SearchResponse parseFrom(
7663       com.google.protobuf.CodedInputStream input,
7664       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
7665       throws java.io.IOException {
7666     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
7667         PARSER, input, extensionRegistry);
7668   }
7669 
7670   @java.lang.Override
newBuilderForType()7671   public Builder newBuilderForType() {
7672     return newBuilder();
7673   }
7674 
newBuilder()7675   public static Builder newBuilder() {
7676     return DEFAULT_INSTANCE.toBuilder();
7677   }
7678 
newBuilder(com.google.cloud.retail.v2beta.SearchResponse prototype)7679   public static Builder newBuilder(com.google.cloud.retail.v2beta.SearchResponse prototype) {
7680     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
7681   }
7682 
7683   @java.lang.Override
toBuilder()7684   public Builder toBuilder() {
7685     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
7686   }
7687 
7688   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)7689   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7690     Builder builder = new Builder(parent);
7691     return builder;
7692   }
7693   /**
7694    *
7695    *
7696    * <pre>
7697    * Response message for
7698    * [SearchService.Search][google.cloud.retail.v2beta.SearchService.Search]
7699    * method.
7700    * </pre>
7701    *
7702    * Protobuf type {@code google.cloud.retail.v2beta.SearchResponse}
7703    */
7704   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
7705       implements
7706       // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2beta.SearchResponse)
7707       com.google.cloud.retail.v2beta.SearchResponseOrBuilder {
getDescriptor()7708     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
7709       return com.google.cloud.retail.v2beta.SearchServiceProto
7710           .internal_static_google_cloud_retail_v2beta_SearchResponse_descriptor;
7711     }
7712 
7713     @java.lang.Override
7714     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()7715         internalGetFieldAccessorTable() {
7716       return com.google.cloud.retail.v2beta.SearchServiceProto
7717           .internal_static_google_cloud_retail_v2beta_SearchResponse_fieldAccessorTable
7718           .ensureFieldAccessorsInitialized(
7719               com.google.cloud.retail.v2beta.SearchResponse.class,
7720               com.google.cloud.retail.v2beta.SearchResponse.Builder.class);
7721     }
7722 
7723     // Construct using com.google.cloud.retail.v2beta.SearchResponse.newBuilder()
Builder()7724     private Builder() {}
7725 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)7726     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
7727       super(parent);
7728     }
7729 
7730     @java.lang.Override
clear()7731     public Builder clear() {
7732       super.clear();
7733       bitField0_ = 0;
7734       if (resultsBuilder_ == null) {
7735         results_ = java.util.Collections.emptyList();
7736       } else {
7737         results_ = null;
7738         resultsBuilder_.clear();
7739       }
7740       bitField0_ = (bitField0_ & ~0x00000001);
7741       if (facetsBuilder_ == null) {
7742         facets_ = java.util.Collections.emptyList();
7743       } else {
7744         facets_ = null;
7745         facetsBuilder_.clear();
7746       }
7747       bitField0_ = (bitField0_ & ~0x00000002);
7748       totalSize_ = 0;
7749       correctedQuery_ = "";
7750       attributionToken_ = "";
7751       nextPageToken_ = "";
7752       queryExpansionInfo_ = null;
7753       if (queryExpansionInfoBuilder_ != null) {
7754         queryExpansionInfoBuilder_.dispose();
7755         queryExpansionInfoBuilder_ = null;
7756       }
7757       redirectUri_ = "";
7758       appliedControls_ = com.google.protobuf.LazyStringArrayList.EMPTY;
7759       bitField0_ = (bitField0_ & ~0x00000100);
7760       if (invalidConditionBoostSpecsBuilder_ == null) {
7761         invalidConditionBoostSpecs_ = java.util.Collections.emptyList();
7762       } else {
7763         invalidConditionBoostSpecs_ = null;
7764         invalidConditionBoostSpecsBuilder_.clear();
7765       }
7766       bitField0_ = (bitField0_ & ~0x00000200);
7767       if (experimentInfoBuilder_ == null) {
7768         experimentInfo_ = java.util.Collections.emptyList();
7769       } else {
7770         experimentInfo_ = null;
7771         experimentInfoBuilder_.clear();
7772       }
7773       bitField0_ = (bitField0_ & ~0x00000400);
7774       return this;
7775     }
7776 
7777     @java.lang.Override
getDescriptorForType()7778     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
7779       return com.google.cloud.retail.v2beta.SearchServiceProto
7780           .internal_static_google_cloud_retail_v2beta_SearchResponse_descriptor;
7781     }
7782 
7783     @java.lang.Override
getDefaultInstanceForType()7784     public com.google.cloud.retail.v2beta.SearchResponse getDefaultInstanceForType() {
7785       return com.google.cloud.retail.v2beta.SearchResponse.getDefaultInstance();
7786     }
7787 
7788     @java.lang.Override
build()7789     public com.google.cloud.retail.v2beta.SearchResponse build() {
7790       com.google.cloud.retail.v2beta.SearchResponse result = buildPartial();
7791       if (!result.isInitialized()) {
7792         throw newUninitializedMessageException(result);
7793       }
7794       return result;
7795     }
7796 
7797     @java.lang.Override
buildPartial()7798     public com.google.cloud.retail.v2beta.SearchResponse buildPartial() {
7799       com.google.cloud.retail.v2beta.SearchResponse result =
7800           new com.google.cloud.retail.v2beta.SearchResponse(this);
7801       buildPartialRepeatedFields(result);
7802       if (bitField0_ != 0) {
7803         buildPartial0(result);
7804       }
7805       onBuilt();
7806       return result;
7807     }
7808 
buildPartialRepeatedFields(com.google.cloud.retail.v2beta.SearchResponse result)7809     private void buildPartialRepeatedFields(com.google.cloud.retail.v2beta.SearchResponse result) {
7810       if (resultsBuilder_ == null) {
7811         if (((bitField0_ & 0x00000001) != 0)) {
7812           results_ = java.util.Collections.unmodifiableList(results_);
7813           bitField0_ = (bitField0_ & ~0x00000001);
7814         }
7815         result.results_ = results_;
7816       } else {
7817         result.results_ = resultsBuilder_.build();
7818       }
7819       if (facetsBuilder_ == null) {
7820         if (((bitField0_ & 0x00000002) != 0)) {
7821           facets_ = java.util.Collections.unmodifiableList(facets_);
7822           bitField0_ = (bitField0_ & ~0x00000002);
7823         }
7824         result.facets_ = facets_;
7825       } else {
7826         result.facets_ = facetsBuilder_.build();
7827       }
7828       if (((bitField0_ & 0x00000100) != 0)) {
7829         appliedControls_ = appliedControls_.getUnmodifiableView();
7830         bitField0_ = (bitField0_ & ~0x00000100);
7831       }
7832       result.appliedControls_ = appliedControls_;
7833       if (invalidConditionBoostSpecsBuilder_ == null) {
7834         if (((bitField0_ & 0x00000200) != 0)) {
7835           invalidConditionBoostSpecs_ =
7836               java.util.Collections.unmodifiableList(invalidConditionBoostSpecs_);
7837           bitField0_ = (bitField0_ & ~0x00000200);
7838         }
7839         result.invalidConditionBoostSpecs_ = invalidConditionBoostSpecs_;
7840       } else {
7841         result.invalidConditionBoostSpecs_ = invalidConditionBoostSpecsBuilder_.build();
7842       }
7843       if (experimentInfoBuilder_ == null) {
7844         if (((bitField0_ & 0x00000400) != 0)) {
7845           experimentInfo_ = java.util.Collections.unmodifiableList(experimentInfo_);
7846           bitField0_ = (bitField0_ & ~0x00000400);
7847         }
7848         result.experimentInfo_ = experimentInfo_;
7849       } else {
7850         result.experimentInfo_ = experimentInfoBuilder_.build();
7851       }
7852     }
7853 
buildPartial0(com.google.cloud.retail.v2beta.SearchResponse result)7854     private void buildPartial0(com.google.cloud.retail.v2beta.SearchResponse result) {
7855       int from_bitField0_ = bitField0_;
7856       if (((from_bitField0_ & 0x00000004) != 0)) {
7857         result.totalSize_ = totalSize_;
7858       }
7859       if (((from_bitField0_ & 0x00000008) != 0)) {
7860         result.correctedQuery_ = correctedQuery_;
7861       }
7862       if (((from_bitField0_ & 0x00000010) != 0)) {
7863         result.attributionToken_ = attributionToken_;
7864       }
7865       if (((from_bitField0_ & 0x00000020) != 0)) {
7866         result.nextPageToken_ = nextPageToken_;
7867       }
7868       if (((from_bitField0_ & 0x00000040) != 0)) {
7869         result.queryExpansionInfo_ =
7870             queryExpansionInfoBuilder_ == null
7871                 ? queryExpansionInfo_
7872                 : queryExpansionInfoBuilder_.build();
7873       }
7874       if (((from_bitField0_ & 0x00000080) != 0)) {
7875         result.redirectUri_ = redirectUri_;
7876       }
7877     }
7878 
7879     @java.lang.Override
clone()7880     public Builder clone() {
7881       return super.clone();
7882     }
7883 
7884     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)7885     public Builder setField(
7886         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
7887       return super.setField(field, value);
7888     }
7889 
7890     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)7891     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
7892       return super.clearField(field);
7893     }
7894 
7895     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)7896     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
7897       return super.clearOneof(oneof);
7898     }
7899 
7900     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)7901     public Builder setRepeatedField(
7902         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
7903       return super.setRepeatedField(field, index, value);
7904     }
7905 
7906     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)7907     public Builder addRepeatedField(
7908         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
7909       return super.addRepeatedField(field, value);
7910     }
7911 
7912     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)7913     public Builder mergeFrom(com.google.protobuf.Message other) {
7914       if (other instanceof com.google.cloud.retail.v2beta.SearchResponse) {
7915         return mergeFrom((com.google.cloud.retail.v2beta.SearchResponse) other);
7916       } else {
7917         super.mergeFrom(other);
7918         return this;
7919       }
7920     }
7921 
mergeFrom(com.google.cloud.retail.v2beta.SearchResponse other)7922     public Builder mergeFrom(com.google.cloud.retail.v2beta.SearchResponse other) {
7923       if (other == com.google.cloud.retail.v2beta.SearchResponse.getDefaultInstance()) return this;
7924       if (resultsBuilder_ == null) {
7925         if (!other.results_.isEmpty()) {
7926           if (results_.isEmpty()) {
7927             results_ = other.results_;
7928             bitField0_ = (bitField0_ & ~0x00000001);
7929           } else {
7930             ensureResultsIsMutable();
7931             results_.addAll(other.results_);
7932           }
7933           onChanged();
7934         }
7935       } else {
7936         if (!other.results_.isEmpty()) {
7937           if (resultsBuilder_.isEmpty()) {
7938             resultsBuilder_.dispose();
7939             resultsBuilder_ = null;
7940             results_ = other.results_;
7941             bitField0_ = (bitField0_ & ~0x00000001);
7942             resultsBuilder_ =
7943                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
7944                     ? getResultsFieldBuilder()
7945                     : null;
7946           } else {
7947             resultsBuilder_.addAllMessages(other.results_);
7948           }
7949         }
7950       }
7951       if (facetsBuilder_ == null) {
7952         if (!other.facets_.isEmpty()) {
7953           if (facets_.isEmpty()) {
7954             facets_ = other.facets_;
7955             bitField0_ = (bitField0_ & ~0x00000002);
7956           } else {
7957             ensureFacetsIsMutable();
7958             facets_.addAll(other.facets_);
7959           }
7960           onChanged();
7961         }
7962       } else {
7963         if (!other.facets_.isEmpty()) {
7964           if (facetsBuilder_.isEmpty()) {
7965             facetsBuilder_.dispose();
7966             facetsBuilder_ = null;
7967             facets_ = other.facets_;
7968             bitField0_ = (bitField0_ & ~0x00000002);
7969             facetsBuilder_ =
7970                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
7971                     ? getFacetsFieldBuilder()
7972                     : null;
7973           } else {
7974             facetsBuilder_.addAllMessages(other.facets_);
7975           }
7976         }
7977       }
7978       if (other.getTotalSize() != 0) {
7979         setTotalSize(other.getTotalSize());
7980       }
7981       if (!other.getCorrectedQuery().isEmpty()) {
7982         correctedQuery_ = other.correctedQuery_;
7983         bitField0_ |= 0x00000008;
7984         onChanged();
7985       }
7986       if (!other.getAttributionToken().isEmpty()) {
7987         attributionToken_ = other.attributionToken_;
7988         bitField0_ |= 0x00000010;
7989         onChanged();
7990       }
7991       if (!other.getNextPageToken().isEmpty()) {
7992         nextPageToken_ = other.nextPageToken_;
7993         bitField0_ |= 0x00000020;
7994         onChanged();
7995       }
7996       if (other.hasQueryExpansionInfo()) {
7997         mergeQueryExpansionInfo(other.getQueryExpansionInfo());
7998       }
7999       if (!other.getRedirectUri().isEmpty()) {
8000         redirectUri_ = other.redirectUri_;
8001         bitField0_ |= 0x00000080;
8002         onChanged();
8003       }
8004       if (!other.appliedControls_.isEmpty()) {
8005         if (appliedControls_.isEmpty()) {
8006           appliedControls_ = other.appliedControls_;
8007           bitField0_ = (bitField0_ & ~0x00000100);
8008         } else {
8009           ensureAppliedControlsIsMutable();
8010           appliedControls_.addAll(other.appliedControls_);
8011         }
8012         onChanged();
8013       }
8014       if (invalidConditionBoostSpecsBuilder_ == null) {
8015         if (!other.invalidConditionBoostSpecs_.isEmpty()) {
8016           if (invalidConditionBoostSpecs_.isEmpty()) {
8017             invalidConditionBoostSpecs_ = other.invalidConditionBoostSpecs_;
8018             bitField0_ = (bitField0_ & ~0x00000200);
8019           } else {
8020             ensureInvalidConditionBoostSpecsIsMutable();
8021             invalidConditionBoostSpecs_.addAll(other.invalidConditionBoostSpecs_);
8022           }
8023           onChanged();
8024         }
8025       } else {
8026         if (!other.invalidConditionBoostSpecs_.isEmpty()) {
8027           if (invalidConditionBoostSpecsBuilder_.isEmpty()) {
8028             invalidConditionBoostSpecsBuilder_.dispose();
8029             invalidConditionBoostSpecsBuilder_ = null;
8030             invalidConditionBoostSpecs_ = other.invalidConditionBoostSpecs_;
8031             bitField0_ = (bitField0_ & ~0x00000200);
8032             invalidConditionBoostSpecsBuilder_ =
8033                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
8034                     ? getInvalidConditionBoostSpecsFieldBuilder()
8035                     : null;
8036           } else {
8037             invalidConditionBoostSpecsBuilder_.addAllMessages(other.invalidConditionBoostSpecs_);
8038           }
8039         }
8040       }
8041       if (experimentInfoBuilder_ == null) {
8042         if (!other.experimentInfo_.isEmpty()) {
8043           if (experimentInfo_.isEmpty()) {
8044             experimentInfo_ = other.experimentInfo_;
8045             bitField0_ = (bitField0_ & ~0x00000400);
8046           } else {
8047             ensureExperimentInfoIsMutable();
8048             experimentInfo_.addAll(other.experimentInfo_);
8049           }
8050           onChanged();
8051         }
8052       } else {
8053         if (!other.experimentInfo_.isEmpty()) {
8054           if (experimentInfoBuilder_.isEmpty()) {
8055             experimentInfoBuilder_.dispose();
8056             experimentInfoBuilder_ = null;
8057             experimentInfo_ = other.experimentInfo_;
8058             bitField0_ = (bitField0_ & ~0x00000400);
8059             experimentInfoBuilder_ =
8060                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
8061                     ? getExperimentInfoFieldBuilder()
8062                     : null;
8063           } else {
8064             experimentInfoBuilder_.addAllMessages(other.experimentInfo_);
8065           }
8066         }
8067       }
8068       this.mergeUnknownFields(other.getUnknownFields());
8069       onChanged();
8070       return this;
8071     }
8072 
8073     @java.lang.Override
isInitialized()8074     public final boolean isInitialized() {
8075       return true;
8076     }
8077 
8078     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)8079     public Builder mergeFrom(
8080         com.google.protobuf.CodedInputStream input,
8081         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
8082         throws java.io.IOException {
8083       if (extensionRegistry == null) {
8084         throw new java.lang.NullPointerException();
8085       }
8086       try {
8087         boolean done = false;
8088         while (!done) {
8089           int tag = input.readTag();
8090           switch (tag) {
8091             case 0:
8092               done = true;
8093               break;
8094             case 10:
8095               {
8096                 com.google.cloud.retail.v2beta.SearchResponse.SearchResult m =
8097                     input.readMessage(
8098                         com.google.cloud.retail.v2beta.SearchResponse.SearchResult.parser(),
8099                         extensionRegistry);
8100                 if (resultsBuilder_ == null) {
8101                   ensureResultsIsMutable();
8102                   results_.add(m);
8103                 } else {
8104                   resultsBuilder_.addMessage(m);
8105                 }
8106                 break;
8107               } // case 10
8108             case 18:
8109               {
8110                 com.google.cloud.retail.v2beta.SearchResponse.Facet m =
8111                     input.readMessage(
8112                         com.google.cloud.retail.v2beta.SearchResponse.Facet.parser(),
8113                         extensionRegistry);
8114                 if (facetsBuilder_ == null) {
8115                   ensureFacetsIsMutable();
8116                   facets_.add(m);
8117                 } else {
8118                   facetsBuilder_.addMessage(m);
8119                 }
8120                 break;
8121               } // case 18
8122             case 24:
8123               {
8124                 totalSize_ = input.readInt32();
8125                 bitField0_ |= 0x00000004;
8126                 break;
8127               } // case 24
8128             case 34:
8129               {
8130                 correctedQuery_ = input.readStringRequireUtf8();
8131                 bitField0_ |= 0x00000008;
8132                 break;
8133               } // case 34
8134             case 42:
8135               {
8136                 attributionToken_ = input.readStringRequireUtf8();
8137                 bitField0_ |= 0x00000010;
8138                 break;
8139               } // case 42
8140             case 50:
8141               {
8142                 nextPageToken_ = input.readStringRequireUtf8();
8143                 bitField0_ |= 0x00000020;
8144                 break;
8145               } // case 50
8146             case 58:
8147               {
8148                 input.readMessage(
8149                     getQueryExpansionInfoFieldBuilder().getBuilder(), extensionRegistry);
8150                 bitField0_ |= 0x00000040;
8151                 break;
8152               } // case 58
8153             case 82:
8154               {
8155                 redirectUri_ = input.readStringRequireUtf8();
8156                 bitField0_ |= 0x00000080;
8157                 break;
8158               } // case 82
8159             case 98:
8160               {
8161                 java.lang.String s = input.readStringRequireUtf8();
8162                 ensureAppliedControlsIsMutable();
8163                 appliedControls_.add(s);
8164                 break;
8165               } // case 98
8166             case 114:
8167               {
8168                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec m =
8169                     input.readMessage(
8170                         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec
8171                             .parser(),
8172                         extensionRegistry);
8173                 if (invalidConditionBoostSpecsBuilder_ == null) {
8174                   ensureInvalidConditionBoostSpecsIsMutable();
8175                   invalidConditionBoostSpecs_.add(m);
8176                 } else {
8177                   invalidConditionBoostSpecsBuilder_.addMessage(m);
8178                 }
8179                 break;
8180               } // case 114
8181             case 138:
8182               {
8183                 com.google.cloud.retail.v2beta.ExperimentInfo m =
8184                     input.readMessage(
8185                         com.google.cloud.retail.v2beta.ExperimentInfo.parser(), extensionRegistry);
8186                 if (experimentInfoBuilder_ == null) {
8187                   ensureExperimentInfoIsMutable();
8188                   experimentInfo_.add(m);
8189                 } else {
8190                   experimentInfoBuilder_.addMessage(m);
8191                 }
8192                 break;
8193               } // case 138
8194             default:
8195               {
8196                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
8197                   done = true; // was an endgroup tag
8198                 }
8199                 break;
8200               } // default:
8201           } // switch (tag)
8202         } // while (!done)
8203       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
8204         throw e.unwrapIOException();
8205       } finally {
8206         onChanged();
8207       } // finally
8208       return this;
8209     }
8210 
8211     private int bitField0_;
8212 
8213     private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.SearchResult> results_ =
8214         java.util.Collections.emptyList();
8215 
ensureResultsIsMutable()8216     private void ensureResultsIsMutable() {
8217       if (!((bitField0_ & 0x00000001) != 0)) {
8218         results_ =
8219             new java.util.ArrayList<com.google.cloud.retail.v2beta.SearchResponse.SearchResult>(
8220                 results_);
8221         bitField0_ |= 0x00000001;
8222       }
8223     }
8224 
8225     private com.google.protobuf.RepeatedFieldBuilderV3<
8226             com.google.cloud.retail.v2beta.SearchResponse.SearchResult,
8227             com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder,
8228             com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder>
8229         resultsBuilder_;
8230 
8231     /**
8232      *
8233      *
8234      * <pre>
8235      * A list of matched items. The order represents the ranking.
8236      * </pre>
8237      *
8238      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8239      */
8240     public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.SearchResult>
getResultsList()8241         getResultsList() {
8242       if (resultsBuilder_ == null) {
8243         return java.util.Collections.unmodifiableList(results_);
8244       } else {
8245         return resultsBuilder_.getMessageList();
8246       }
8247     }
8248     /**
8249      *
8250      *
8251      * <pre>
8252      * A list of matched items. The order represents the ranking.
8253      * </pre>
8254      *
8255      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8256      */
getResultsCount()8257     public int getResultsCount() {
8258       if (resultsBuilder_ == null) {
8259         return results_.size();
8260       } else {
8261         return resultsBuilder_.getCount();
8262       }
8263     }
8264     /**
8265      *
8266      *
8267      * <pre>
8268      * A list of matched items. The order represents the ranking.
8269      * </pre>
8270      *
8271      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8272      */
getResults(int index)8273     public com.google.cloud.retail.v2beta.SearchResponse.SearchResult getResults(int index) {
8274       if (resultsBuilder_ == null) {
8275         return results_.get(index);
8276       } else {
8277         return resultsBuilder_.getMessage(index);
8278       }
8279     }
8280     /**
8281      *
8282      *
8283      * <pre>
8284      * A list of matched items. The order represents the ranking.
8285      * </pre>
8286      *
8287      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8288      */
setResults( int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult value)8289     public Builder setResults(
8290         int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult value) {
8291       if (resultsBuilder_ == null) {
8292         if (value == null) {
8293           throw new NullPointerException();
8294         }
8295         ensureResultsIsMutable();
8296         results_.set(index, value);
8297         onChanged();
8298       } else {
8299         resultsBuilder_.setMessage(index, value);
8300       }
8301       return this;
8302     }
8303     /**
8304      *
8305      *
8306      * <pre>
8307      * A list of matched items. The order represents the ranking.
8308      * </pre>
8309      *
8310      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8311      */
setResults( int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue)8312     public Builder setResults(
8313         int index,
8314         com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue) {
8315       if (resultsBuilder_ == null) {
8316         ensureResultsIsMutable();
8317         results_.set(index, builderForValue.build());
8318         onChanged();
8319       } else {
8320         resultsBuilder_.setMessage(index, builderForValue.build());
8321       }
8322       return this;
8323     }
8324     /**
8325      *
8326      *
8327      * <pre>
8328      * A list of matched items. The order represents the ranking.
8329      * </pre>
8330      *
8331      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8332      */
addResults(com.google.cloud.retail.v2beta.SearchResponse.SearchResult value)8333     public Builder addResults(com.google.cloud.retail.v2beta.SearchResponse.SearchResult value) {
8334       if (resultsBuilder_ == null) {
8335         if (value == null) {
8336           throw new NullPointerException();
8337         }
8338         ensureResultsIsMutable();
8339         results_.add(value);
8340         onChanged();
8341       } else {
8342         resultsBuilder_.addMessage(value);
8343       }
8344       return this;
8345     }
8346     /**
8347      *
8348      *
8349      * <pre>
8350      * A list of matched items. The order represents the ranking.
8351      * </pre>
8352      *
8353      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8354      */
addResults( int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult value)8355     public Builder addResults(
8356         int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult value) {
8357       if (resultsBuilder_ == null) {
8358         if (value == null) {
8359           throw new NullPointerException();
8360         }
8361         ensureResultsIsMutable();
8362         results_.add(index, value);
8363         onChanged();
8364       } else {
8365         resultsBuilder_.addMessage(index, value);
8366       }
8367       return this;
8368     }
8369     /**
8370      *
8371      *
8372      * <pre>
8373      * A list of matched items. The order represents the ranking.
8374      * </pre>
8375      *
8376      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8377      */
addResults( com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue)8378     public Builder addResults(
8379         com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue) {
8380       if (resultsBuilder_ == null) {
8381         ensureResultsIsMutable();
8382         results_.add(builderForValue.build());
8383         onChanged();
8384       } else {
8385         resultsBuilder_.addMessage(builderForValue.build());
8386       }
8387       return this;
8388     }
8389     /**
8390      *
8391      *
8392      * <pre>
8393      * A list of matched items. The order represents the ranking.
8394      * </pre>
8395      *
8396      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8397      */
addResults( int index, com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue)8398     public Builder addResults(
8399         int index,
8400         com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder builderForValue) {
8401       if (resultsBuilder_ == null) {
8402         ensureResultsIsMutable();
8403         results_.add(index, builderForValue.build());
8404         onChanged();
8405       } else {
8406         resultsBuilder_.addMessage(index, builderForValue.build());
8407       }
8408       return this;
8409     }
8410     /**
8411      *
8412      *
8413      * <pre>
8414      * A list of matched items. The order represents the ranking.
8415      * </pre>
8416      *
8417      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8418      */
addAllResults( java.lang.Iterable<? extends com.google.cloud.retail.v2beta.SearchResponse.SearchResult> values)8419     public Builder addAllResults(
8420         java.lang.Iterable<? extends com.google.cloud.retail.v2beta.SearchResponse.SearchResult>
8421             values) {
8422       if (resultsBuilder_ == null) {
8423         ensureResultsIsMutable();
8424         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, results_);
8425         onChanged();
8426       } else {
8427         resultsBuilder_.addAllMessages(values);
8428       }
8429       return this;
8430     }
8431     /**
8432      *
8433      *
8434      * <pre>
8435      * A list of matched items. The order represents the ranking.
8436      * </pre>
8437      *
8438      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8439      */
clearResults()8440     public Builder clearResults() {
8441       if (resultsBuilder_ == null) {
8442         results_ = java.util.Collections.emptyList();
8443         bitField0_ = (bitField0_ & ~0x00000001);
8444         onChanged();
8445       } else {
8446         resultsBuilder_.clear();
8447       }
8448       return this;
8449     }
8450     /**
8451      *
8452      *
8453      * <pre>
8454      * A list of matched items. The order represents the ranking.
8455      * </pre>
8456      *
8457      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8458      */
removeResults(int index)8459     public Builder removeResults(int index) {
8460       if (resultsBuilder_ == null) {
8461         ensureResultsIsMutable();
8462         results_.remove(index);
8463         onChanged();
8464       } else {
8465         resultsBuilder_.remove(index);
8466       }
8467       return this;
8468     }
8469     /**
8470      *
8471      *
8472      * <pre>
8473      * A list of matched items. The order represents the ranking.
8474      * </pre>
8475      *
8476      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8477      */
getResultsBuilder( int index)8478     public com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder getResultsBuilder(
8479         int index) {
8480       return getResultsFieldBuilder().getBuilder(index);
8481     }
8482     /**
8483      *
8484      *
8485      * <pre>
8486      * A list of matched items. The order represents the ranking.
8487      * </pre>
8488      *
8489      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8490      */
getResultsOrBuilder( int index)8491     public com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder getResultsOrBuilder(
8492         int index) {
8493       if (resultsBuilder_ == null) {
8494         return results_.get(index);
8495       } else {
8496         return resultsBuilder_.getMessageOrBuilder(index);
8497       }
8498     }
8499     /**
8500      *
8501      *
8502      * <pre>
8503      * A list of matched items. The order represents the ranking.
8504      * </pre>
8505      *
8506      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8507      */
8508     public java.util.List<
8509             ? extends com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder>
getResultsOrBuilderList()8510         getResultsOrBuilderList() {
8511       if (resultsBuilder_ != null) {
8512         return resultsBuilder_.getMessageOrBuilderList();
8513       } else {
8514         return java.util.Collections.unmodifiableList(results_);
8515       }
8516     }
8517     /**
8518      *
8519      *
8520      * <pre>
8521      * A list of matched items. The order represents the ranking.
8522      * </pre>
8523      *
8524      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8525      */
addResultsBuilder()8526     public com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder addResultsBuilder() {
8527       return getResultsFieldBuilder()
8528           .addBuilder(
8529               com.google.cloud.retail.v2beta.SearchResponse.SearchResult.getDefaultInstance());
8530     }
8531     /**
8532      *
8533      *
8534      * <pre>
8535      * A list of matched items. The order represents the ranking.
8536      * </pre>
8537      *
8538      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8539      */
addResultsBuilder( int index)8540     public com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder addResultsBuilder(
8541         int index) {
8542       return getResultsFieldBuilder()
8543           .addBuilder(
8544               index,
8545               com.google.cloud.retail.v2beta.SearchResponse.SearchResult.getDefaultInstance());
8546     }
8547     /**
8548      *
8549      *
8550      * <pre>
8551      * A list of matched items. The order represents the ranking.
8552      * </pre>
8553      *
8554      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.SearchResult results = 1;</code>
8555      */
8556     public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder>
getResultsBuilderList()8557         getResultsBuilderList() {
8558       return getResultsFieldBuilder().getBuilderList();
8559     }
8560 
8561     private com.google.protobuf.RepeatedFieldBuilderV3<
8562             com.google.cloud.retail.v2beta.SearchResponse.SearchResult,
8563             com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder,
8564             com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder>
getResultsFieldBuilder()8565         getResultsFieldBuilder() {
8566       if (resultsBuilder_ == null) {
8567         resultsBuilder_ =
8568             new com.google.protobuf.RepeatedFieldBuilderV3<
8569                 com.google.cloud.retail.v2beta.SearchResponse.SearchResult,
8570                 com.google.cloud.retail.v2beta.SearchResponse.SearchResult.Builder,
8571                 com.google.cloud.retail.v2beta.SearchResponse.SearchResultOrBuilder>(
8572                 results_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
8573         results_ = null;
8574       }
8575       return resultsBuilder_;
8576     }
8577 
8578     private java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet> facets_ =
8579         java.util.Collections.emptyList();
8580 
ensureFacetsIsMutable()8581     private void ensureFacetsIsMutable() {
8582       if (!((bitField0_ & 0x00000002) != 0)) {
8583         facets_ =
8584             new java.util.ArrayList<com.google.cloud.retail.v2beta.SearchResponse.Facet>(facets_);
8585         bitField0_ |= 0x00000002;
8586       }
8587     }
8588 
8589     private com.google.protobuf.RepeatedFieldBuilderV3<
8590             com.google.cloud.retail.v2beta.SearchResponse.Facet,
8591             com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder,
8592             com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder>
8593         facetsBuilder_;
8594 
8595     /**
8596      *
8597      *
8598      * <pre>
8599      * Results of facets requested by user.
8600      * </pre>
8601      *
8602      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8603      */
getFacetsList()8604     public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet> getFacetsList() {
8605       if (facetsBuilder_ == null) {
8606         return java.util.Collections.unmodifiableList(facets_);
8607       } else {
8608         return facetsBuilder_.getMessageList();
8609       }
8610     }
8611     /**
8612      *
8613      *
8614      * <pre>
8615      * Results of facets requested by user.
8616      * </pre>
8617      *
8618      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8619      */
getFacetsCount()8620     public int getFacetsCount() {
8621       if (facetsBuilder_ == null) {
8622         return facets_.size();
8623       } else {
8624         return facetsBuilder_.getCount();
8625       }
8626     }
8627     /**
8628      *
8629      *
8630      * <pre>
8631      * Results of facets requested by user.
8632      * </pre>
8633      *
8634      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8635      */
getFacets(int index)8636     public com.google.cloud.retail.v2beta.SearchResponse.Facet getFacets(int index) {
8637       if (facetsBuilder_ == null) {
8638         return facets_.get(index);
8639       } else {
8640         return facetsBuilder_.getMessage(index);
8641       }
8642     }
8643     /**
8644      *
8645      *
8646      * <pre>
8647      * Results of facets requested by user.
8648      * </pre>
8649      *
8650      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8651      */
setFacets(int index, com.google.cloud.retail.v2beta.SearchResponse.Facet value)8652     public Builder setFacets(int index, com.google.cloud.retail.v2beta.SearchResponse.Facet value) {
8653       if (facetsBuilder_ == null) {
8654         if (value == null) {
8655           throw new NullPointerException();
8656         }
8657         ensureFacetsIsMutable();
8658         facets_.set(index, value);
8659         onChanged();
8660       } else {
8661         facetsBuilder_.setMessage(index, value);
8662       }
8663       return this;
8664     }
8665     /**
8666      *
8667      *
8668      * <pre>
8669      * Results of facets requested by user.
8670      * </pre>
8671      *
8672      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8673      */
setFacets( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue)8674     public Builder setFacets(
8675         int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue) {
8676       if (facetsBuilder_ == null) {
8677         ensureFacetsIsMutable();
8678         facets_.set(index, builderForValue.build());
8679         onChanged();
8680       } else {
8681         facetsBuilder_.setMessage(index, builderForValue.build());
8682       }
8683       return this;
8684     }
8685     /**
8686      *
8687      *
8688      * <pre>
8689      * Results of facets requested by user.
8690      * </pre>
8691      *
8692      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8693      */
addFacets(com.google.cloud.retail.v2beta.SearchResponse.Facet value)8694     public Builder addFacets(com.google.cloud.retail.v2beta.SearchResponse.Facet value) {
8695       if (facetsBuilder_ == null) {
8696         if (value == null) {
8697           throw new NullPointerException();
8698         }
8699         ensureFacetsIsMutable();
8700         facets_.add(value);
8701         onChanged();
8702       } else {
8703         facetsBuilder_.addMessage(value);
8704       }
8705       return this;
8706     }
8707     /**
8708      *
8709      *
8710      * <pre>
8711      * Results of facets requested by user.
8712      * </pre>
8713      *
8714      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8715      */
addFacets(int index, com.google.cloud.retail.v2beta.SearchResponse.Facet value)8716     public Builder addFacets(int index, com.google.cloud.retail.v2beta.SearchResponse.Facet value) {
8717       if (facetsBuilder_ == null) {
8718         if (value == null) {
8719           throw new NullPointerException();
8720         }
8721         ensureFacetsIsMutable();
8722         facets_.add(index, value);
8723         onChanged();
8724       } else {
8725         facetsBuilder_.addMessage(index, value);
8726       }
8727       return this;
8728     }
8729     /**
8730      *
8731      *
8732      * <pre>
8733      * Results of facets requested by user.
8734      * </pre>
8735      *
8736      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8737      */
addFacets( com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue)8738     public Builder addFacets(
8739         com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue) {
8740       if (facetsBuilder_ == null) {
8741         ensureFacetsIsMutable();
8742         facets_.add(builderForValue.build());
8743         onChanged();
8744       } else {
8745         facetsBuilder_.addMessage(builderForValue.build());
8746       }
8747       return this;
8748     }
8749     /**
8750      *
8751      *
8752      * <pre>
8753      * Results of facets requested by user.
8754      * </pre>
8755      *
8756      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8757      */
addFacets( int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue)8758     public Builder addFacets(
8759         int index, com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder builderForValue) {
8760       if (facetsBuilder_ == null) {
8761         ensureFacetsIsMutable();
8762         facets_.add(index, builderForValue.build());
8763         onChanged();
8764       } else {
8765         facetsBuilder_.addMessage(index, builderForValue.build());
8766       }
8767       return this;
8768     }
8769     /**
8770      *
8771      *
8772      * <pre>
8773      * Results of facets requested by user.
8774      * </pre>
8775      *
8776      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8777      */
addAllFacets( java.lang.Iterable<? extends com.google.cloud.retail.v2beta.SearchResponse.Facet> values)8778     public Builder addAllFacets(
8779         java.lang.Iterable<? extends com.google.cloud.retail.v2beta.SearchResponse.Facet> values) {
8780       if (facetsBuilder_ == null) {
8781         ensureFacetsIsMutable();
8782         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, facets_);
8783         onChanged();
8784       } else {
8785         facetsBuilder_.addAllMessages(values);
8786       }
8787       return this;
8788     }
8789     /**
8790      *
8791      *
8792      * <pre>
8793      * Results of facets requested by user.
8794      * </pre>
8795      *
8796      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8797      */
clearFacets()8798     public Builder clearFacets() {
8799       if (facetsBuilder_ == null) {
8800         facets_ = java.util.Collections.emptyList();
8801         bitField0_ = (bitField0_ & ~0x00000002);
8802         onChanged();
8803       } else {
8804         facetsBuilder_.clear();
8805       }
8806       return this;
8807     }
8808     /**
8809      *
8810      *
8811      * <pre>
8812      * Results of facets requested by user.
8813      * </pre>
8814      *
8815      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8816      */
removeFacets(int index)8817     public Builder removeFacets(int index) {
8818       if (facetsBuilder_ == null) {
8819         ensureFacetsIsMutable();
8820         facets_.remove(index);
8821         onChanged();
8822       } else {
8823         facetsBuilder_.remove(index);
8824       }
8825       return this;
8826     }
8827     /**
8828      *
8829      *
8830      * <pre>
8831      * Results of facets requested by user.
8832      * </pre>
8833      *
8834      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8835      */
getFacetsBuilder(int index)8836     public com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder getFacetsBuilder(int index) {
8837       return getFacetsFieldBuilder().getBuilder(index);
8838     }
8839     /**
8840      *
8841      *
8842      * <pre>
8843      * Results of facets requested by user.
8844      * </pre>
8845      *
8846      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8847      */
getFacetsOrBuilder( int index)8848     public com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder getFacetsOrBuilder(
8849         int index) {
8850       if (facetsBuilder_ == null) {
8851         return facets_.get(index);
8852       } else {
8853         return facetsBuilder_.getMessageOrBuilder(index);
8854       }
8855     }
8856     /**
8857      *
8858      *
8859      * <pre>
8860      * Results of facets requested by user.
8861      * </pre>
8862      *
8863      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8864      */
8865     public java.util.List<? extends com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder>
getFacetsOrBuilderList()8866         getFacetsOrBuilderList() {
8867       if (facetsBuilder_ != null) {
8868         return facetsBuilder_.getMessageOrBuilderList();
8869       } else {
8870         return java.util.Collections.unmodifiableList(facets_);
8871       }
8872     }
8873     /**
8874      *
8875      *
8876      * <pre>
8877      * Results of facets requested by user.
8878      * </pre>
8879      *
8880      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8881      */
addFacetsBuilder()8882     public com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder addFacetsBuilder() {
8883       return getFacetsFieldBuilder()
8884           .addBuilder(com.google.cloud.retail.v2beta.SearchResponse.Facet.getDefaultInstance());
8885     }
8886     /**
8887      *
8888      *
8889      * <pre>
8890      * Results of facets requested by user.
8891      * </pre>
8892      *
8893      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8894      */
addFacetsBuilder(int index)8895     public com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder addFacetsBuilder(int index) {
8896       return getFacetsFieldBuilder()
8897           .addBuilder(
8898               index, com.google.cloud.retail.v2beta.SearchResponse.Facet.getDefaultInstance());
8899     }
8900     /**
8901      *
8902      *
8903      * <pre>
8904      * Results of facets requested by user.
8905      * </pre>
8906      *
8907      * <code>repeated .google.cloud.retail.v2beta.SearchResponse.Facet facets = 2;</code>
8908      */
8909     public java.util.List<com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder>
getFacetsBuilderList()8910         getFacetsBuilderList() {
8911       return getFacetsFieldBuilder().getBuilderList();
8912     }
8913 
8914     private com.google.protobuf.RepeatedFieldBuilderV3<
8915             com.google.cloud.retail.v2beta.SearchResponse.Facet,
8916             com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder,
8917             com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder>
getFacetsFieldBuilder()8918         getFacetsFieldBuilder() {
8919       if (facetsBuilder_ == null) {
8920         facetsBuilder_ =
8921             new com.google.protobuf.RepeatedFieldBuilderV3<
8922                 com.google.cloud.retail.v2beta.SearchResponse.Facet,
8923                 com.google.cloud.retail.v2beta.SearchResponse.Facet.Builder,
8924                 com.google.cloud.retail.v2beta.SearchResponse.FacetOrBuilder>(
8925                 facets_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
8926         facets_ = null;
8927       }
8928       return facetsBuilder_;
8929     }
8930 
8931     private int totalSize_;
8932     /**
8933      *
8934      *
8935      * <pre>
8936      * The estimated total count of matched items irrespective of pagination. The
8937      * count of [results][google.cloud.retail.v2beta.SearchResponse.results]
8938      * returned by pagination may be less than the
8939      * [total_size][google.cloud.retail.v2beta.SearchResponse.total_size] that
8940      * matches.
8941      * </pre>
8942      *
8943      * <code>int32 total_size = 3;</code>
8944      *
8945      * @return The totalSize.
8946      */
8947     @java.lang.Override
getTotalSize()8948     public int getTotalSize() {
8949       return totalSize_;
8950     }
8951     /**
8952      *
8953      *
8954      * <pre>
8955      * The estimated total count of matched items irrespective of pagination. The
8956      * count of [results][google.cloud.retail.v2beta.SearchResponse.results]
8957      * returned by pagination may be less than the
8958      * [total_size][google.cloud.retail.v2beta.SearchResponse.total_size] that
8959      * matches.
8960      * </pre>
8961      *
8962      * <code>int32 total_size = 3;</code>
8963      *
8964      * @param value The totalSize to set.
8965      * @return This builder for chaining.
8966      */
setTotalSize(int value)8967     public Builder setTotalSize(int value) {
8968 
8969       totalSize_ = value;
8970       bitField0_ |= 0x00000004;
8971       onChanged();
8972       return this;
8973     }
8974     /**
8975      *
8976      *
8977      * <pre>
8978      * The estimated total count of matched items irrespective of pagination. The
8979      * count of [results][google.cloud.retail.v2beta.SearchResponse.results]
8980      * returned by pagination may be less than the
8981      * [total_size][google.cloud.retail.v2beta.SearchResponse.total_size] that
8982      * matches.
8983      * </pre>
8984      *
8985      * <code>int32 total_size = 3;</code>
8986      *
8987      * @return This builder for chaining.
8988      */
clearTotalSize()8989     public Builder clearTotalSize() {
8990       bitField0_ = (bitField0_ & ~0x00000004);
8991       totalSize_ = 0;
8992       onChanged();
8993       return this;
8994     }
8995 
8996     private java.lang.Object correctedQuery_ = "";
8997     /**
8998      *
8999      *
9000      * <pre>
9001      * Contains the spell corrected query, if found. If the spell correction type
9002      * is AUTOMATIC, then the search results are based on corrected_query.
9003      * Otherwise the original query is used for search.
9004      * </pre>
9005      *
9006      * <code>string corrected_query = 4;</code>
9007      *
9008      * @return The correctedQuery.
9009      */
getCorrectedQuery()9010     public java.lang.String getCorrectedQuery() {
9011       java.lang.Object ref = correctedQuery_;
9012       if (!(ref instanceof java.lang.String)) {
9013         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9014         java.lang.String s = bs.toStringUtf8();
9015         correctedQuery_ = s;
9016         return s;
9017       } else {
9018         return (java.lang.String) ref;
9019       }
9020     }
9021     /**
9022      *
9023      *
9024      * <pre>
9025      * Contains the spell corrected query, if found. If the spell correction type
9026      * is AUTOMATIC, then the search results are based on corrected_query.
9027      * Otherwise the original query is used for search.
9028      * </pre>
9029      *
9030      * <code>string corrected_query = 4;</code>
9031      *
9032      * @return The bytes for correctedQuery.
9033      */
getCorrectedQueryBytes()9034     public com.google.protobuf.ByteString getCorrectedQueryBytes() {
9035       java.lang.Object ref = correctedQuery_;
9036       if (ref instanceof String) {
9037         com.google.protobuf.ByteString b =
9038             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9039         correctedQuery_ = b;
9040         return b;
9041       } else {
9042         return (com.google.protobuf.ByteString) ref;
9043       }
9044     }
9045     /**
9046      *
9047      *
9048      * <pre>
9049      * Contains the spell corrected query, if found. If the spell correction type
9050      * is AUTOMATIC, then the search results are based on corrected_query.
9051      * Otherwise the original query is used for search.
9052      * </pre>
9053      *
9054      * <code>string corrected_query = 4;</code>
9055      *
9056      * @param value The correctedQuery to set.
9057      * @return This builder for chaining.
9058      */
setCorrectedQuery(java.lang.String value)9059     public Builder setCorrectedQuery(java.lang.String value) {
9060       if (value == null) {
9061         throw new NullPointerException();
9062       }
9063       correctedQuery_ = value;
9064       bitField0_ |= 0x00000008;
9065       onChanged();
9066       return this;
9067     }
9068     /**
9069      *
9070      *
9071      * <pre>
9072      * Contains the spell corrected query, if found. If the spell correction type
9073      * is AUTOMATIC, then the search results are based on corrected_query.
9074      * Otherwise the original query is used for search.
9075      * </pre>
9076      *
9077      * <code>string corrected_query = 4;</code>
9078      *
9079      * @return This builder for chaining.
9080      */
clearCorrectedQuery()9081     public Builder clearCorrectedQuery() {
9082       correctedQuery_ = getDefaultInstance().getCorrectedQuery();
9083       bitField0_ = (bitField0_ & ~0x00000008);
9084       onChanged();
9085       return this;
9086     }
9087     /**
9088      *
9089      *
9090      * <pre>
9091      * Contains the spell corrected query, if found. If the spell correction type
9092      * is AUTOMATIC, then the search results are based on corrected_query.
9093      * Otherwise the original query is used for search.
9094      * </pre>
9095      *
9096      * <code>string corrected_query = 4;</code>
9097      *
9098      * @param value The bytes for correctedQuery to set.
9099      * @return This builder for chaining.
9100      */
setCorrectedQueryBytes(com.google.protobuf.ByteString value)9101     public Builder setCorrectedQueryBytes(com.google.protobuf.ByteString value) {
9102       if (value == null) {
9103         throw new NullPointerException();
9104       }
9105       checkByteStringIsUtf8(value);
9106       correctedQuery_ = value;
9107       bitField0_ |= 0x00000008;
9108       onChanged();
9109       return this;
9110     }
9111 
9112     private java.lang.Object attributionToken_ = "";
9113     /**
9114      *
9115      *
9116      * <pre>
9117      * A unique search token. This should be included in the
9118      * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
9119      * search, which enables accurate attribution of search model performance.
9120      * </pre>
9121      *
9122      * <code>string attribution_token = 5;</code>
9123      *
9124      * @return The attributionToken.
9125      */
getAttributionToken()9126     public java.lang.String getAttributionToken() {
9127       java.lang.Object ref = attributionToken_;
9128       if (!(ref instanceof java.lang.String)) {
9129         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9130         java.lang.String s = bs.toStringUtf8();
9131         attributionToken_ = s;
9132         return s;
9133       } else {
9134         return (java.lang.String) ref;
9135       }
9136     }
9137     /**
9138      *
9139      *
9140      * <pre>
9141      * A unique search token. This should be included in the
9142      * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
9143      * search, which enables accurate attribution of search model performance.
9144      * </pre>
9145      *
9146      * <code>string attribution_token = 5;</code>
9147      *
9148      * @return The bytes for attributionToken.
9149      */
getAttributionTokenBytes()9150     public com.google.protobuf.ByteString getAttributionTokenBytes() {
9151       java.lang.Object ref = attributionToken_;
9152       if (ref instanceof String) {
9153         com.google.protobuf.ByteString b =
9154             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9155         attributionToken_ = b;
9156         return b;
9157       } else {
9158         return (com.google.protobuf.ByteString) ref;
9159       }
9160     }
9161     /**
9162      *
9163      *
9164      * <pre>
9165      * A unique search token. This should be included in the
9166      * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
9167      * search, which enables accurate attribution of search model performance.
9168      * </pre>
9169      *
9170      * <code>string attribution_token = 5;</code>
9171      *
9172      * @param value The attributionToken to set.
9173      * @return This builder for chaining.
9174      */
setAttributionToken(java.lang.String value)9175     public Builder setAttributionToken(java.lang.String value) {
9176       if (value == null) {
9177         throw new NullPointerException();
9178       }
9179       attributionToken_ = value;
9180       bitField0_ |= 0x00000010;
9181       onChanged();
9182       return this;
9183     }
9184     /**
9185      *
9186      *
9187      * <pre>
9188      * A unique search token. This should be included in the
9189      * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
9190      * search, which enables accurate attribution of search model performance.
9191      * </pre>
9192      *
9193      * <code>string attribution_token = 5;</code>
9194      *
9195      * @return This builder for chaining.
9196      */
clearAttributionToken()9197     public Builder clearAttributionToken() {
9198       attributionToken_ = getDefaultInstance().getAttributionToken();
9199       bitField0_ = (bitField0_ & ~0x00000010);
9200       onChanged();
9201       return this;
9202     }
9203     /**
9204      *
9205      *
9206      * <pre>
9207      * A unique search token. This should be included in the
9208      * [UserEvent][google.cloud.retail.v2beta.UserEvent] logs resulting from this
9209      * search, which enables accurate attribution of search model performance.
9210      * </pre>
9211      *
9212      * <code>string attribution_token = 5;</code>
9213      *
9214      * @param value The bytes for attributionToken to set.
9215      * @return This builder for chaining.
9216      */
setAttributionTokenBytes(com.google.protobuf.ByteString value)9217     public Builder setAttributionTokenBytes(com.google.protobuf.ByteString value) {
9218       if (value == null) {
9219         throw new NullPointerException();
9220       }
9221       checkByteStringIsUtf8(value);
9222       attributionToken_ = value;
9223       bitField0_ |= 0x00000010;
9224       onChanged();
9225       return this;
9226     }
9227 
9228     private java.lang.Object nextPageToken_ = "";
9229     /**
9230      *
9231      *
9232      * <pre>
9233      * A token that can be sent as
9234      * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
9235      * to retrieve the next page. If this field is omitted, there are no
9236      * subsequent pages.
9237      * </pre>
9238      *
9239      * <code>string next_page_token = 6;</code>
9240      *
9241      * @return The nextPageToken.
9242      */
getNextPageToken()9243     public java.lang.String getNextPageToken() {
9244       java.lang.Object ref = nextPageToken_;
9245       if (!(ref instanceof java.lang.String)) {
9246         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9247         java.lang.String s = bs.toStringUtf8();
9248         nextPageToken_ = s;
9249         return s;
9250       } else {
9251         return (java.lang.String) ref;
9252       }
9253     }
9254     /**
9255      *
9256      *
9257      * <pre>
9258      * A token that can be sent as
9259      * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
9260      * to retrieve the next page. If this field is omitted, there are no
9261      * subsequent pages.
9262      * </pre>
9263      *
9264      * <code>string next_page_token = 6;</code>
9265      *
9266      * @return The bytes for nextPageToken.
9267      */
getNextPageTokenBytes()9268     public com.google.protobuf.ByteString getNextPageTokenBytes() {
9269       java.lang.Object ref = nextPageToken_;
9270       if (ref instanceof String) {
9271         com.google.protobuf.ByteString b =
9272             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9273         nextPageToken_ = b;
9274         return b;
9275       } else {
9276         return (com.google.protobuf.ByteString) ref;
9277       }
9278     }
9279     /**
9280      *
9281      *
9282      * <pre>
9283      * A token that can be sent as
9284      * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
9285      * to retrieve the next page. If this field is omitted, there are no
9286      * subsequent pages.
9287      * </pre>
9288      *
9289      * <code>string next_page_token = 6;</code>
9290      *
9291      * @param value The nextPageToken to set.
9292      * @return This builder for chaining.
9293      */
setNextPageToken(java.lang.String value)9294     public Builder setNextPageToken(java.lang.String value) {
9295       if (value == null) {
9296         throw new NullPointerException();
9297       }
9298       nextPageToken_ = value;
9299       bitField0_ |= 0x00000020;
9300       onChanged();
9301       return this;
9302     }
9303     /**
9304      *
9305      *
9306      * <pre>
9307      * A token that can be sent as
9308      * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
9309      * to retrieve the next page. If this field is omitted, there are no
9310      * subsequent pages.
9311      * </pre>
9312      *
9313      * <code>string next_page_token = 6;</code>
9314      *
9315      * @return This builder for chaining.
9316      */
clearNextPageToken()9317     public Builder clearNextPageToken() {
9318       nextPageToken_ = getDefaultInstance().getNextPageToken();
9319       bitField0_ = (bitField0_ & ~0x00000020);
9320       onChanged();
9321       return this;
9322     }
9323     /**
9324      *
9325      *
9326      * <pre>
9327      * A token that can be sent as
9328      * [SearchRequest.page_token][google.cloud.retail.v2beta.SearchRequest.page_token]
9329      * to retrieve the next page. If this field is omitted, there are no
9330      * subsequent pages.
9331      * </pre>
9332      *
9333      * <code>string next_page_token = 6;</code>
9334      *
9335      * @param value The bytes for nextPageToken to set.
9336      * @return This builder for chaining.
9337      */
setNextPageTokenBytes(com.google.protobuf.ByteString value)9338     public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) {
9339       if (value == null) {
9340         throw new NullPointerException();
9341       }
9342       checkByteStringIsUtf8(value);
9343       nextPageToken_ = value;
9344       bitField0_ |= 0x00000020;
9345       onChanged();
9346       return this;
9347     }
9348 
9349     private com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo queryExpansionInfo_;
9350     private com.google.protobuf.SingleFieldBuilderV3<
9351             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo,
9352             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder,
9353             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder>
9354         queryExpansionInfoBuilder_;
9355     /**
9356      *
9357      *
9358      * <pre>
9359      * Query expansion information for the returned results.
9360      * </pre>
9361      *
9362      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9363      * </code>
9364      *
9365      * @return Whether the queryExpansionInfo field is set.
9366      */
hasQueryExpansionInfo()9367     public boolean hasQueryExpansionInfo() {
9368       return ((bitField0_ & 0x00000040) != 0);
9369     }
9370     /**
9371      *
9372      *
9373      * <pre>
9374      * Query expansion information for the returned results.
9375      * </pre>
9376      *
9377      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9378      * </code>
9379      *
9380      * @return The queryExpansionInfo.
9381      */
9382     public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
getQueryExpansionInfo()9383         getQueryExpansionInfo() {
9384       if (queryExpansionInfoBuilder_ == null) {
9385         return queryExpansionInfo_ == null
9386             ? com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.getDefaultInstance()
9387             : queryExpansionInfo_;
9388       } else {
9389         return queryExpansionInfoBuilder_.getMessage();
9390       }
9391     }
9392     /**
9393      *
9394      *
9395      * <pre>
9396      * Query expansion information for the returned results.
9397      * </pre>
9398      *
9399      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9400      * </code>
9401      */
setQueryExpansionInfo( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo value)9402     public Builder setQueryExpansionInfo(
9403         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo value) {
9404       if (queryExpansionInfoBuilder_ == null) {
9405         if (value == null) {
9406           throw new NullPointerException();
9407         }
9408         queryExpansionInfo_ = value;
9409       } else {
9410         queryExpansionInfoBuilder_.setMessage(value);
9411       }
9412       bitField0_ |= 0x00000040;
9413       onChanged();
9414       return this;
9415     }
9416     /**
9417      *
9418      *
9419      * <pre>
9420      * Query expansion information for the returned results.
9421      * </pre>
9422      *
9423      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9424      * </code>
9425      */
setQueryExpansionInfo( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder builderForValue)9426     public Builder setQueryExpansionInfo(
9427         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder builderForValue) {
9428       if (queryExpansionInfoBuilder_ == null) {
9429         queryExpansionInfo_ = builderForValue.build();
9430       } else {
9431         queryExpansionInfoBuilder_.setMessage(builderForValue.build());
9432       }
9433       bitField0_ |= 0x00000040;
9434       onChanged();
9435       return this;
9436     }
9437     /**
9438      *
9439      *
9440      * <pre>
9441      * Query expansion information for the returned results.
9442      * </pre>
9443      *
9444      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9445      * </code>
9446      */
mergeQueryExpansionInfo( com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo value)9447     public Builder mergeQueryExpansionInfo(
9448         com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo value) {
9449       if (queryExpansionInfoBuilder_ == null) {
9450         if (((bitField0_ & 0x00000040) != 0)
9451             && queryExpansionInfo_ != null
9452             && queryExpansionInfo_
9453                 != com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo
9454                     .getDefaultInstance()) {
9455           getQueryExpansionInfoBuilder().mergeFrom(value);
9456         } else {
9457           queryExpansionInfo_ = value;
9458         }
9459       } else {
9460         queryExpansionInfoBuilder_.mergeFrom(value);
9461       }
9462       bitField0_ |= 0x00000040;
9463       onChanged();
9464       return this;
9465     }
9466     /**
9467      *
9468      *
9469      * <pre>
9470      * Query expansion information for the returned results.
9471      * </pre>
9472      *
9473      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9474      * </code>
9475      */
clearQueryExpansionInfo()9476     public Builder clearQueryExpansionInfo() {
9477       bitField0_ = (bitField0_ & ~0x00000040);
9478       queryExpansionInfo_ = null;
9479       if (queryExpansionInfoBuilder_ != null) {
9480         queryExpansionInfoBuilder_.dispose();
9481         queryExpansionInfoBuilder_ = null;
9482       }
9483       onChanged();
9484       return this;
9485     }
9486     /**
9487      *
9488      *
9489      * <pre>
9490      * Query expansion information for the returned results.
9491      * </pre>
9492      *
9493      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9494      * </code>
9495      */
9496     public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder
getQueryExpansionInfoBuilder()9497         getQueryExpansionInfoBuilder() {
9498       bitField0_ |= 0x00000040;
9499       onChanged();
9500       return getQueryExpansionInfoFieldBuilder().getBuilder();
9501     }
9502     /**
9503      *
9504      *
9505      * <pre>
9506      * Query expansion information for the returned results.
9507      * </pre>
9508      *
9509      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9510      * </code>
9511      */
9512     public com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder
getQueryExpansionInfoOrBuilder()9513         getQueryExpansionInfoOrBuilder() {
9514       if (queryExpansionInfoBuilder_ != null) {
9515         return queryExpansionInfoBuilder_.getMessageOrBuilder();
9516       } else {
9517         return queryExpansionInfo_ == null
9518             ? com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.getDefaultInstance()
9519             : queryExpansionInfo_;
9520       }
9521     }
9522     /**
9523      *
9524      *
9525      * <pre>
9526      * Query expansion information for the returned results.
9527      * </pre>
9528      *
9529      * <code>.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo query_expansion_info = 7;
9530      * </code>
9531      */
9532     private com.google.protobuf.SingleFieldBuilderV3<
9533             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo,
9534             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder,
9535             com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder>
getQueryExpansionInfoFieldBuilder()9536         getQueryExpansionInfoFieldBuilder() {
9537       if (queryExpansionInfoBuilder_ == null) {
9538         queryExpansionInfoBuilder_ =
9539             new com.google.protobuf.SingleFieldBuilderV3<
9540                 com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo,
9541                 com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfo.Builder,
9542                 com.google.cloud.retail.v2beta.SearchResponse.QueryExpansionInfoOrBuilder>(
9543                 getQueryExpansionInfo(), getParentForChildren(), isClean());
9544         queryExpansionInfo_ = null;
9545       }
9546       return queryExpansionInfoBuilder_;
9547     }
9548 
9549     private java.lang.Object redirectUri_ = "";
9550     /**
9551      *
9552      *
9553      * <pre>
9554      * The URI of a customer-defined redirect page. If redirect action is
9555      * triggered, no search is performed, and only
9556      * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
9557      * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
9558      * are set in the response.
9559      * </pre>
9560      *
9561      * <code>string redirect_uri = 10;</code>
9562      *
9563      * @return The redirectUri.
9564      */
getRedirectUri()9565     public java.lang.String getRedirectUri() {
9566       java.lang.Object ref = redirectUri_;
9567       if (!(ref instanceof java.lang.String)) {
9568         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
9569         java.lang.String s = bs.toStringUtf8();
9570         redirectUri_ = s;
9571         return s;
9572       } else {
9573         return (java.lang.String) ref;
9574       }
9575     }
9576     /**
9577      *
9578      *
9579      * <pre>
9580      * The URI of a customer-defined redirect page. If redirect action is
9581      * triggered, no search is performed, and only
9582      * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
9583      * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
9584      * are set in the response.
9585      * </pre>
9586      *
9587      * <code>string redirect_uri = 10;</code>
9588      *
9589      * @return The bytes for redirectUri.
9590      */
getRedirectUriBytes()9591     public com.google.protobuf.ByteString getRedirectUriBytes() {
9592       java.lang.Object ref = redirectUri_;
9593       if (ref instanceof String) {
9594         com.google.protobuf.ByteString b =
9595             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
9596         redirectUri_ = b;
9597         return b;
9598       } else {
9599         return (com.google.protobuf.ByteString) ref;
9600       }
9601     }
9602     /**
9603      *
9604      *
9605      * <pre>
9606      * The URI of a customer-defined redirect page. If redirect action is
9607      * triggered, no search is performed, and only
9608      * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
9609      * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
9610      * are set in the response.
9611      * </pre>
9612      *
9613      * <code>string redirect_uri = 10;</code>
9614      *
9615      * @param value The redirectUri to set.
9616      * @return This builder for chaining.
9617      */
setRedirectUri(java.lang.String value)9618     public Builder setRedirectUri(java.lang.String value) {
9619       if (value == null) {
9620         throw new NullPointerException();
9621       }
9622       redirectUri_ = value;
9623       bitField0_ |= 0x00000080;
9624       onChanged();
9625       return this;
9626     }
9627     /**
9628      *
9629      *
9630      * <pre>
9631      * The URI of a customer-defined redirect page. If redirect action is
9632      * triggered, no search is performed, and only
9633      * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
9634      * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
9635      * are set in the response.
9636      * </pre>
9637      *
9638      * <code>string redirect_uri = 10;</code>
9639      *
9640      * @return This builder for chaining.
9641      */
clearRedirectUri()9642     public Builder clearRedirectUri() {
9643       redirectUri_ = getDefaultInstance().getRedirectUri();
9644       bitField0_ = (bitField0_ & ~0x00000080);
9645       onChanged();
9646       return this;
9647     }
9648     /**
9649      *
9650      *
9651      * <pre>
9652      * The URI of a customer-defined redirect page. If redirect action is
9653      * triggered, no search is performed, and only
9654      * [redirect_uri][google.cloud.retail.v2beta.SearchResponse.redirect_uri] and
9655      * [attribution_token][google.cloud.retail.v2beta.SearchResponse.attribution_token]
9656      * are set in the response.
9657      * </pre>
9658      *
9659      * <code>string redirect_uri = 10;</code>
9660      *
9661      * @param value The bytes for redirectUri to set.
9662      * @return This builder for chaining.
9663      */
setRedirectUriBytes(com.google.protobuf.ByteString value)9664     public Builder setRedirectUriBytes(com.google.protobuf.ByteString value) {
9665       if (value == null) {
9666         throw new NullPointerException();
9667       }
9668       checkByteStringIsUtf8(value);
9669       redirectUri_ = value;
9670       bitField0_ |= 0x00000080;
9671       onChanged();
9672       return this;
9673     }
9674 
9675     private com.google.protobuf.LazyStringList appliedControls_ =
9676         com.google.protobuf.LazyStringArrayList.EMPTY;
9677 
ensureAppliedControlsIsMutable()9678     private void ensureAppliedControlsIsMutable() {
9679       if (!((bitField0_ & 0x00000100) != 0)) {
9680         appliedControls_ = new com.google.protobuf.LazyStringArrayList(appliedControls_);
9681         bitField0_ |= 0x00000100;
9682       }
9683     }
9684     /**
9685      *
9686      *
9687      * <pre>
9688      * The fully qualified resource name of applied
9689      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9690      * </pre>
9691      *
9692      * <code>repeated string applied_controls = 12;</code>
9693      *
9694      * @return A list containing the appliedControls.
9695      */
getAppliedControlsList()9696     public com.google.protobuf.ProtocolStringList getAppliedControlsList() {
9697       return appliedControls_.getUnmodifiableView();
9698     }
9699     /**
9700      *
9701      *
9702      * <pre>
9703      * The fully qualified resource name of applied
9704      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9705      * </pre>
9706      *
9707      * <code>repeated string applied_controls = 12;</code>
9708      *
9709      * @return The count of appliedControls.
9710      */
getAppliedControlsCount()9711     public int getAppliedControlsCount() {
9712       return appliedControls_.size();
9713     }
9714     /**
9715      *
9716      *
9717      * <pre>
9718      * The fully qualified resource name of applied
9719      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9720      * </pre>
9721      *
9722      * <code>repeated string applied_controls = 12;</code>
9723      *
9724      * @param index The index of the element to return.
9725      * @return The appliedControls at the given index.
9726      */
getAppliedControls(int index)9727     public java.lang.String getAppliedControls(int index) {
9728       return appliedControls_.get(index);
9729     }
9730     /**
9731      *
9732      *
9733      * <pre>
9734      * The fully qualified resource name of applied
9735      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9736      * </pre>
9737      *
9738      * <code>repeated string applied_controls = 12;</code>
9739      *
9740      * @param index The index of the value to return.
9741      * @return The bytes of the appliedControls at the given index.
9742      */
getAppliedControlsBytes(int index)9743     public com.google.protobuf.ByteString getAppliedControlsBytes(int index) {
9744       return appliedControls_.getByteString(index);
9745     }
9746     /**
9747      *
9748      *
9749      * <pre>
9750      * The fully qualified resource name of applied
9751      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9752      * </pre>
9753      *
9754      * <code>repeated string applied_controls = 12;</code>
9755      *
9756      * @param index The index to set the value at.
9757      * @param value The appliedControls to set.
9758      * @return This builder for chaining.
9759      */
setAppliedControls(int index, java.lang.String value)9760     public Builder setAppliedControls(int index, java.lang.String value) {
9761       if (value == null) {
9762         throw new NullPointerException();
9763       }
9764       ensureAppliedControlsIsMutable();
9765       appliedControls_.set(index, value);
9766       onChanged();
9767       return this;
9768     }
9769     /**
9770      *
9771      *
9772      * <pre>
9773      * The fully qualified resource name of applied
9774      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9775      * </pre>
9776      *
9777      * <code>repeated string applied_controls = 12;</code>
9778      *
9779      * @param value The appliedControls to add.
9780      * @return This builder for chaining.
9781      */
addAppliedControls(java.lang.String value)9782     public Builder addAppliedControls(java.lang.String value) {
9783       if (value == null) {
9784         throw new NullPointerException();
9785       }
9786       ensureAppliedControlsIsMutable();
9787       appliedControls_.add(value);
9788       onChanged();
9789       return this;
9790     }
9791     /**
9792      *
9793      *
9794      * <pre>
9795      * The fully qualified resource name of applied
9796      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9797      * </pre>
9798      *
9799      * <code>repeated string applied_controls = 12;</code>
9800      *
9801      * @param values The appliedControls to add.
9802      * @return This builder for chaining.
9803      */
addAllAppliedControls(java.lang.Iterable<java.lang.String> values)9804     public Builder addAllAppliedControls(java.lang.Iterable<java.lang.String> values) {
9805       ensureAppliedControlsIsMutable();
9806       com.google.protobuf.AbstractMessageLite.Builder.addAll(values, appliedControls_);
9807       onChanged();
9808       return this;
9809     }
9810     /**
9811      *
9812      *
9813      * <pre>
9814      * The fully qualified resource name of applied
9815      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9816      * </pre>
9817      *
9818      * <code>repeated string applied_controls = 12;</code>
9819      *
9820      * @return This builder for chaining.
9821      */
clearAppliedControls()9822     public Builder clearAppliedControls() {
9823       appliedControls_ = com.google.protobuf.LazyStringArrayList.EMPTY;
9824       bitField0_ = (bitField0_ & ~0x00000100);
9825       onChanged();
9826       return this;
9827     }
9828     /**
9829      *
9830      *
9831      * <pre>
9832      * The fully qualified resource name of applied
9833      * [controls](https://cloud.google.com/retail/docs/serving-control-rules).
9834      * </pre>
9835      *
9836      * <code>repeated string applied_controls = 12;</code>
9837      *
9838      * @param value The bytes of the appliedControls to add.
9839      * @return This builder for chaining.
9840      */
addAppliedControlsBytes(com.google.protobuf.ByteString value)9841     public Builder addAppliedControlsBytes(com.google.protobuf.ByteString value) {
9842       if (value == null) {
9843         throw new NullPointerException();
9844       }
9845       checkByteStringIsUtf8(value);
9846       ensureAppliedControlsIsMutable();
9847       appliedControls_.add(value);
9848       onChanged();
9849       return this;
9850     }
9851 
9852     private java.util.List<
9853             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>
9854         invalidConditionBoostSpecs_ = java.util.Collections.emptyList();
9855 
ensureInvalidConditionBoostSpecsIsMutable()9856     private void ensureInvalidConditionBoostSpecsIsMutable() {
9857       if (!((bitField0_ & 0x00000200) != 0)) {
9858         invalidConditionBoostSpecs_ =
9859             new java.util.ArrayList<
9860                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>(
9861                 invalidConditionBoostSpecs_);
9862         bitField0_ |= 0x00000200;
9863       }
9864     }
9865 
9866     private com.google.protobuf.RepeatedFieldBuilderV3<
9867             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec,
9868             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder,
9869             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder>
9870         invalidConditionBoostSpecsBuilder_;
9871 
9872     /**
9873      *
9874      *
9875      * <pre>
9876      * The invalid
9877      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9878      * that are not applied during serving.
9879      * </pre>
9880      *
9881      * <code>
9882      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9883      * </code>
9884      */
9885     public java.util.List<com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>
getInvalidConditionBoostSpecsList()9886         getInvalidConditionBoostSpecsList() {
9887       if (invalidConditionBoostSpecsBuilder_ == null) {
9888         return java.util.Collections.unmodifiableList(invalidConditionBoostSpecs_);
9889       } else {
9890         return invalidConditionBoostSpecsBuilder_.getMessageList();
9891       }
9892     }
9893     /**
9894      *
9895      *
9896      * <pre>
9897      * The invalid
9898      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9899      * that are not applied during serving.
9900      * </pre>
9901      *
9902      * <code>
9903      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9904      * </code>
9905      */
getInvalidConditionBoostSpecsCount()9906     public int getInvalidConditionBoostSpecsCount() {
9907       if (invalidConditionBoostSpecsBuilder_ == null) {
9908         return invalidConditionBoostSpecs_.size();
9909       } else {
9910         return invalidConditionBoostSpecsBuilder_.getCount();
9911       }
9912     }
9913     /**
9914      *
9915      *
9916      * <pre>
9917      * The invalid
9918      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9919      * that are not applied during serving.
9920      * </pre>
9921      *
9922      * <code>
9923      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9924      * </code>
9925      */
9926     public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec
getInvalidConditionBoostSpecs(int index)9927         getInvalidConditionBoostSpecs(int index) {
9928       if (invalidConditionBoostSpecsBuilder_ == null) {
9929         return invalidConditionBoostSpecs_.get(index);
9930       } else {
9931         return invalidConditionBoostSpecsBuilder_.getMessage(index);
9932       }
9933     }
9934     /**
9935      *
9936      *
9937      * <pre>
9938      * The invalid
9939      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9940      * that are not applied during serving.
9941      * </pre>
9942      *
9943      * <code>
9944      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9945      * </code>
9946      */
setInvalidConditionBoostSpecs( int index, com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value)9947     public Builder setInvalidConditionBoostSpecs(
9948         int index,
9949         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value) {
9950       if (invalidConditionBoostSpecsBuilder_ == null) {
9951         if (value == null) {
9952           throw new NullPointerException();
9953         }
9954         ensureInvalidConditionBoostSpecsIsMutable();
9955         invalidConditionBoostSpecs_.set(index, value);
9956         onChanged();
9957       } else {
9958         invalidConditionBoostSpecsBuilder_.setMessage(index, value);
9959       }
9960       return this;
9961     }
9962     /**
9963      *
9964      *
9965      * <pre>
9966      * The invalid
9967      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9968      * that are not applied during serving.
9969      * </pre>
9970      *
9971      * <code>
9972      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9973      * </code>
9974      */
setInvalidConditionBoostSpecs( int index, com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder builderForValue)9975     public Builder setInvalidConditionBoostSpecs(
9976         int index,
9977         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
9978             builderForValue) {
9979       if (invalidConditionBoostSpecsBuilder_ == null) {
9980         ensureInvalidConditionBoostSpecsIsMutable();
9981         invalidConditionBoostSpecs_.set(index, builderForValue.build());
9982         onChanged();
9983       } else {
9984         invalidConditionBoostSpecsBuilder_.setMessage(index, builderForValue.build());
9985       }
9986       return this;
9987     }
9988     /**
9989      *
9990      *
9991      * <pre>
9992      * The invalid
9993      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
9994      * that are not applied during serving.
9995      * </pre>
9996      *
9997      * <code>
9998      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
9999      * </code>
10000      */
addInvalidConditionBoostSpecs( com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value)10001     public Builder addInvalidConditionBoostSpecs(
10002         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value) {
10003       if (invalidConditionBoostSpecsBuilder_ == null) {
10004         if (value == null) {
10005           throw new NullPointerException();
10006         }
10007         ensureInvalidConditionBoostSpecsIsMutable();
10008         invalidConditionBoostSpecs_.add(value);
10009         onChanged();
10010       } else {
10011         invalidConditionBoostSpecsBuilder_.addMessage(value);
10012       }
10013       return this;
10014     }
10015     /**
10016      *
10017      *
10018      * <pre>
10019      * The invalid
10020      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10021      * that are not applied during serving.
10022      * </pre>
10023      *
10024      * <code>
10025      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10026      * </code>
10027      */
addInvalidConditionBoostSpecs( int index, com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value)10028     public Builder addInvalidConditionBoostSpecs(
10029         int index,
10030         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec value) {
10031       if (invalidConditionBoostSpecsBuilder_ == null) {
10032         if (value == null) {
10033           throw new NullPointerException();
10034         }
10035         ensureInvalidConditionBoostSpecsIsMutable();
10036         invalidConditionBoostSpecs_.add(index, value);
10037         onChanged();
10038       } else {
10039         invalidConditionBoostSpecsBuilder_.addMessage(index, value);
10040       }
10041       return this;
10042     }
10043     /**
10044      *
10045      *
10046      * <pre>
10047      * The invalid
10048      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10049      * that are not applied during serving.
10050      * </pre>
10051      *
10052      * <code>
10053      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10054      * </code>
10055      */
addInvalidConditionBoostSpecs( com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder builderForValue)10056     public Builder addInvalidConditionBoostSpecs(
10057         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
10058             builderForValue) {
10059       if (invalidConditionBoostSpecsBuilder_ == null) {
10060         ensureInvalidConditionBoostSpecsIsMutable();
10061         invalidConditionBoostSpecs_.add(builderForValue.build());
10062         onChanged();
10063       } else {
10064         invalidConditionBoostSpecsBuilder_.addMessage(builderForValue.build());
10065       }
10066       return this;
10067     }
10068     /**
10069      *
10070      *
10071      * <pre>
10072      * The invalid
10073      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10074      * that are not applied during serving.
10075      * </pre>
10076      *
10077      * <code>
10078      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10079      * </code>
10080      */
addInvalidConditionBoostSpecs( int index, com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder builderForValue)10081     public Builder addInvalidConditionBoostSpecs(
10082         int index,
10083         com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
10084             builderForValue) {
10085       if (invalidConditionBoostSpecsBuilder_ == null) {
10086         ensureInvalidConditionBoostSpecsIsMutable();
10087         invalidConditionBoostSpecs_.add(index, builderForValue.build());
10088         onChanged();
10089       } else {
10090         invalidConditionBoostSpecsBuilder_.addMessage(index, builderForValue.build());
10091       }
10092       return this;
10093     }
10094     /**
10095      *
10096      *
10097      * <pre>
10098      * The invalid
10099      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10100      * that are not applied during serving.
10101      * </pre>
10102      *
10103      * <code>
10104      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10105      * </code>
10106      */
addAllInvalidConditionBoostSpecs( java.lang.Iterable< ? extends com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec> values)10107     public Builder addAllInvalidConditionBoostSpecs(
10108         java.lang.Iterable<
10109                 ? extends com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec>
10110             values) {
10111       if (invalidConditionBoostSpecsBuilder_ == null) {
10112         ensureInvalidConditionBoostSpecsIsMutable();
10113         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, invalidConditionBoostSpecs_);
10114         onChanged();
10115       } else {
10116         invalidConditionBoostSpecsBuilder_.addAllMessages(values);
10117       }
10118       return this;
10119     }
10120     /**
10121      *
10122      *
10123      * <pre>
10124      * The invalid
10125      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10126      * that are not applied during serving.
10127      * </pre>
10128      *
10129      * <code>
10130      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10131      * </code>
10132      */
clearInvalidConditionBoostSpecs()10133     public Builder clearInvalidConditionBoostSpecs() {
10134       if (invalidConditionBoostSpecsBuilder_ == null) {
10135         invalidConditionBoostSpecs_ = java.util.Collections.emptyList();
10136         bitField0_ = (bitField0_ & ~0x00000200);
10137         onChanged();
10138       } else {
10139         invalidConditionBoostSpecsBuilder_.clear();
10140       }
10141       return this;
10142     }
10143     /**
10144      *
10145      *
10146      * <pre>
10147      * The invalid
10148      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10149      * that are not applied during serving.
10150      * </pre>
10151      *
10152      * <code>
10153      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10154      * </code>
10155      */
removeInvalidConditionBoostSpecs(int index)10156     public Builder removeInvalidConditionBoostSpecs(int index) {
10157       if (invalidConditionBoostSpecsBuilder_ == null) {
10158         ensureInvalidConditionBoostSpecsIsMutable();
10159         invalidConditionBoostSpecs_.remove(index);
10160         onChanged();
10161       } else {
10162         invalidConditionBoostSpecsBuilder_.remove(index);
10163       }
10164       return this;
10165     }
10166     /**
10167      *
10168      *
10169      * <pre>
10170      * The invalid
10171      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10172      * that are not applied during serving.
10173      * </pre>
10174      *
10175      * <code>
10176      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10177      * </code>
10178      */
10179     public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
getInvalidConditionBoostSpecsBuilder(int index)10180         getInvalidConditionBoostSpecsBuilder(int index) {
10181       return getInvalidConditionBoostSpecsFieldBuilder().getBuilder(index);
10182     }
10183     /**
10184      *
10185      *
10186      * <pre>
10187      * The invalid
10188      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10189      * that are not applied during serving.
10190      * </pre>
10191      *
10192      * <code>
10193      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10194      * </code>
10195      */
10196     public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder
getInvalidConditionBoostSpecsOrBuilder(int index)10197         getInvalidConditionBoostSpecsOrBuilder(int index) {
10198       if (invalidConditionBoostSpecsBuilder_ == null) {
10199         return invalidConditionBoostSpecs_.get(index);
10200       } else {
10201         return invalidConditionBoostSpecsBuilder_.getMessageOrBuilder(index);
10202       }
10203     }
10204     /**
10205      *
10206      *
10207      * <pre>
10208      * The invalid
10209      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10210      * that are not applied during serving.
10211      * </pre>
10212      *
10213      * <code>
10214      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10215      * </code>
10216      */
10217     public java.util.List<
10218             ? extends
10219                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder>
getInvalidConditionBoostSpecsOrBuilderList()10220         getInvalidConditionBoostSpecsOrBuilderList() {
10221       if (invalidConditionBoostSpecsBuilder_ != null) {
10222         return invalidConditionBoostSpecsBuilder_.getMessageOrBuilderList();
10223       } else {
10224         return java.util.Collections.unmodifiableList(invalidConditionBoostSpecs_);
10225       }
10226     }
10227     /**
10228      *
10229      *
10230      * <pre>
10231      * The invalid
10232      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10233      * that are not applied during serving.
10234      * </pre>
10235      *
10236      * <code>
10237      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10238      * </code>
10239      */
10240     public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
addInvalidConditionBoostSpecsBuilder()10241         addInvalidConditionBoostSpecsBuilder() {
10242       return getInvalidConditionBoostSpecsFieldBuilder()
10243           .addBuilder(
10244               com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec
10245                   .getDefaultInstance());
10246     }
10247     /**
10248      *
10249      *
10250      * <pre>
10251      * The invalid
10252      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10253      * that are not applied during serving.
10254      * </pre>
10255      *
10256      * <code>
10257      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10258      * </code>
10259      */
10260     public com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder
addInvalidConditionBoostSpecsBuilder(int index)10261         addInvalidConditionBoostSpecsBuilder(int index) {
10262       return getInvalidConditionBoostSpecsFieldBuilder()
10263           .addBuilder(
10264               index,
10265               com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec
10266                   .getDefaultInstance());
10267     }
10268     /**
10269      *
10270      *
10271      * <pre>
10272      * The invalid
10273      * [SearchRequest.BoostSpec.condition_boost_specs][google.cloud.retail.v2beta.SearchRequest.BoostSpec.condition_boost_specs]
10274      * that are not applied during serving.
10275      * </pre>
10276      *
10277      * <code>
10278      * repeated .google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec invalid_condition_boost_specs = 14;
10279      * </code>
10280      */
10281     public java.util.List<
10282             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder>
getInvalidConditionBoostSpecsBuilderList()10283         getInvalidConditionBoostSpecsBuilderList() {
10284       return getInvalidConditionBoostSpecsFieldBuilder().getBuilderList();
10285     }
10286 
10287     private com.google.protobuf.RepeatedFieldBuilderV3<
10288             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec,
10289             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder,
10290             com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder>
getInvalidConditionBoostSpecsFieldBuilder()10291         getInvalidConditionBoostSpecsFieldBuilder() {
10292       if (invalidConditionBoostSpecsBuilder_ == null) {
10293         invalidConditionBoostSpecsBuilder_ =
10294             new com.google.protobuf.RepeatedFieldBuilderV3<
10295                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec,
10296                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpec.Builder,
10297                 com.google.cloud.retail.v2beta.SearchRequest.BoostSpec.ConditionBoostSpecOrBuilder>(
10298                 invalidConditionBoostSpecs_,
10299                 ((bitField0_ & 0x00000200) != 0),
10300                 getParentForChildren(),
10301                 isClean());
10302         invalidConditionBoostSpecs_ = null;
10303       }
10304       return invalidConditionBoostSpecsBuilder_;
10305     }
10306 
10307     private java.util.List<com.google.cloud.retail.v2beta.ExperimentInfo> experimentInfo_ =
10308         java.util.Collections.emptyList();
10309 
ensureExperimentInfoIsMutable()10310     private void ensureExperimentInfoIsMutable() {
10311       if (!((bitField0_ & 0x00000400) != 0)) {
10312         experimentInfo_ =
10313             new java.util.ArrayList<com.google.cloud.retail.v2beta.ExperimentInfo>(experimentInfo_);
10314         bitField0_ |= 0x00000400;
10315       }
10316     }
10317 
10318     private com.google.protobuf.RepeatedFieldBuilderV3<
10319             com.google.cloud.retail.v2beta.ExperimentInfo,
10320             com.google.cloud.retail.v2beta.ExperimentInfo.Builder,
10321             com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder>
10322         experimentInfoBuilder_;
10323 
10324     /**
10325      *
10326      *
10327      * <pre>
10328      * Metadata related to A/B testing [Experiment][] associated with this
10329      * response. Only exists when an experiment is triggered.
10330      * </pre>
10331      *
10332      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10333      */
getExperimentInfoList()10334     public java.util.List<com.google.cloud.retail.v2beta.ExperimentInfo> getExperimentInfoList() {
10335       if (experimentInfoBuilder_ == null) {
10336         return java.util.Collections.unmodifiableList(experimentInfo_);
10337       } else {
10338         return experimentInfoBuilder_.getMessageList();
10339       }
10340     }
10341     /**
10342      *
10343      *
10344      * <pre>
10345      * Metadata related to A/B testing [Experiment][] associated with this
10346      * response. Only exists when an experiment is triggered.
10347      * </pre>
10348      *
10349      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10350      */
getExperimentInfoCount()10351     public int getExperimentInfoCount() {
10352       if (experimentInfoBuilder_ == null) {
10353         return experimentInfo_.size();
10354       } else {
10355         return experimentInfoBuilder_.getCount();
10356       }
10357     }
10358     /**
10359      *
10360      *
10361      * <pre>
10362      * Metadata related to A/B testing [Experiment][] associated with this
10363      * response. Only exists when an experiment is triggered.
10364      * </pre>
10365      *
10366      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10367      */
getExperimentInfo(int index)10368     public com.google.cloud.retail.v2beta.ExperimentInfo getExperimentInfo(int index) {
10369       if (experimentInfoBuilder_ == null) {
10370         return experimentInfo_.get(index);
10371       } else {
10372         return experimentInfoBuilder_.getMessage(index);
10373       }
10374     }
10375     /**
10376      *
10377      *
10378      * <pre>
10379      * Metadata related to A/B testing [Experiment][] associated with this
10380      * response. Only exists when an experiment is triggered.
10381      * </pre>
10382      *
10383      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10384      */
setExperimentInfo( int index, com.google.cloud.retail.v2beta.ExperimentInfo value)10385     public Builder setExperimentInfo(
10386         int index, com.google.cloud.retail.v2beta.ExperimentInfo value) {
10387       if (experimentInfoBuilder_ == null) {
10388         if (value == null) {
10389           throw new NullPointerException();
10390         }
10391         ensureExperimentInfoIsMutable();
10392         experimentInfo_.set(index, value);
10393         onChanged();
10394       } else {
10395         experimentInfoBuilder_.setMessage(index, value);
10396       }
10397       return this;
10398     }
10399     /**
10400      *
10401      *
10402      * <pre>
10403      * Metadata related to A/B testing [Experiment][] associated with this
10404      * response. Only exists when an experiment is triggered.
10405      * </pre>
10406      *
10407      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10408      */
setExperimentInfo( int index, com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue)10409     public Builder setExperimentInfo(
10410         int index, com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue) {
10411       if (experimentInfoBuilder_ == null) {
10412         ensureExperimentInfoIsMutable();
10413         experimentInfo_.set(index, builderForValue.build());
10414         onChanged();
10415       } else {
10416         experimentInfoBuilder_.setMessage(index, builderForValue.build());
10417       }
10418       return this;
10419     }
10420     /**
10421      *
10422      *
10423      * <pre>
10424      * Metadata related to A/B testing [Experiment][] associated with this
10425      * response. Only exists when an experiment is triggered.
10426      * </pre>
10427      *
10428      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10429      */
addExperimentInfo(com.google.cloud.retail.v2beta.ExperimentInfo value)10430     public Builder addExperimentInfo(com.google.cloud.retail.v2beta.ExperimentInfo value) {
10431       if (experimentInfoBuilder_ == null) {
10432         if (value == null) {
10433           throw new NullPointerException();
10434         }
10435         ensureExperimentInfoIsMutable();
10436         experimentInfo_.add(value);
10437         onChanged();
10438       } else {
10439         experimentInfoBuilder_.addMessage(value);
10440       }
10441       return this;
10442     }
10443     /**
10444      *
10445      *
10446      * <pre>
10447      * Metadata related to A/B testing [Experiment][] associated with this
10448      * response. Only exists when an experiment is triggered.
10449      * </pre>
10450      *
10451      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10452      */
addExperimentInfo( int index, com.google.cloud.retail.v2beta.ExperimentInfo value)10453     public Builder addExperimentInfo(
10454         int index, com.google.cloud.retail.v2beta.ExperimentInfo value) {
10455       if (experimentInfoBuilder_ == null) {
10456         if (value == null) {
10457           throw new NullPointerException();
10458         }
10459         ensureExperimentInfoIsMutable();
10460         experimentInfo_.add(index, value);
10461         onChanged();
10462       } else {
10463         experimentInfoBuilder_.addMessage(index, value);
10464       }
10465       return this;
10466     }
10467     /**
10468      *
10469      *
10470      * <pre>
10471      * Metadata related to A/B testing [Experiment][] associated with this
10472      * response. Only exists when an experiment is triggered.
10473      * </pre>
10474      *
10475      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10476      */
addExperimentInfo( com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue)10477     public Builder addExperimentInfo(
10478         com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue) {
10479       if (experimentInfoBuilder_ == null) {
10480         ensureExperimentInfoIsMutable();
10481         experimentInfo_.add(builderForValue.build());
10482         onChanged();
10483       } else {
10484         experimentInfoBuilder_.addMessage(builderForValue.build());
10485       }
10486       return this;
10487     }
10488     /**
10489      *
10490      *
10491      * <pre>
10492      * Metadata related to A/B testing [Experiment][] associated with this
10493      * response. Only exists when an experiment is triggered.
10494      * </pre>
10495      *
10496      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10497      */
addExperimentInfo( int index, com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue)10498     public Builder addExperimentInfo(
10499         int index, com.google.cloud.retail.v2beta.ExperimentInfo.Builder builderForValue) {
10500       if (experimentInfoBuilder_ == null) {
10501         ensureExperimentInfoIsMutable();
10502         experimentInfo_.add(index, builderForValue.build());
10503         onChanged();
10504       } else {
10505         experimentInfoBuilder_.addMessage(index, builderForValue.build());
10506       }
10507       return this;
10508     }
10509     /**
10510      *
10511      *
10512      * <pre>
10513      * Metadata related to A/B testing [Experiment][] associated with this
10514      * response. Only exists when an experiment is triggered.
10515      * </pre>
10516      *
10517      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10518      */
addAllExperimentInfo( java.lang.Iterable<? extends com.google.cloud.retail.v2beta.ExperimentInfo> values)10519     public Builder addAllExperimentInfo(
10520         java.lang.Iterable<? extends com.google.cloud.retail.v2beta.ExperimentInfo> values) {
10521       if (experimentInfoBuilder_ == null) {
10522         ensureExperimentInfoIsMutable();
10523         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, experimentInfo_);
10524         onChanged();
10525       } else {
10526         experimentInfoBuilder_.addAllMessages(values);
10527       }
10528       return this;
10529     }
10530     /**
10531      *
10532      *
10533      * <pre>
10534      * Metadata related to A/B testing [Experiment][] associated with this
10535      * response. Only exists when an experiment is triggered.
10536      * </pre>
10537      *
10538      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10539      */
clearExperimentInfo()10540     public Builder clearExperimentInfo() {
10541       if (experimentInfoBuilder_ == null) {
10542         experimentInfo_ = java.util.Collections.emptyList();
10543         bitField0_ = (bitField0_ & ~0x00000400);
10544         onChanged();
10545       } else {
10546         experimentInfoBuilder_.clear();
10547       }
10548       return this;
10549     }
10550     /**
10551      *
10552      *
10553      * <pre>
10554      * Metadata related to A/B testing [Experiment][] associated with this
10555      * response. Only exists when an experiment is triggered.
10556      * </pre>
10557      *
10558      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10559      */
removeExperimentInfo(int index)10560     public Builder removeExperimentInfo(int index) {
10561       if (experimentInfoBuilder_ == null) {
10562         ensureExperimentInfoIsMutable();
10563         experimentInfo_.remove(index);
10564         onChanged();
10565       } else {
10566         experimentInfoBuilder_.remove(index);
10567       }
10568       return this;
10569     }
10570     /**
10571      *
10572      *
10573      * <pre>
10574      * Metadata related to A/B testing [Experiment][] associated with this
10575      * response. Only exists when an experiment is triggered.
10576      * </pre>
10577      *
10578      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10579      */
getExperimentInfoBuilder( int index)10580     public com.google.cloud.retail.v2beta.ExperimentInfo.Builder getExperimentInfoBuilder(
10581         int index) {
10582       return getExperimentInfoFieldBuilder().getBuilder(index);
10583     }
10584     /**
10585      *
10586      *
10587      * <pre>
10588      * Metadata related to A/B testing [Experiment][] associated with this
10589      * response. Only exists when an experiment is triggered.
10590      * </pre>
10591      *
10592      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10593      */
getExperimentInfoOrBuilder( int index)10594     public com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder getExperimentInfoOrBuilder(
10595         int index) {
10596       if (experimentInfoBuilder_ == null) {
10597         return experimentInfo_.get(index);
10598       } else {
10599         return experimentInfoBuilder_.getMessageOrBuilder(index);
10600       }
10601     }
10602     /**
10603      *
10604      *
10605      * <pre>
10606      * Metadata related to A/B testing [Experiment][] associated with this
10607      * response. Only exists when an experiment is triggered.
10608      * </pre>
10609      *
10610      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10611      */
10612     public java.util.List<? extends com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder>
getExperimentInfoOrBuilderList()10613         getExperimentInfoOrBuilderList() {
10614       if (experimentInfoBuilder_ != null) {
10615         return experimentInfoBuilder_.getMessageOrBuilderList();
10616       } else {
10617         return java.util.Collections.unmodifiableList(experimentInfo_);
10618       }
10619     }
10620     /**
10621      *
10622      *
10623      * <pre>
10624      * Metadata related to A/B testing [Experiment][] associated with this
10625      * response. Only exists when an experiment is triggered.
10626      * </pre>
10627      *
10628      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10629      */
addExperimentInfoBuilder()10630     public com.google.cloud.retail.v2beta.ExperimentInfo.Builder addExperimentInfoBuilder() {
10631       return getExperimentInfoFieldBuilder()
10632           .addBuilder(com.google.cloud.retail.v2beta.ExperimentInfo.getDefaultInstance());
10633     }
10634     /**
10635      *
10636      *
10637      * <pre>
10638      * Metadata related to A/B testing [Experiment][] associated with this
10639      * response. Only exists when an experiment is triggered.
10640      * </pre>
10641      *
10642      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10643      */
addExperimentInfoBuilder( int index)10644     public com.google.cloud.retail.v2beta.ExperimentInfo.Builder addExperimentInfoBuilder(
10645         int index) {
10646       return getExperimentInfoFieldBuilder()
10647           .addBuilder(index, com.google.cloud.retail.v2beta.ExperimentInfo.getDefaultInstance());
10648     }
10649     /**
10650      *
10651      *
10652      * <pre>
10653      * Metadata related to A/B testing [Experiment][] associated with this
10654      * response. Only exists when an experiment is triggered.
10655      * </pre>
10656      *
10657      * <code>repeated .google.cloud.retail.v2beta.ExperimentInfo experiment_info = 17;</code>
10658      */
10659     public java.util.List<com.google.cloud.retail.v2beta.ExperimentInfo.Builder>
getExperimentInfoBuilderList()10660         getExperimentInfoBuilderList() {
10661       return getExperimentInfoFieldBuilder().getBuilderList();
10662     }
10663 
10664     private com.google.protobuf.RepeatedFieldBuilderV3<
10665             com.google.cloud.retail.v2beta.ExperimentInfo,
10666             com.google.cloud.retail.v2beta.ExperimentInfo.Builder,
10667             com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder>
getExperimentInfoFieldBuilder()10668         getExperimentInfoFieldBuilder() {
10669       if (experimentInfoBuilder_ == null) {
10670         experimentInfoBuilder_ =
10671             new com.google.protobuf.RepeatedFieldBuilderV3<
10672                 com.google.cloud.retail.v2beta.ExperimentInfo,
10673                 com.google.cloud.retail.v2beta.ExperimentInfo.Builder,
10674                 com.google.cloud.retail.v2beta.ExperimentInfoOrBuilder>(
10675                 experimentInfo_,
10676                 ((bitField0_ & 0x00000400) != 0),
10677                 getParentForChildren(),
10678                 isClean());
10679         experimentInfo_ = null;
10680       }
10681       return experimentInfoBuilder_;
10682     }
10683 
10684     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)10685     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
10686       return super.setUnknownFields(unknownFields);
10687     }
10688 
10689     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)10690     public final Builder mergeUnknownFields(
10691         final com.google.protobuf.UnknownFieldSet unknownFields) {
10692       return super.mergeUnknownFields(unknownFields);
10693     }
10694 
10695     // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2beta.SearchResponse)
10696   }
10697 
10698   // @@protoc_insertion_point(class_scope:google.cloud.retail.v2beta.SearchResponse)
10699   private static final com.google.cloud.retail.v2beta.SearchResponse DEFAULT_INSTANCE;
10700 
10701   static {
10702     DEFAULT_INSTANCE = new com.google.cloud.retail.v2beta.SearchResponse();
10703   }
10704 
getDefaultInstance()10705   public static com.google.cloud.retail.v2beta.SearchResponse getDefaultInstance() {
10706     return DEFAULT_INSTANCE;
10707   }
10708 
10709   private static final com.google.protobuf.Parser<SearchResponse> PARSER =
10710       new com.google.protobuf.AbstractParser<SearchResponse>() {
10711         @java.lang.Override
10712         public SearchResponse parsePartialFrom(
10713             com.google.protobuf.CodedInputStream input,
10714             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
10715             throws com.google.protobuf.InvalidProtocolBufferException {
10716           Builder builder = newBuilder();
10717           try {
10718             builder.mergeFrom(input, extensionRegistry);
10719           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
10720             throw e.setUnfinishedMessage(builder.buildPartial());
10721           } catch (com.google.protobuf.UninitializedMessageException e) {
10722             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
10723           } catch (java.io.IOException e) {
10724             throw new com.google.protobuf.InvalidProtocolBufferException(e)
10725                 .setUnfinishedMessage(builder.buildPartial());
10726           }
10727           return builder.buildPartial();
10728         }
10729       };
10730 
parser()10731   public static com.google.protobuf.Parser<SearchResponse> parser() {
10732     return PARSER;
10733   }
10734 
10735   @java.lang.Override
getParserForType()10736   public com.google.protobuf.Parser<SearchResponse> getParserForType() {
10737     return PARSER;
10738   }
10739 
10740   @java.lang.Override
getDefaultInstanceForType()10741   public com.google.cloud.retail.v2beta.SearchResponse getDefaultInstanceForType() {
10742     return DEFAULT_INSTANCE;
10743   }
10744 }
10745