• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/retail/v2/common.proto
18 
19 package com.google.cloud.retail.v2;
20 
21 /**
22  *
23  *
24  * <pre>
25  * Information of an end user.
26  * </pre>
27  *
28  * Protobuf type {@code google.cloud.retail.v2.UserInfo}
29  */
30 public final class UserInfo extends com.google.protobuf.GeneratedMessageV3
31     implements
32     // @@protoc_insertion_point(message_implements:google.cloud.retail.v2.UserInfo)
33     UserInfoOrBuilder {
34   private static final long serialVersionUID = 0L;
35   // Use UserInfo.newBuilder() to construct.
UserInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36   private UserInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
37     super(builder);
38   }
39 
UserInfo()40   private UserInfo() {
41     userId_ = "";
42     ipAddress_ = "";
43     userAgent_ = "";
44   }
45 
46   @java.lang.Override
47   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)48   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
49     return new UserInfo();
50   }
51 
52   @java.lang.Override
getUnknownFields()53   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
54     return this.unknownFields;
55   }
56 
getDescriptor()57   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
58     return com.google.cloud.retail.v2.CommonProto
59         .internal_static_google_cloud_retail_v2_UserInfo_descriptor;
60   }
61 
62   @java.lang.Override
63   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()64       internalGetFieldAccessorTable() {
65     return com.google.cloud.retail.v2.CommonProto
66         .internal_static_google_cloud_retail_v2_UserInfo_fieldAccessorTable
67         .ensureFieldAccessorsInitialized(
68             com.google.cloud.retail.v2.UserInfo.class,
69             com.google.cloud.retail.v2.UserInfo.Builder.class);
70   }
71 
72   public static final int USER_ID_FIELD_NUMBER = 1;
73 
74   @SuppressWarnings("serial")
75   private volatile java.lang.Object userId_ = "";
76   /**
77    *
78    *
79    * <pre>
80    * Highly recommended for logged-in users. Unique identifier for logged-in
81    * user, such as a user name. Don't set for anonymous users.
82    * Always use a hashed value for this ID.
83    * Don't set the field to the same fixed ID for different users. This mixes
84    * the event history of those users together, which results in degraded
85    * model quality.
86    * The field must be a UTF-8 encoded string with a length limit of 128
87    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
88    * </pre>
89    *
90    * <code>string user_id = 1;</code>
91    *
92    * @return The userId.
93    */
94   @java.lang.Override
getUserId()95   public java.lang.String getUserId() {
96     java.lang.Object ref = userId_;
97     if (ref instanceof java.lang.String) {
98       return (java.lang.String) ref;
99     } else {
100       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
101       java.lang.String s = bs.toStringUtf8();
102       userId_ = s;
103       return s;
104     }
105   }
106   /**
107    *
108    *
109    * <pre>
110    * Highly recommended for logged-in users. Unique identifier for logged-in
111    * user, such as a user name. Don't set for anonymous users.
112    * Always use a hashed value for this ID.
113    * Don't set the field to the same fixed ID for different users. This mixes
114    * the event history of those users together, which results in degraded
115    * model quality.
116    * The field must be a UTF-8 encoded string with a length limit of 128
117    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
118    * </pre>
119    *
120    * <code>string user_id = 1;</code>
121    *
122    * @return The bytes for userId.
123    */
124   @java.lang.Override
getUserIdBytes()125   public com.google.protobuf.ByteString getUserIdBytes() {
126     java.lang.Object ref = userId_;
127     if (ref instanceof java.lang.String) {
128       com.google.protobuf.ByteString b =
129           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
130       userId_ = b;
131       return b;
132     } else {
133       return (com.google.protobuf.ByteString) ref;
134     }
135   }
136 
137   public static final int IP_ADDRESS_FIELD_NUMBER = 2;
138 
139   @SuppressWarnings("serial")
140   private volatile java.lang.Object ipAddress_ = "";
141   /**
142    *
143    *
144    * <pre>
145    * The end user's IP address. This field is used to extract location
146    * information for personalization.
147    * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
148    * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
149    * INVALID_ARGUMENT error is returned.
150    * This should not be set when:
151    * * setting
152    * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
153    * * using the JavaScript tag in
154    * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
155    * or if
156    * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
157    * is set.
158    * </pre>
159    *
160    * <code>string ip_address = 2;</code>
161    *
162    * @return The ipAddress.
163    */
164   @java.lang.Override
getIpAddress()165   public java.lang.String getIpAddress() {
166     java.lang.Object ref = ipAddress_;
167     if (ref instanceof java.lang.String) {
168       return (java.lang.String) ref;
169     } else {
170       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
171       java.lang.String s = bs.toStringUtf8();
172       ipAddress_ = s;
173       return s;
174     }
175   }
176   /**
177    *
178    *
179    * <pre>
180    * The end user's IP address. This field is used to extract location
181    * information for personalization.
182    * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
183    * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
184    * INVALID_ARGUMENT error is returned.
185    * This should not be set when:
186    * * setting
187    * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
188    * * using the JavaScript tag in
189    * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
190    * or if
191    * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
192    * is set.
193    * </pre>
194    *
195    * <code>string ip_address = 2;</code>
196    *
197    * @return The bytes for ipAddress.
198    */
199   @java.lang.Override
getIpAddressBytes()200   public com.google.protobuf.ByteString getIpAddressBytes() {
201     java.lang.Object ref = ipAddress_;
202     if (ref instanceof java.lang.String) {
203       com.google.protobuf.ByteString b =
204           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
205       ipAddress_ = b;
206       return b;
207     } else {
208       return (com.google.protobuf.ByteString) ref;
209     }
210   }
211 
212   public static final int USER_AGENT_FIELD_NUMBER = 3;
213 
214   @SuppressWarnings("serial")
215   private volatile java.lang.Object userAgent_ = "";
216   /**
217    *
218    *
219    * <pre>
220    * User agent as included in the HTTP header. Required for getting
221    * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
222    * The field must be a UTF-8 encoded string with a length limit of 1,000
223    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
224    * This should not be set when using the client side event reporting with
225    * GTM or JavaScript tag in
226    * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
227    * or if
228    * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
229    * is set.
230    * </pre>
231    *
232    * <code>string user_agent = 3;</code>
233    *
234    * @return The userAgent.
235    */
236   @java.lang.Override
getUserAgent()237   public java.lang.String getUserAgent() {
238     java.lang.Object ref = userAgent_;
239     if (ref instanceof java.lang.String) {
240       return (java.lang.String) ref;
241     } else {
242       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
243       java.lang.String s = bs.toStringUtf8();
244       userAgent_ = s;
245       return s;
246     }
247   }
248   /**
249    *
250    *
251    * <pre>
252    * User agent as included in the HTTP header. Required for getting
253    * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
254    * The field must be a UTF-8 encoded string with a length limit of 1,000
255    * characters. Otherwise, an INVALID_ARGUMENT error is returned.
256    * This should not be set when using the client side event reporting with
257    * GTM or JavaScript tag in
258    * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
259    * or if
260    * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
261    * is set.
262    * </pre>
263    *
264    * <code>string user_agent = 3;</code>
265    *
266    * @return The bytes for userAgent.
267    */
268   @java.lang.Override
getUserAgentBytes()269   public com.google.protobuf.ByteString getUserAgentBytes() {
270     java.lang.Object ref = userAgent_;
271     if (ref instanceof java.lang.String) {
272       com.google.protobuf.ByteString b =
273           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
274       userAgent_ = b;
275       return b;
276     } else {
277       return (com.google.protobuf.ByteString) ref;
278     }
279   }
280 
281   public static final int DIRECT_USER_REQUEST_FIELD_NUMBER = 4;
282   private boolean directUserRequest_ = false;
283   /**
284    *
285    *
286    * <pre>
287    * True if the request is made directly from the end user, in which case the
288    * [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
289    * [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
290    * from the HTTP request. This flag should be set only if the API request is
291    * made directly from the end user such as a mobile app (and not if a gateway
292    * or a server is processing and pushing the user events).
293    * This should not be set when using the JavaScript tag in
294    * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
295    * </pre>
296    *
297    * <code>bool direct_user_request = 4;</code>
298    *
299    * @return The directUserRequest.
300    */
301   @java.lang.Override
getDirectUserRequest()302   public boolean getDirectUserRequest() {
303     return directUserRequest_;
304   }
305 
306   private byte memoizedIsInitialized = -1;
307 
308   @java.lang.Override
isInitialized()309   public final boolean isInitialized() {
310     byte isInitialized = memoizedIsInitialized;
311     if (isInitialized == 1) return true;
312     if (isInitialized == 0) return false;
313 
314     memoizedIsInitialized = 1;
315     return true;
316   }
317 
318   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)319   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
320     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) {
321       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, userId_);
322     }
323     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
324       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ipAddress_);
325     }
326     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userAgent_)) {
327       com.google.protobuf.GeneratedMessageV3.writeString(output, 3, userAgent_);
328     }
329     if (directUserRequest_ != false) {
330       output.writeBool(4, directUserRequest_);
331     }
332     getUnknownFields().writeTo(output);
333   }
334 
335   @java.lang.Override
getSerializedSize()336   public int getSerializedSize() {
337     int size = memoizedSize;
338     if (size != -1) return size;
339 
340     size = 0;
341     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) {
342       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, userId_);
343     }
344     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
345       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ipAddress_);
346     }
347     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userAgent_)) {
348       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, userAgent_);
349     }
350     if (directUserRequest_ != false) {
351       size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, directUserRequest_);
352     }
353     size += getUnknownFields().getSerializedSize();
354     memoizedSize = size;
355     return size;
356   }
357 
358   @java.lang.Override
equals(final java.lang.Object obj)359   public boolean equals(final java.lang.Object obj) {
360     if (obj == this) {
361       return true;
362     }
363     if (!(obj instanceof com.google.cloud.retail.v2.UserInfo)) {
364       return super.equals(obj);
365     }
366     com.google.cloud.retail.v2.UserInfo other = (com.google.cloud.retail.v2.UserInfo) obj;
367 
368     if (!getUserId().equals(other.getUserId())) return false;
369     if (!getIpAddress().equals(other.getIpAddress())) return false;
370     if (!getUserAgent().equals(other.getUserAgent())) return false;
371     if (getDirectUserRequest() != other.getDirectUserRequest()) return false;
372     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
373     return true;
374   }
375 
376   @java.lang.Override
hashCode()377   public int hashCode() {
378     if (memoizedHashCode != 0) {
379       return memoizedHashCode;
380     }
381     int hash = 41;
382     hash = (19 * hash) + getDescriptor().hashCode();
383     hash = (37 * hash) + USER_ID_FIELD_NUMBER;
384     hash = (53 * hash) + getUserId().hashCode();
385     hash = (37 * hash) + IP_ADDRESS_FIELD_NUMBER;
386     hash = (53 * hash) + getIpAddress().hashCode();
387     hash = (37 * hash) + USER_AGENT_FIELD_NUMBER;
388     hash = (53 * hash) + getUserAgent().hashCode();
389     hash = (37 * hash) + DIRECT_USER_REQUEST_FIELD_NUMBER;
390     hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDirectUserRequest());
391     hash = (29 * hash) + getUnknownFields().hashCode();
392     memoizedHashCode = hash;
393     return hash;
394   }
395 
parseFrom(java.nio.ByteBuffer data)396   public static com.google.cloud.retail.v2.UserInfo parseFrom(java.nio.ByteBuffer data)
397       throws com.google.protobuf.InvalidProtocolBufferException {
398     return PARSER.parseFrom(data);
399   }
400 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)401   public static com.google.cloud.retail.v2.UserInfo parseFrom(
402       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
403       throws com.google.protobuf.InvalidProtocolBufferException {
404     return PARSER.parseFrom(data, extensionRegistry);
405   }
406 
parseFrom(com.google.protobuf.ByteString data)407   public static com.google.cloud.retail.v2.UserInfo parseFrom(com.google.protobuf.ByteString data)
408       throws com.google.protobuf.InvalidProtocolBufferException {
409     return PARSER.parseFrom(data);
410   }
411 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)412   public static com.google.cloud.retail.v2.UserInfo parseFrom(
413       com.google.protobuf.ByteString data,
414       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
415       throws com.google.protobuf.InvalidProtocolBufferException {
416     return PARSER.parseFrom(data, extensionRegistry);
417   }
418 
parseFrom(byte[] data)419   public static com.google.cloud.retail.v2.UserInfo parseFrom(byte[] data)
420       throws com.google.protobuf.InvalidProtocolBufferException {
421     return PARSER.parseFrom(data);
422   }
423 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)424   public static com.google.cloud.retail.v2.UserInfo parseFrom(
425       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
426       throws com.google.protobuf.InvalidProtocolBufferException {
427     return PARSER.parseFrom(data, extensionRegistry);
428   }
429 
parseFrom(java.io.InputStream input)430   public static com.google.cloud.retail.v2.UserInfo parseFrom(java.io.InputStream input)
431       throws java.io.IOException {
432     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
433   }
434 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)435   public static com.google.cloud.retail.v2.UserInfo parseFrom(
436       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
437       throws java.io.IOException {
438     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
439         PARSER, input, extensionRegistry);
440   }
441 
parseDelimitedFrom(java.io.InputStream input)442   public static com.google.cloud.retail.v2.UserInfo parseDelimitedFrom(java.io.InputStream input)
443       throws java.io.IOException {
444     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
445   }
446 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)447   public static com.google.cloud.retail.v2.UserInfo parseDelimitedFrom(
448       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
449       throws java.io.IOException {
450     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
451         PARSER, input, extensionRegistry);
452   }
453 
parseFrom( com.google.protobuf.CodedInputStream input)454   public static com.google.cloud.retail.v2.UserInfo parseFrom(
455       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
456     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
457   }
458 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)459   public static com.google.cloud.retail.v2.UserInfo parseFrom(
460       com.google.protobuf.CodedInputStream input,
461       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
462       throws java.io.IOException {
463     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
464         PARSER, input, extensionRegistry);
465   }
466 
467   @java.lang.Override
newBuilderForType()468   public Builder newBuilderForType() {
469     return newBuilder();
470   }
471 
newBuilder()472   public static Builder newBuilder() {
473     return DEFAULT_INSTANCE.toBuilder();
474   }
475 
newBuilder(com.google.cloud.retail.v2.UserInfo prototype)476   public static Builder newBuilder(com.google.cloud.retail.v2.UserInfo prototype) {
477     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
478   }
479 
480   @java.lang.Override
toBuilder()481   public Builder toBuilder() {
482     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
483   }
484 
485   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)486   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
487     Builder builder = new Builder(parent);
488     return builder;
489   }
490   /**
491    *
492    *
493    * <pre>
494    * Information of an end user.
495    * </pre>
496    *
497    * Protobuf type {@code google.cloud.retail.v2.UserInfo}
498    */
499   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
500       implements
501       // @@protoc_insertion_point(builder_implements:google.cloud.retail.v2.UserInfo)
502       com.google.cloud.retail.v2.UserInfoOrBuilder {
getDescriptor()503     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
504       return com.google.cloud.retail.v2.CommonProto
505           .internal_static_google_cloud_retail_v2_UserInfo_descriptor;
506     }
507 
508     @java.lang.Override
509     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()510         internalGetFieldAccessorTable() {
511       return com.google.cloud.retail.v2.CommonProto
512           .internal_static_google_cloud_retail_v2_UserInfo_fieldAccessorTable
513           .ensureFieldAccessorsInitialized(
514               com.google.cloud.retail.v2.UserInfo.class,
515               com.google.cloud.retail.v2.UserInfo.Builder.class);
516     }
517 
518     // Construct using com.google.cloud.retail.v2.UserInfo.newBuilder()
Builder()519     private Builder() {}
520 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)521     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
522       super(parent);
523     }
524 
525     @java.lang.Override
clear()526     public Builder clear() {
527       super.clear();
528       bitField0_ = 0;
529       userId_ = "";
530       ipAddress_ = "";
531       userAgent_ = "";
532       directUserRequest_ = false;
533       return this;
534     }
535 
536     @java.lang.Override
getDescriptorForType()537     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
538       return com.google.cloud.retail.v2.CommonProto
539           .internal_static_google_cloud_retail_v2_UserInfo_descriptor;
540     }
541 
542     @java.lang.Override
getDefaultInstanceForType()543     public com.google.cloud.retail.v2.UserInfo getDefaultInstanceForType() {
544       return com.google.cloud.retail.v2.UserInfo.getDefaultInstance();
545     }
546 
547     @java.lang.Override
build()548     public com.google.cloud.retail.v2.UserInfo build() {
549       com.google.cloud.retail.v2.UserInfo result = buildPartial();
550       if (!result.isInitialized()) {
551         throw newUninitializedMessageException(result);
552       }
553       return result;
554     }
555 
556     @java.lang.Override
buildPartial()557     public com.google.cloud.retail.v2.UserInfo buildPartial() {
558       com.google.cloud.retail.v2.UserInfo result = new com.google.cloud.retail.v2.UserInfo(this);
559       if (bitField0_ != 0) {
560         buildPartial0(result);
561       }
562       onBuilt();
563       return result;
564     }
565 
buildPartial0(com.google.cloud.retail.v2.UserInfo result)566     private void buildPartial0(com.google.cloud.retail.v2.UserInfo result) {
567       int from_bitField0_ = bitField0_;
568       if (((from_bitField0_ & 0x00000001) != 0)) {
569         result.userId_ = userId_;
570       }
571       if (((from_bitField0_ & 0x00000002) != 0)) {
572         result.ipAddress_ = ipAddress_;
573       }
574       if (((from_bitField0_ & 0x00000004) != 0)) {
575         result.userAgent_ = userAgent_;
576       }
577       if (((from_bitField0_ & 0x00000008) != 0)) {
578         result.directUserRequest_ = directUserRequest_;
579       }
580     }
581 
582     @java.lang.Override
clone()583     public Builder clone() {
584       return super.clone();
585     }
586 
587     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)588     public Builder setField(
589         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
590       return super.setField(field, value);
591     }
592 
593     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)594     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
595       return super.clearField(field);
596     }
597 
598     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)599     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
600       return super.clearOneof(oneof);
601     }
602 
603     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)604     public Builder setRepeatedField(
605         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
606       return super.setRepeatedField(field, index, value);
607     }
608 
609     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)610     public Builder addRepeatedField(
611         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
612       return super.addRepeatedField(field, value);
613     }
614 
615     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)616     public Builder mergeFrom(com.google.protobuf.Message other) {
617       if (other instanceof com.google.cloud.retail.v2.UserInfo) {
618         return mergeFrom((com.google.cloud.retail.v2.UserInfo) other);
619       } else {
620         super.mergeFrom(other);
621         return this;
622       }
623     }
624 
mergeFrom(com.google.cloud.retail.v2.UserInfo other)625     public Builder mergeFrom(com.google.cloud.retail.v2.UserInfo other) {
626       if (other == com.google.cloud.retail.v2.UserInfo.getDefaultInstance()) return this;
627       if (!other.getUserId().isEmpty()) {
628         userId_ = other.userId_;
629         bitField0_ |= 0x00000001;
630         onChanged();
631       }
632       if (!other.getIpAddress().isEmpty()) {
633         ipAddress_ = other.ipAddress_;
634         bitField0_ |= 0x00000002;
635         onChanged();
636       }
637       if (!other.getUserAgent().isEmpty()) {
638         userAgent_ = other.userAgent_;
639         bitField0_ |= 0x00000004;
640         onChanged();
641       }
642       if (other.getDirectUserRequest() != false) {
643         setDirectUserRequest(other.getDirectUserRequest());
644       }
645       this.mergeUnknownFields(other.getUnknownFields());
646       onChanged();
647       return this;
648     }
649 
650     @java.lang.Override
isInitialized()651     public final boolean isInitialized() {
652       return true;
653     }
654 
655     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)656     public Builder mergeFrom(
657         com.google.protobuf.CodedInputStream input,
658         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
659         throws java.io.IOException {
660       if (extensionRegistry == null) {
661         throw new java.lang.NullPointerException();
662       }
663       try {
664         boolean done = false;
665         while (!done) {
666           int tag = input.readTag();
667           switch (tag) {
668             case 0:
669               done = true;
670               break;
671             case 10:
672               {
673                 userId_ = input.readStringRequireUtf8();
674                 bitField0_ |= 0x00000001;
675                 break;
676               } // case 10
677             case 18:
678               {
679                 ipAddress_ = input.readStringRequireUtf8();
680                 bitField0_ |= 0x00000002;
681                 break;
682               } // case 18
683             case 26:
684               {
685                 userAgent_ = input.readStringRequireUtf8();
686                 bitField0_ |= 0x00000004;
687                 break;
688               } // case 26
689             case 32:
690               {
691                 directUserRequest_ = input.readBool();
692                 bitField0_ |= 0x00000008;
693                 break;
694               } // case 32
695             default:
696               {
697                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
698                   done = true; // was an endgroup tag
699                 }
700                 break;
701               } // default:
702           } // switch (tag)
703         } // while (!done)
704       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
705         throw e.unwrapIOException();
706       } finally {
707         onChanged();
708       } // finally
709       return this;
710     }
711 
712     private int bitField0_;
713 
714     private java.lang.Object userId_ = "";
715     /**
716      *
717      *
718      * <pre>
719      * Highly recommended for logged-in users. Unique identifier for logged-in
720      * user, such as a user name. Don't set for anonymous users.
721      * Always use a hashed value for this ID.
722      * Don't set the field to the same fixed ID for different users. This mixes
723      * the event history of those users together, which results in degraded
724      * model quality.
725      * The field must be a UTF-8 encoded string with a length limit of 128
726      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
727      * </pre>
728      *
729      * <code>string user_id = 1;</code>
730      *
731      * @return The userId.
732      */
getUserId()733     public java.lang.String getUserId() {
734       java.lang.Object ref = userId_;
735       if (!(ref instanceof java.lang.String)) {
736         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
737         java.lang.String s = bs.toStringUtf8();
738         userId_ = s;
739         return s;
740       } else {
741         return (java.lang.String) ref;
742       }
743     }
744     /**
745      *
746      *
747      * <pre>
748      * Highly recommended for logged-in users. Unique identifier for logged-in
749      * user, such as a user name. Don't set for anonymous users.
750      * Always use a hashed value for this ID.
751      * Don't set the field to the same fixed ID for different users. This mixes
752      * the event history of those users together, which results in degraded
753      * model quality.
754      * The field must be a UTF-8 encoded string with a length limit of 128
755      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
756      * </pre>
757      *
758      * <code>string user_id = 1;</code>
759      *
760      * @return The bytes for userId.
761      */
getUserIdBytes()762     public com.google.protobuf.ByteString getUserIdBytes() {
763       java.lang.Object ref = userId_;
764       if (ref instanceof String) {
765         com.google.protobuf.ByteString b =
766             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
767         userId_ = b;
768         return b;
769       } else {
770         return (com.google.protobuf.ByteString) ref;
771       }
772     }
773     /**
774      *
775      *
776      * <pre>
777      * Highly recommended for logged-in users. Unique identifier for logged-in
778      * user, such as a user name. Don't set for anonymous users.
779      * Always use a hashed value for this ID.
780      * Don't set the field to the same fixed ID for different users. This mixes
781      * the event history of those users together, which results in degraded
782      * model quality.
783      * The field must be a UTF-8 encoded string with a length limit of 128
784      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
785      * </pre>
786      *
787      * <code>string user_id = 1;</code>
788      *
789      * @param value The userId to set.
790      * @return This builder for chaining.
791      */
setUserId(java.lang.String value)792     public Builder setUserId(java.lang.String value) {
793       if (value == null) {
794         throw new NullPointerException();
795       }
796       userId_ = value;
797       bitField0_ |= 0x00000001;
798       onChanged();
799       return this;
800     }
801     /**
802      *
803      *
804      * <pre>
805      * Highly recommended for logged-in users. Unique identifier for logged-in
806      * user, such as a user name. Don't set for anonymous users.
807      * Always use a hashed value for this ID.
808      * Don't set the field to the same fixed ID for different users. This mixes
809      * the event history of those users together, which results in degraded
810      * model quality.
811      * The field must be a UTF-8 encoded string with a length limit of 128
812      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
813      * </pre>
814      *
815      * <code>string user_id = 1;</code>
816      *
817      * @return This builder for chaining.
818      */
clearUserId()819     public Builder clearUserId() {
820       userId_ = getDefaultInstance().getUserId();
821       bitField0_ = (bitField0_ & ~0x00000001);
822       onChanged();
823       return this;
824     }
825     /**
826      *
827      *
828      * <pre>
829      * Highly recommended for logged-in users. Unique identifier for logged-in
830      * user, such as a user name. Don't set for anonymous users.
831      * Always use a hashed value for this ID.
832      * Don't set the field to the same fixed ID for different users. This mixes
833      * the event history of those users together, which results in degraded
834      * model quality.
835      * The field must be a UTF-8 encoded string with a length limit of 128
836      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
837      * </pre>
838      *
839      * <code>string user_id = 1;</code>
840      *
841      * @param value The bytes for userId to set.
842      * @return This builder for chaining.
843      */
setUserIdBytes(com.google.protobuf.ByteString value)844     public Builder setUserIdBytes(com.google.protobuf.ByteString value) {
845       if (value == null) {
846         throw new NullPointerException();
847       }
848       checkByteStringIsUtf8(value);
849       userId_ = value;
850       bitField0_ |= 0x00000001;
851       onChanged();
852       return this;
853     }
854 
855     private java.lang.Object ipAddress_ = "";
856     /**
857      *
858      *
859      * <pre>
860      * The end user's IP address. This field is used to extract location
861      * information for personalization.
862      * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
863      * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
864      * INVALID_ARGUMENT error is returned.
865      * This should not be set when:
866      * * setting
867      * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
868      * * using the JavaScript tag in
869      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
870      * or if
871      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
872      * is set.
873      * </pre>
874      *
875      * <code>string ip_address = 2;</code>
876      *
877      * @return The ipAddress.
878      */
getIpAddress()879     public java.lang.String getIpAddress() {
880       java.lang.Object ref = ipAddress_;
881       if (!(ref instanceof java.lang.String)) {
882         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
883         java.lang.String s = bs.toStringUtf8();
884         ipAddress_ = s;
885         return s;
886       } else {
887         return (java.lang.String) ref;
888       }
889     }
890     /**
891      *
892      *
893      * <pre>
894      * The end user's IP address. This field is used to extract location
895      * information for personalization.
896      * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
897      * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
898      * INVALID_ARGUMENT error is returned.
899      * This should not be set when:
900      * * setting
901      * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
902      * * using the JavaScript tag in
903      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
904      * or if
905      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
906      * is set.
907      * </pre>
908      *
909      * <code>string ip_address = 2;</code>
910      *
911      * @return The bytes for ipAddress.
912      */
getIpAddressBytes()913     public com.google.protobuf.ByteString getIpAddressBytes() {
914       java.lang.Object ref = ipAddress_;
915       if (ref instanceof String) {
916         com.google.protobuf.ByteString b =
917             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
918         ipAddress_ = b;
919         return b;
920       } else {
921         return (com.google.protobuf.ByteString) ref;
922       }
923     }
924     /**
925      *
926      *
927      * <pre>
928      * The end user's IP address. This field is used to extract location
929      * information for personalization.
930      * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
931      * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
932      * INVALID_ARGUMENT error is returned.
933      * This should not be set when:
934      * * setting
935      * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
936      * * using the JavaScript tag in
937      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
938      * or if
939      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
940      * is set.
941      * </pre>
942      *
943      * <code>string ip_address = 2;</code>
944      *
945      * @param value The ipAddress to set.
946      * @return This builder for chaining.
947      */
setIpAddress(java.lang.String value)948     public Builder setIpAddress(java.lang.String value) {
949       if (value == null) {
950         throw new NullPointerException();
951       }
952       ipAddress_ = value;
953       bitField0_ |= 0x00000002;
954       onChanged();
955       return this;
956     }
957     /**
958      *
959      *
960      * <pre>
961      * The end user's IP address. This field is used to extract location
962      * information for personalization.
963      * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
964      * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
965      * INVALID_ARGUMENT error is returned.
966      * This should not be set when:
967      * * setting
968      * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
969      * * using the JavaScript tag in
970      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
971      * or if
972      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
973      * is set.
974      * </pre>
975      *
976      * <code>string ip_address = 2;</code>
977      *
978      * @return This builder for chaining.
979      */
clearIpAddress()980     public Builder clearIpAddress() {
981       ipAddress_ = getDefaultInstance().getIpAddress();
982       bitField0_ = (bitField0_ & ~0x00000002);
983       onChanged();
984       return this;
985     }
986     /**
987      *
988      *
989      * <pre>
990      * The end user's IP address. This field is used to extract location
991      * information for personalization.
992      * This field must be either an IPv4 address (e.g. "104.133.9.80") or an IPv6
993      * address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334"). Otherwise, an
994      * INVALID_ARGUMENT error is returned.
995      * This should not be set when:
996      * * setting
997      * [SearchRequest.user_info][google.cloud.retail.v2.SearchRequest.user_info].
998      * * using the JavaScript tag in
999      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1000      * or if
1001      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1002      * is set.
1003      * </pre>
1004      *
1005      * <code>string ip_address = 2;</code>
1006      *
1007      * @param value The bytes for ipAddress to set.
1008      * @return This builder for chaining.
1009      */
setIpAddressBytes(com.google.protobuf.ByteString value)1010     public Builder setIpAddressBytes(com.google.protobuf.ByteString value) {
1011       if (value == null) {
1012         throw new NullPointerException();
1013       }
1014       checkByteStringIsUtf8(value);
1015       ipAddress_ = value;
1016       bitField0_ |= 0x00000002;
1017       onChanged();
1018       return this;
1019     }
1020 
1021     private java.lang.Object userAgent_ = "";
1022     /**
1023      *
1024      *
1025      * <pre>
1026      * User agent as included in the HTTP header. Required for getting
1027      * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
1028      * The field must be a UTF-8 encoded string with a length limit of 1,000
1029      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
1030      * This should not be set when using the client side event reporting with
1031      * GTM or JavaScript tag in
1032      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1033      * or if
1034      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1035      * is set.
1036      * </pre>
1037      *
1038      * <code>string user_agent = 3;</code>
1039      *
1040      * @return The userAgent.
1041      */
getUserAgent()1042     public java.lang.String getUserAgent() {
1043       java.lang.Object ref = userAgent_;
1044       if (!(ref instanceof java.lang.String)) {
1045         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1046         java.lang.String s = bs.toStringUtf8();
1047         userAgent_ = s;
1048         return s;
1049       } else {
1050         return (java.lang.String) ref;
1051       }
1052     }
1053     /**
1054      *
1055      *
1056      * <pre>
1057      * User agent as included in the HTTP header. Required for getting
1058      * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
1059      * The field must be a UTF-8 encoded string with a length limit of 1,000
1060      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
1061      * This should not be set when using the client side event reporting with
1062      * GTM or JavaScript tag in
1063      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1064      * or if
1065      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1066      * is set.
1067      * </pre>
1068      *
1069      * <code>string user_agent = 3;</code>
1070      *
1071      * @return The bytes for userAgent.
1072      */
getUserAgentBytes()1073     public com.google.protobuf.ByteString getUserAgentBytes() {
1074       java.lang.Object ref = userAgent_;
1075       if (ref instanceof String) {
1076         com.google.protobuf.ByteString b =
1077             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1078         userAgent_ = b;
1079         return b;
1080       } else {
1081         return (com.google.protobuf.ByteString) ref;
1082       }
1083     }
1084     /**
1085      *
1086      *
1087      * <pre>
1088      * User agent as included in the HTTP header. Required for getting
1089      * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
1090      * The field must be a UTF-8 encoded string with a length limit of 1,000
1091      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
1092      * This should not be set when using the client side event reporting with
1093      * GTM or JavaScript tag in
1094      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1095      * or if
1096      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1097      * is set.
1098      * </pre>
1099      *
1100      * <code>string user_agent = 3;</code>
1101      *
1102      * @param value The userAgent to set.
1103      * @return This builder for chaining.
1104      */
setUserAgent(java.lang.String value)1105     public Builder setUserAgent(java.lang.String value) {
1106       if (value == null) {
1107         throw new NullPointerException();
1108       }
1109       userAgent_ = value;
1110       bitField0_ |= 0x00000004;
1111       onChanged();
1112       return this;
1113     }
1114     /**
1115      *
1116      *
1117      * <pre>
1118      * User agent as included in the HTTP header. Required for getting
1119      * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
1120      * The field must be a UTF-8 encoded string with a length limit of 1,000
1121      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
1122      * This should not be set when using the client side event reporting with
1123      * GTM or JavaScript tag in
1124      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1125      * or if
1126      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1127      * is set.
1128      * </pre>
1129      *
1130      * <code>string user_agent = 3;</code>
1131      *
1132      * @return This builder for chaining.
1133      */
clearUserAgent()1134     public Builder clearUserAgent() {
1135       userAgent_ = getDefaultInstance().getUserAgent();
1136       bitField0_ = (bitField0_ & ~0x00000004);
1137       onChanged();
1138       return this;
1139     }
1140     /**
1141      *
1142      *
1143      * <pre>
1144      * User agent as included in the HTTP header. Required for getting
1145      * [SearchResponse.sponsored_results][google.cloud.retail.v2.SearchResponse.sponsored_results].
1146      * The field must be a UTF-8 encoded string with a length limit of 1,000
1147      * characters. Otherwise, an INVALID_ARGUMENT error is returned.
1148      * This should not be set when using the client side event reporting with
1149      * GTM or JavaScript tag in
1150      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent]
1151      * or if
1152      * [direct_user_request][google.cloud.retail.v2.UserInfo.direct_user_request]
1153      * is set.
1154      * </pre>
1155      *
1156      * <code>string user_agent = 3;</code>
1157      *
1158      * @param value The bytes for userAgent to set.
1159      * @return This builder for chaining.
1160      */
setUserAgentBytes(com.google.protobuf.ByteString value)1161     public Builder setUserAgentBytes(com.google.protobuf.ByteString value) {
1162       if (value == null) {
1163         throw new NullPointerException();
1164       }
1165       checkByteStringIsUtf8(value);
1166       userAgent_ = value;
1167       bitField0_ |= 0x00000004;
1168       onChanged();
1169       return this;
1170     }
1171 
1172     private boolean directUserRequest_;
1173     /**
1174      *
1175      *
1176      * <pre>
1177      * True if the request is made directly from the end user, in which case the
1178      * [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
1179      * [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
1180      * from the HTTP request. This flag should be set only if the API request is
1181      * made directly from the end user such as a mobile app (and not if a gateway
1182      * or a server is processing and pushing the user events).
1183      * This should not be set when using the JavaScript tag in
1184      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
1185      * </pre>
1186      *
1187      * <code>bool direct_user_request = 4;</code>
1188      *
1189      * @return The directUserRequest.
1190      */
1191     @java.lang.Override
getDirectUserRequest()1192     public boolean getDirectUserRequest() {
1193       return directUserRequest_;
1194     }
1195     /**
1196      *
1197      *
1198      * <pre>
1199      * True if the request is made directly from the end user, in which case the
1200      * [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
1201      * [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
1202      * from the HTTP request. This flag should be set only if the API request is
1203      * made directly from the end user such as a mobile app (and not if a gateway
1204      * or a server is processing and pushing the user events).
1205      * This should not be set when using the JavaScript tag in
1206      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
1207      * </pre>
1208      *
1209      * <code>bool direct_user_request = 4;</code>
1210      *
1211      * @param value The directUserRequest to set.
1212      * @return This builder for chaining.
1213      */
setDirectUserRequest(boolean value)1214     public Builder setDirectUserRequest(boolean value) {
1215 
1216       directUserRequest_ = value;
1217       bitField0_ |= 0x00000008;
1218       onChanged();
1219       return this;
1220     }
1221     /**
1222      *
1223      *
1224      * <pre>
1225      * True if the request is made directly from the end user, in which case the
1226      * [ip_address][google.cloud.retail.v2.UserInfo.ip_address] and
1227      * [user_agent][google.cloud.retail.v2.UserInfo.user_agent] can be populated
1228      * from the HTTP request. This flag should be set only if the API request is
1229      * made directly from the end user such as a mobile app (and not if a gateway
1230      * or a server is processing and pushing the user events).
1231      * This should not be set when using the JavaScript tag in
1232      * [UserEventService.CollectUserEvent][google.cloud.retail.v2.UserEventService.CollectUserEvent].
1233      * </pre>
1234      *
1235      * <code>bool direct_user_request = 4;</code>
1236      *
1237      * @return This builder for chaining.
1238      */
clearDirectUserRequest()1239     public Builder clearDirectUserRequest() {
1240       bitField0_ = (bitField0_ & ~0x00000008);
1241       directUserRequest_ = false;
1242       onChanged();
1243       return this;
1244     }
1245 
1246     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)1247     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
1248       return super.setUnknownFields(unknownFields);
1249     }
1250 
1251     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)1252     public final Builder mergeUnknownFields(
1253         final com.google.protobuf.UnknownFieldSet unknownFields) {
1254       return super.mergeUnknownFields(unknownFields);
1255     }
1256 
1257     // @@protoc_insertion_point(builder_scope:google.cloud.retail.v2.UserInfo)
1258   }
1259 
1260   // @@protoc_insertion_point(class_scope:google.cloud.retail.v2.UserInfo)
1261   private static final com.google.cloud.retail.v2.UserInfo DEFAULT_INSTANCE;
1262 
1263   static {
1264     DEFAULT_INSTANCE = new com.google.cloud.retail.v2.UserInfo();
1265   }
1266 
getDefaultInstance()1267   public static com.google.cloud.retail.v2.UserInfo getDefaultInstance() {
1268     return DEFAULT_INSTANCE;
1269   }
1270 
1271   private static final com.google.protobuf.Parser<UserInfo> PARSER =
1272       new com.google.protobuf.AbstractParser<UserInfo>() {
1273         @java.lang.Override
1274         public UserInfo parsePartialFrom(
1275             com.google.protobuf.CodedInputStream input,
1276             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1277             throws com.google.protobuf.InvalidProtocolBufferException {
1278           Builder builder = newBuilder();
1279           try {
1280             builder.mergeFrom(input, extensionRegistry);
1281           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1282             throw e.setUnfinishedMessage(builder.buildPartial());
1283           } catch (com.google.protobuf.UninitializedMessageException e) {
1284             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
1285           } catch (java.io.IOException e) {
1286             throw new com.google.protobuf.InvalidProtocolBufferException(e)
1287                 .setUnfinishedMessage(builder.buildPartial());
1288           }
1289           return builder.buildPartial();
1290         }
1291       };
1292 
parser()1293   public static com.google.protobuf.Parser<UserInfo> parser() {
1294     return PARSER;
1295   }
1296 
1297   @java.lang.Override
getParserForType()1298   public com.google.protobuf.Parser<UserInfo> getParserForType() {
1299     return PARSER;
1300   }
1301 
1302   @java.lang.Override
getDefaultInstanceForType()1303   public com.google.cloud.retail.v2.UserInfo getDefaultInstanceForType() {
1304     return DEFAULT_INSTANCE;
1305   }
1306 }
1307