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/discoveryengine/v1beta/user_event.proto 18 19 package com.google.cloud.discoveryengine.v1beta; 20 21 /** 22 * 23 * 24 * <pre> 25 * UserEvent captures all metadata information Discovery Engine API needs to 26 * know about how end users interact with customers' website. 27 * </pre> 28 * 29 * Protobuf type {@code google.cloud.discoveryengine.v1beta.UserEvent} 30 */ 31 public final class UserEvent extends com.google.protobuf.GeneratedMessageV3 32 implements 33 // @@protoc_insertion_point(message_implements:google.cloud.discoveryengine.v1beta.UserEvent) 34 UserEventOrBuilder { 35 private static final long serialVersionUID = 0L; 36 // Use UserEvent.newBuilder() to construct. UserEvent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)37 private UserEvent(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 38 super(builder); 39 } 40 UserEvent()41 private UserEvent() { 42 eventType_ = ""; 43 userPseudoId_ = ""; 44 sessionId_ = ""; 45 attributionToken_ = ""; 46 filter_ = ""; 47 documents_ = java.util.Collections.emptyList(); 48 tagIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 49 promotionIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 50 } 51 52 @java.lang.Override 53 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)54 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 55 return new UserEvent(); 56 } 57 58 @java.lang.Override getUnknownFields()59 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 60 return this.unknownFields; 61 } 62 getDescriptor()63 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 64 return com.google.cloud.discoveryengine.v1beta.UserEventProto 65 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_descriptor; 66 } 67 68 @SuppressWarnings({"rawtypes"}) 69 @java.lang.Override internalGetMapField(int number)70 protected com.google.protobuf.MapField internalGetMapField(int number) { 71 switch (number) { 72 case 17: 73 return internalGetAttributes(); 74 default: 75 throw new RuntimeException("Invalid map field number: " + number); 76 } 77 } 78 79 @java.lang.Override 80 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()81 internalGetFieldAccessorTable() { 82 return com.google.cloud.discoveryengine.v1beta.UserEventProto 83 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_fieldAccessorTable 84 .ensureFieldAccessorsInitialized( 85 com.google.cloud.discoveryengine.v1beta.UserEvent.class, 86 com.google.cloud.discoveryengine.v1beta.UserEvent.Builder.class); 87 } 88 89 public static final int EVENT_TYPE_FIELD_NUMBER = 1; 90 91 @SuppressWarnings("serial") 92 private volatile java.lang.Object eventType_ = ""; 93 /** 94 * 95 * 96 * <pre> 97 * Required. User event type. Allowed values are: 98 * Generic values: 99 * * `search`: Search for Documents. 100 * * `view-item`: Detailed page view of a Document. 101 * * `view-item-list`: View of a panel or ordered list of Documents. 102 * * `view-home-page`: View of the home page. 103 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 104 * Retail-related values: 105 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 106 * * `purchase`: Purchase an item(s) 107 * Media-related values: 108 * * `media-play`: Start/resume watching a video, playing a song, etc. 109 * * `media-complete`: Finished or stopped midway through a video, song, etc. 110 * </pre> 111 * 112 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 113 * 114 * @return The eventType. 115 */ 116 @java.lang.Override getEventType()117 public java.lang.String getEventType() { 118 java.lang.Object ref = eventType_; 119 if (ref instanceof java.lang.String) { 120 return (java.lang.String) ref; 121 } else { 122 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 123 java.lang.String s = bs.toStringUtf8(); 124 eventType_ = s; 125 return s; 126 } 127 } 128 /** 129 * 130 * 131 * <pre> 132 * Required. User event type. Allowed values are: 133 * Generic values: 134 * * `search`: Search for Documents. 135 * * `view-item`: Detailed page view of a Document. 136 * * `view-item-list`: View of a panel or ordered list of Documents. 137 * * `view-home-page`: View of the home page. 138 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 139 * Retail-related values: 140 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 141 * * `purchase`: Purchase an item(s) 142 * Media-related values: 143 * * `media-play`: Start/resume watching a video, playing a song, etc. 144 * * `media-complete`: Finished or stopped midway through a video, song, etc. 145 * </pre> 146 * 147 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 148 * 149 * @return The bytes for eventType. 150 */ 151 @java.lang.Override getEventTypeBytes()152 public com.google.protobuf.ByteString getEventTypeBytes() { 153 java.lang.Object ref = eventType_; 154 if (ref instanceof java.lang.String) { 155 com.google.protobuf.ByteString b = 156 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 157 eventType_ = b; 158 return b; 159 } else { 160 return (com.google.protobuf.ByteString) ref; 161 } 162 } 163 164 public static final int USER_PSEUDO_ID_FIELD_NUMBER = 2; 165 166 @SuppressWarnings("serial") 167 private volatile java.lang.Object userPseudoId_ = ""; 168 /** 169 * 170 * 171 * <pre> 172 * Required. A unique identifier for tracking visitors. 173 * For example, this could be implemented with an HTTP cookie, which should be 174 * able to uniquely identify a visitor on a single device. This unique 175 * identifier should not change if the visitor log in/out of the website. 176 * Do not set the field to the same fixed ID for different users. This mixes 177 * the event history of those users together, which results in degraded model 178 * quality. 179 * The field must be a UTF-8 encoded string with a length limit of 128 180 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 181 * The field should not contain PII or user-data. We recommend to use Google 182 * Analytics [Client 183 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 184 * for this field. 185 * </pre> 186 * 187 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 188 * 189 * @return The userPseudoId. 190 */ 191 @java.lang.Override getUserPseudoId()192 public java.lang.String getUserPseudoId() { 193 java.lang.Object ref = userPseudoId_; 194 if (ref instanceof java.lang.String) { 195 return (java.lang.String) ref; 196 } else { 197 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 198 java.lang.String s = bs.toStringUtf8(); 199 userPseudoId_ = s; 200 return s; 201 } 202 } 203 /** 204 * 205 * 206 * <pre> 207 * Required. A unique identifier for tracking visitors. 208 * For example, this could be implemented with an HTTP cookie, which should be 209 * able to uniquely identify a visitor on a single device. This unique 210 * identifier should not change if the visitor log in/out of the website. 211 * Do not set the field to the same fixed ID for different users. This mixes 212 * the event history of those users together, which results in degraded model 213 * quality. 214 * The field must be a UTF-8 encoded string with a length limit of 128 215 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 216 * The field should not contain PII or user-data. We recommend to use Google 217 * Analytics [Client 218 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 219 * for this field. 220 * </pre> 221 * 222 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 223 * 224 * @return The bytes for userPseudoId. 225 */ 226 @java.lang.Override getUserPseudoIdBytes()227 public com.google.protobuf.ByteString getUserPseudoIdBytes() { 228 java.lang.Object ref = userPseudoId_; 229 if (ref instanceof java.lang.String) { 230 com.google.protobuf.ByteString b = 231 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 232 userPseudoId_ = b; 233 return b; 234 } else { 235 return (com.google.protobuf.ByteString) ref; 236 } 237 } 238 239 public static final int EVENT_TIME_FIELD_NUMBER = 3; 240 private com.google.protobuf.Timestamp eventTime_; 241 /** 242 * 243 * 244 * <pre> 245 * Only required for 246 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 247 * method. Timestamp of when the user event happened. 248 * </pre> 249 * 250 * <code>.google.protobuf.Timestamp event_time = 3;</code> 251 * 252 * @return Whether the eventTime field is set. 253 */ 254 @java.lang.Override hasEventTime()255 public boolean hasEventTime() { 256 return eventTime_ != null; 257 } 258 /** 259 * 260 * 261 * <pre> 262 * Only required for 263 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 264 * method. Timestamp of when the user event happened. 265 * </pre> 266 * 267 * <code>.google.protobuf.Timestamp event_time = 3;</code> 268 * 269 * @return The eventTime. 270 */ 271 @java.lang.Override getEventTime()272 public com.google.protobuf.Timestamp getEventTime() { 273 return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_; 274 } 275 /** 276 * 277 * 278 * <pre> 279 * Only required for 280 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 281 * method. Timestamp of when the user event happened. 282 * </pre> 283 * 284 * <code>.google.protobuf.Timestamp event_time = 3;</code> 285 */ 286 @java.lang.Override getEventTimeOrBuilder()287 public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder() { 288 return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_; 289 } 290 291 public static final int USER_INFO_FIELD_NUMBER = 4; 292 private com.google.cloud.discoveryengine.v1beta.UserInfo userInfo_; 293 /** 294 * 295 * 296 * <pre> 297 * Information about the end user. 298 * </pre> 299 * 300 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 301 * 302 * @return Whether the userInfo field is set. 303 */ 304 @java.lang.Override hasUserInfo()305 public boolean hasUserInfo() { 306 return userInfo_ != null; 307 } 308 /** 309 * 310 * 311 * <pre> 312 * Information about the end user. 313 * </pre> 314 * 315 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 316 * 317 * @return The userInfo. 318 */ 319 @java.lang.Override getUserInfo()320 public com.google.cloud.discoveryengine.v1beta.UserInfo getUserInfo() { 321 return userInfo_ == null 322 ? com.google.cloud.discoveryengine.v1beta.UserInfo.getDefaultInstance() 323 : userInfo_; 324 } 325 /** 326 * 327 * 328 * <pre> 329 * Information about the end user. 330 * </pre> 331 * 332 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 333 */ 334 @java.lang.Override getUserInfoOrBuilder()335 public com.google.cloud.discoveryengine.v1beta.UserInfoOrBuilder getUserInfoOrBuilder() { 336 return userInfo_ == null 337 ? com.google.cloud.discoveryengine.v1beta.UserInfo.getDefaultInstance() 338 : userInfo_; 339 } 340 341 public static final int DIRECT_USER_REQUEST_FIELD_NUMBER = 5; 342 private boolean directUserRequest_ = false; 343 /** 344 * 345 * 346 * <pre> 347 * Should set to true if the request is made directly from the end user, in 348 * which case the 349 * [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent] 350 * can be populated from the HTTP request. 351 * This flag should be set only if the API request is made directly from the 352 * end user such as a mobile app (and not if a gateway or a server is 353 * processing and pushing the user events). 354 * This should not be set when using the JavaScript tag in 355 * [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1beta.UserEventService.CollectUserEvent]. 356 * </pre> 357 * 358 * <code>bool direct_user_request = 5;</code> 359 * 360 * @return The directUserRequest. 361 */ 362 @java.lang.Override getDirectUserRequest()363 public boolean getDirectUserRequest() { 364 return directUserRequest_; 365 } 366 367 public static final int SESSION_ID_FIELD_NUMBER = 6; 368 369 @SuppressWarnings("serial") 370 private volatile java.lang.Object sessionId_ = ""; 371 /** 372 * 373 * 374 * <pre> 375 * A unique identifier for tracking a visitor session with a length limit of 376 * 128 bytes. A session is an aggregation of an end user behavior in a time 377 * span. 378 * A general guideline to populate the session_id: 379 * 1. If user has no activity for 30 min, a new session_id should be assigned. 380 * 2. The session_id should be unique across users, suggest use uuid or add 381 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 382 * as prefix. 383 * </pre> 384 * 385 * <code>string session_id = 6;</code> 386 * 387 * @return The sessionId. 388 */ 389 @java.lang.Override getSessionId()390 public java.lang.String getSessionId() { 391 java.lang.Object ref = sessionId_; 392 if (ref instanceof java.lang.String) { 393 return (java.lang.String) ref; 394 } else { 395 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 396 java.lang.String s = bs.toStringUtf8(); 397 sessionId_ = s; 398 return s; 399 } 400 } 401 /** 402 * 403 * 404 * <pre> 405 * A unique identifier for tracking a visitor session with a length limit of 406 * 128 bytes. A session is an aggregation of an end user behavior in a time 407 * span. 408 * A general guideline to populate the session_id: 409 * 1. If user has no activity for 30 min, a new session_id should be assigned. 410 * 2. The session_id should be unique across users, suggest use uuid or add 411 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 412 * as prefix. 413 * </pre> 414 * 415 * <code>string session_id = 6;</code> 416 * 417 * @return The bytes for sessionId. 418 */ 419 @java.lang.Override getSessionIdBytes()420 public com.google.protobuf.ByteString getSessionIdBytes() { 421 java.lang.Object ref = sessionId_; 422 if (ref instanceof java.lang.String) { 423 com.google.protobuf.ByteString b = 424 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 425 sessionId_ = b; 426 return b; 427 } else { 428 return (com.google.protobuf.ByteString) ref; 429 } 430 } 431 432 public static final int PAGE_INFO_FIELD_NUMBER = 7; 433 private com.google.cloud.discoveryengine.v1beta.PageInfo pageInfo_; 434 /** 435 * 436 * 437 * <pre> 438 * Page metadata such as categories and other critical information for certain 439 * event types such as `view-category-page`. 440 * </pre> 441 * 442 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 443 * 444 * @return Whether the pageInfo field is set. 445 */ 446 @java.lang.Override hasPageInfo()447 public boolean hasPageInfo() { 448 return pageInfo_ != null; 449 } 450 /** 451 * 452 * 453 * <pre> 454 * Page metadata such as categories and other critical information for certain 455 * event types such as `view-category-page`. 456 * </pre> 457 * 458 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 459 * 460 * @return The pageInfo. 461 */ 462 @java.lang.Override getPageInfo()463 public com.google.cloud.discoveryengine.v1beta.PageInfo getPageInfo() { 464 return pageInfo_ == null 465 ? com.google.cloud.discoveryengine.v1beta.PageInfo.getDefaultInstance() 466 : pageInfo_; 467 } 468 /** 469 * 470 * 471 * <pre> 472 * Page metadata such as categories and other critical information for certain 473 * event types such as `view-category-page`. 474 * </pre> 475 * 476 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 477 */ 478 @java.lang.Override getPageInfoOrBuilder()479 public com.google.cloud.discoveryengine.v1beta.PageInfoOrBuilder getPageInfoOrBuilder() { 480 return pageInfo_ == null 481 ? com.google.cloud.discoveryengine.v1beta.PageInfo.getDefaultInstance() 482 : pageInfo_; 483 } 484 485 public static final int ATTRIBUTION_TOKEN_FIELD_NUMBER = 8; 486 487 @SuppressWarnings("serial") 488 private volatile java.lang.Object attributionToken_ = ""; 489 /** 490 * 491 * 492 * <pre> 493 * Token to attribute an API response to user action(s) to trigger the event. 494 * Highly recommended for user events that are the result of 495 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 496 * This field enables accurate attribution of recommendation model 497 * performance. 498 * The value must be one of: 499 * * [PredictResponse.attribution_token][] for events that are the result of 500 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 501 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 502 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 503 * * [CompleteQueryResponse.attribution_token][] for events that are the 504 * result of 505 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 506 * This token enables us to accurately attribute page view or conversion 507 * completion back to the event and the particular predict response containing 508 * this clicked/purchased product. If user clicks on product K in the 509 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 510 * parameter to product K's page. When recording events on product K's page, 511 * log the [PredictResponse.attribution_token][] to this field. 512 * </pre> 513 * 514 * <code>string attribution_token = 8;</code> 515 * 516 * @return The attributionToken. 517 */ 518 @java.lang.Override getAttributionToken()519 public java.lang.String getAttributionToken() { 520 java.lang.Object ref = attributionToken_; 521 if (ref instanceof java.lang.String) { 522 return (java.lang.String) ref; 523 } else { 524 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 525 java.lang.String s = bs.toStringUtf8(); 526 attributionToken_ = s; 527 return s; 528 } 529 } 530 /** 531 * 532 * 533 * <pre> 534 * Token to attribute an API response to user action(s) to trigger the event. 535 * Highly recommended for user events that are the result of 536 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 537 * This field enables accurate attribution of recommendation model 538 * performance. 539 * The value must be one of: 540 * * [PredictResponse.attribution_token][] for events that are the result of 541 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 542 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 543 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 544 * * [CompleteQueryResponse.attribution_token][] for events that are the 545 * result of 546 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 547 * This token enables us to accurately attribute page view or conversion 548 * completion back to the event and the particular predict response containing 549 * this clicked/purchased product. If user clicks on product K in the 550 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 551 * parameter to product K's page. When recording events on product K's page, 552 * log the [PredictResponse.attribution_token][] to this field. 553 * </pre> 554 * 555 * <code>string attribution_token = 8;</code> 556 * 557 * @return The bytes for attributionToken. 558 */ 559 @java.lang.Override getAttributionTokenBytes()560 public com.google.protobuf.ByteString getAttributionTokenBytes() { 561 java.lang.Object ref = attributionToken_; 562 if (ref instanceof java.lang.String) { 563 com.google.protobuf.ByteString b = 564 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 565 attributionToken_ = b; 566 return b; 567 } else { 568 return (com.google.protobuf.ByteString) ref; 569 } 570 } 571 572 public static final int FILTER_FIELD_NUMBER = 9; 573 574 @SuppressWarnings("serial") 575 private volatile java.lang.Object filter_ = ""; 576 /** 577 * 578 * 579 * <pre> 580 * The filter syntax consists of an expression language for constructing a 581 * predicate from one or more fields of the documents being filtered. 582 * One example is for `search` events, the associated 583 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 584 * contain a filter expression in 585 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 586 * conforming to https://google.aip.dev/160#filtering. 587 * Similarly, for `view-item-list` events that are generated from a 588 * [RecommendationService.RecommendRequest][], this field may be populated 589 * directly from [RecommendationService.RecommendRequest.filter][] conforming 590 * to https://google.aip.dev/160#filtering. 591 * The value must be a UTF-8 encoded string with a length limit of 1,000 592 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 593 * </pre> 594 * 595 * <code>string filter = 9;</code> 596 * 597 * @return The filter. 598 */ 599 @java.lang.Override getFilter()600 public java.lang.String getFilter() { 601 java.lang.Object ref = filter_; 602 if (ref instanceof java.lang.String) { 603 return (java.lang.String) ref; 604 } else { 605 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 606 java.lang.String s = bs.toStringUtf8(); 607 filter_ = s; 608 return s; 609 } 610 } 611 /** 612 * 613 * 614 * <pre> 615 * The filter syntax consists of an expression language for constructing a 616 * predicate from one or more fields of the documents being filtered. 617 * One example is for `search` events, the associated 618 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 619 * contain a filter expression in 620 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 621 * conforming to https://google.aip.dev/160#filtering. 622 * Similarly, for `view-item-list` events that are generated from a 623 * [RecommendationService.RecommendRequest][], this field may be populated 624 * directly from [RecommendationService.RecommendRequest.filter][] conforming 625 * to https://google.aip.dev/160#filtering. 626 * The value must be a UTF-8 encoded string with a length limit of 1,000 627 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 628 * </pre> 629 * 630 * <code>string filter = 9;</code> 631 * 632 * @return The bytes for filter. 633 */ 634 @java.lang.Override getFilterBytes()635 public com.google.protobuf.ByteString getFilterBytes() { 636 java.lang.Object ref = filter_; 637 if (ref instanceof java.lang.String) { 638 com.google.protobuf.ByteString b = 639 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 640 filter_ = b; 641 return b; 642 } else { 643 return (com.google.protobuf.ByteString) ref; 644 } 645 } 646 647 public static final int DOCUMENTS_FIELD_NUMBER = 10; 648 649 @SuppressWarnings("serial") 650 private java.util.List<com.google.cloud.discoveryengine.v1beta.DocumentInfo> documents_; 651 /** 652 * 653 * 654 * <pre> 655 * List of Documents associated with this user event. 656 * This field is optional except for the following event types: 657 * * `view-item` 658 * * `add-to-cart` 659 * * `purchase` 660 * * `media-play` 661 * * `media-complete` 662 * In a `search` event, this field represents the documents returned to the 663 * end user on the current page (the end user may have not finished browsing 664 * the whole page yet). When a new page is returned to the end user, after 665 * pagination/filtering/ordering even for the same query, a new `search` event 666 * with different 667 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 668 * is desired. 669 * </pre> 670 * 671 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 672 */ 673 @java.lang.Override getDocumentsList()674 public java.util.List<com.google.cloud.discoveryengine.v1beta.DocumentInfo> getDocumentsList() { 675 return documents_; 676 } 677 /** 678 * 679 * 680 * <pre> 681 * List of Documents associated with this user event. 682 * This field is optional except for the following event types: 683 * * `view-item` 684 * * `add-to-cart` 685 * * `purchase` 686 * * `media-play` 687 * * `media-complete` 688 * In a `search` event, this field represents the documents returned to the 689 * end user on the current page (the end user may have not finished browsing 690 * the whole page yet). When a new page is returned to the end user, after 691 * pagination/filtering/ordering even for the same query, a new `search` event 692 * with different 693 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 694 * is desired. 695 * </pre> 696 * 697 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 698 */ 699 @java.lang.Override 700 public java.util.List<? extends com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder> getDocumentsOrBuilderList()701 getDocumentsOrBuilderList() { 702 return documents_; 703 } 704 /** 705 * 706 * 707 * <pre> 708 * List of Documents associated with this user event. 709 * This field is optional except for the following event types: 710 * * `view-item` 711 * * `add-to-cart` 712 * * `purchase` 713 * * `media-play` 714 * * `media-complete` 715 * In a `search` event, this field represents the documents returned to the 716 * end user on the current page (the end user may have not finished browsing 717 * the whole page yet). When a new page is returned to the end user, after 718 * pagination/filtering/ordering even for the same query, a new `search` event 719 * with different 720 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 721 * is desired. 722 * </pre> 723 * 724 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 725 */ 726 @java.lang.Override getDocumentsCount()727 public int getDocumentsCount() { 728 return documents_.size(); 729 } 730 /** 731 * 732 * 733 * <pre> 734 * List of Documents associated with this user event. 735 * This field is optional except for the following event types: 736 * * `view-item` 737 * * `add-to-cart` 738 * * `purchase` 739 * * `media-play` 740 * * `media-complete` 741 * In a `search` event, this field represents the documents returned to the 742 * end user on the current page (the end user may have not finished browsing 743 * the whole page yet). When a new page is returned to the end user, after 744 * pagination/filtering/ordering even for the same query, a new `search` event 745 * with different 746 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 747 * is desired. 748 * </pre> 749 * 750 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 751 */ 752 @java.lang.Override getDocuments(int index)753 public com.google.cloud.discoveryengine.v1beta.DocumentInfo getDocuments(int index) { 754 return documents_.get(index); 755 } 756 /** 757 * 758 * 759 * <pre> 760 * List of Documents associated with this user event. 761 * This field is optional except for the following event types: 762 * * `view-item` 763 * * `add-to-cart` 764 * * `purchase` 765 * * `media-play` 766 * * `media-complete` 767 * In a `search` event, this field represents the documents returned to the 768 * end user on the current page (the end user may have not finished browsing 769 * the whole page yet). When a new page is returned to the end user, after 770 * pagination/filtering/ordering even for the same query, a new `search` event 771 * with different 772 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 773 * is desired. 774 * </pre> 775 * 776 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 777 */ 778 @java.lang.Override getDocumentsOrBuilder( int index)779 public com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder getDocumentsOrBuilder( 780 int index) { 781 return documents_.get(index); 782 } 783 784 public static final int PANEL_FIELD_NUMBER = 11; 785 private com.google.cloud.discoveryengine.v1beta.PanelInfo panel_; 786 /** 787 * 788 * 789 * <pre> 790 * Panel metadata associated with this user event. 791 * </pre> 792 * 793 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 794 * 795 * @return Whether the panel field is set. 796 */ 797 @java.lang.Override hasPanel()798 public boolean hasPanel() { 799 return panel_ != null; 800 } 801 /** 802 * 803 * 804 * <pre> 805 * Panel metadata associated with this user event. 806 * </pre> 807 * 808 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 809 * 810 * @return The panel. 811 */ 812 @java.lang.Override getPanel()813 public com.google.cloud.discoveryengine.v1beta.PanelInfo getPanel() { 814 return panel_ == null 815 ? com.google.cloud.discoveryengine.v1beta.PanelInfo.getDefaultInstance() 816 : panel_; 817 } 818 /** 819 * 820 * 821 * <pre> 822 * Panel metadata associated with this user event. 823 * </pre> 824 * 825 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 826 */ 827 @java.lang.Override getPanelOrBuilder()828 public com.google.cloud.discoveryengine.v1beta.PanelInfoOrBuilder getPanelOrBuilder() { 829 return panel_ == null 830 ? com.google.cloud.discoveryengine.v1beta.PanelInfo.getDefaultInstance() 831 : panel_; 832 } 833 834 public static final int SEARCH_INFO_FIELD_NUMBER = 12; 835 private com.google.cloud.discoveryengine.v1beta.SearchInfo searchInfo_; 836 /** 837 * 838 * 839 * <pre> 840 * Search API details related to the event. 841 * This field should be set for `search` event. 842 * </pre> 843 * 844 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 845 * 846 * @return Whether the searchInfo field is set. 847 */ 848 @java.lang.Override hasSearchInfo()849 public boolean hasSearchInfo() { 850 return searchInfo_ != null; 851 } 852 /** 853 * 854 * 855 * <pre> 856 * Search API details related to the event. 857 * This field should be set for `search` event. 858 * </pre> 859 * 860 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 861 * 862 * @return The searchInfo. 863 */ 864 @java.lang.Override getSearchInfo()865 public com.google.cloud.discoveryengine.v1beta.SearchInfo getSearchInfo() { 866 return searchInfo_ == null 867 ? com.google.cloud.discoveryengine.v1beta.SearchInfo.getDefaultInstance() 868 : searchInfo_; 869 } 870 /** 871 * 872 * 873 * <pre> 874 * Search API details related to the event. 875 * This field should be set for `search` event. 876 * </pre> 877 * 878 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 879 */ 880 @java.lang.Override getSearchInfoOrBuilder()881 public com.google.cloud.discoveryengine.v1beta.SearchInfoOrBuilder getSearchInfoOrBuilder() { 882 return searchInfo_ == null 883 ? com.google.cloud.discoveryengine.v1beta.SearchInfo.getDefaultInstance() 884 : searchInfo_; 885 } 886 887 public static final int COMPLETION_INFO_FIELD_NUMBER = 13; 888 private com.google.cloud.discoveryengine.v1beta.CompletionInfo completionInfo_; 889 /** 890 * 891 * 892 * <pre> 893 * CompleteQuery API details related to the event. 894 * This field should be set for `search` event when autocomplete function is 895 * enabled and the user clicks a suggestion for search. 896 * </pre> 897 * 898 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 899 * 900 * @return Whether the completionInfo field is set. 901 */ 902 @java.lang.Override hasCompletionInfo()903 public boolean hasCompletionInfo() { 904 return completionInfo_ != null; 905 } 906 /** 907 * 908 * 909 * <pre> 910 * CompleteQuery API details related to the event. 911 * This field should be set for `search` event when autocomplete function is 912 * enabled and the user clicks a suggestion for search. 913 * </pre> 914 * 915 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 916 * 917 * @return The completionInfo. 918 */ 919 @java.lang.Override getCompletionInfo()920 public com.google.cloud.discoveryengine.v1beta.CompletionInfo getCompletionInfo() { 921 return completionInfo_ == null 922 ? com.google.cloud.discoveryengine.v1beta.CompletionInfo.getDefaultInstance() 923 : completionInfo_; 924 } 925 /** 926 * 927 * 928 * <pre> 929 * CompleteQuery API details related to the event. 930 * This field should be set for `search` event when autocomplete function is 931 * enabled and the user clicks a suggestion for search. 932 * </pre> 933 * 934 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 935 */ 936 @java.lang.Override 937 public com.google.cloud.discoveryengine.v1beta.CompletionInfoOrBuilder getCompletionInfoOrBuilder()938 getCompletionInfoOrBuilder() { 939 return completionInfo_ == null 940 ? com.google.cloud.discoveryengine.v1beta.CompletionInfo.getDefaultInstance() 941 : completionInfo_; 942 } 943 944 public static final int TRANSACTION_INFO_FIELD_NUMBER = 14; 945 private com.google.cloud.discoveryengine.v1beta.TransactionInfo transactionInfo_; 946 /** 947 * 948 * 949 * <pre> 950 * The transaction metadata (if any) associated with this user event. 951 * </pre> 952 * 953 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 954 * 955 * @return Whether the transactionInfo field is set. 956 */ 957 @java.lang.Override hasTransactionInfo()958 public boolean hasTransactionInfo() { 959 return transactionInfo_ != null; 960 } 961 /** 962 * 963 * 964 * <pre> 965 * The transaction metadata (if any) associated with this user event. 966 * </pre> 967 * 968 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 969 * 970 * @return The transactionInfo. 971 */ 972 @java.lang.Override getTransactionInfo()973 public com.google.cloud.discoveryengine.v1beta.TransactionInfo getTransactionInfo() { 974 return transactionInfo_ == null 975 ? com.google.cloud.discoveryengine.v1beta.TransactionInfo.getDefaultInstance() 976 : transactionInfo_; 977 } 978 /** 979 * 980 * 981 * <pre> 982 * The transaction metadata (if any) associated with this user event. 983 * </pre> 984 * 985 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 986 */ 987 @java.lang.Override 988 public com.google.cloud.discoveryengine.v1beta.TransactionInfoOrBuilder getTransactionInfoOrBuilder()989 getTransactionInfoOrBuilder() { 990 return transactionInfo_ == null 991 ? com.google.cloud.discoveryengine.v1beta.TransactionInfo.getDefaultInstance() 992 : transactionInfo_; 993 } 994 995 public static final int TAG_IDS_FIELD_NUMBER = 15; 996 997 @SuppressWarnings("serial") 998 private com.google.protobuf.LazyStringList tagIds_; 999 /** 1000 * 1001 * 1002 * <pre> 1003 * A list of identifiers for the independent experiment groups this user event 1004 * belongs to. This is used to distinguish between user events associated with 1005 * different experiment setups on the customer end. 1006 * </pre> 1007 * 1008 * <code>repeated string tag_ids = 15;</code> 1009 * 1010 * @return A list containing the tagIds. 1011 */ getTagIdsList()1012 public com.google.protobuf.ProtocolStringList getTagIdsList() { 1013 return tagIds_; 1014 } 1015 /** 1016 * 1017 * 1018 * <pre> 1019 * A list of identifiers for the independent experiment groups this user event 1020 * belongs to. This is used to distinguish between user events associated with 1021 * different experiment setups on the customer end. 1022 * </pre> 1023 * 1024 * <code>repeated string tag_ids = 15;</code> 1025 * 1026 * @return The count of tagIds. 1027 */ getTagIdsCount()1028 public int getTagIdsCount() { 1029 return tagIds_.size(); 1030 } 1031 /** 1032 * 1033 * 1034 * <pre> 1035 * A list of identifiers for the independent experiment groups this user event 1036 * belongs to. This is used to distinguish between user events associated with 1037 * different experiment setups on the customer end. 1038 * </pre> 1039 * 1040 * <code>repeated string tag_ids = 15;</code> 1041 * 1042 * @param index The index of the element to return. 1043 * @return The tagIds at the given index. 1044 */ getTagIds(int index)1045 public java.lang.String getTagIds(int index) { 1046 return tagIds_.get(index); 1047 } 1048 /** 1049 * 1050 * 1051 * <pre> 1052 * A list of identifiers for the independent experiment groups this user event 1053 * belongs to. This is used to distinguish between user events associated with 1054 * different experiment setups on the customer end. 1055 * </pre> 1056 * 1057 * <code>repeated string tag_ids = 15;</code> 1058 * 1059 * @param index The index of the value to return. 1060 * @return The bytes of the tagIds at the given index. 1061 */ getTagIdsBytes(int index)1062 public com.google.protobuf.ByteString getTagIdsBytes(int index) { 1063 return tagIds_.getByteString(index); 1064 } 1065 1066 public static final int PROMOTION_IDS_FIELD_NUMBER = 16; 1067 1068 @SuppressWarnings("serial") 1069 private com.google.protobuf.LazyStringList promotionIds_; 1070 /** 1071 * 1072 * 1073 * <pre> 1074 * The promotion IDs if this is an event associated with promotions. 1075 * Currently, this field is restricted to at most one ID. 1076 * </pre> 1077 * 1078 * <code>repeated string promotion_ids = 16;</code> 1079 * 1080 * @return A list containing the promotionIds. 1081 */ getPromotionIdsList()1082 public com.google.protobuf.ProtocolStringList getPromotionIdsList() { 1083 return promotionIds_; 1084 } 1085 /** 1086 * 1087 * 1088 * <pre> 1089 * The promotion IDs if this is an event associated with promotions. 1090 * Currently, this field is restricted to at most one ID. 1091 * </pre> 1092 * 1093 * <code>repeated string promotion_ids = 16;</code> 1094 * 1095 * @return The count of promotionIds. 1096 */ getPromotionIdsCount()1097 public int getPromotionIdsCount() { 1098 return promotionIds_.size(); 1099 } 1100 /** 1101 * 1102 * 1103 * <pre> 1104 * The promotion IDs if this is an event associated with promotions. 1105 * Currently, this field is restricted to at most one ID. 1106 * </pre> 1107 * 1108 * <code>repeated string promotion_ids = 16;</code> 1109 * 1110 * @param index The index of the element to return. 1111 * @return The promotionIds at the given index. 1112 */ getPromotionIds(int index)1113 public java.lang.String getPromotionIds(int index) { 1114 return promotionIds_.get(index); 1115 } 1116 /** 1117 * 1118 * 1119 * <pre> 1120 * The promotion IDs if this is an event associated with promotions. 1121 * Currently, this field is restricted to at most one ID. 1122 * </pre> 1123 * 1124 * <code>repeated string promotion_ids = 16;</code> 1125 * 1126 * @param index The index of the value to return. 1127 * @return The bytes of the promotionIds at the given index. 1128 */ getPromotionIdsBytes(int index)1129 public com.google.protobuf.ByteString getPromotionIdsBytes(int index) { 1130 return promotionIds_.getByteString(index); 1131 } 1132 1133 public static final int ATTRIBUTES_FIELD_NUMBER = 17; 1134 1135 private static final class AttributesDefaultEntryHolder { 1136 static final com.google.protobuf.MapEntry< 1137 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 1138 defaultEntry = 1139 com.google.protobuf.MapEntry 1140 .<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 1141 newDefaultInstance( 1142 com.google.cloud.discoveryengine.v1beta.UserEventProto 1143 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_AttributesEntry_descriptor, 1144 com.google.protobuf.WireFormat.FieldType.STRING, 1145 "", 1146 com.google.protobuf.WireFormat.FieldType.MESSAGE, 1147 com.google.cloud.discoveryengine.v1beta.CustomAttribute 1148 .getDefaultInstance()); 1149 } 1150 1151 @SuppressWarnings("serial") 1152 private com.google.protobuf.MapField< 1153 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 1154 attributes_; 1155 1156 private com.google.protobuf.MapField< 1157 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> internalGetAttributes()1158 internalGetAttributes() { 1159 if (attributes_ == null) { 1160 return com.google.protobuf.MapField.emptyMapField(AttributesDefaultEntryHolder.defaultEntry); 1161 } 1162 return attributes_; 1163 } 1164 getAttributesCount()1165 public int getAttributesCount() { 1166 return internalGetAttributes().getMap().size(); 1167 } 1168 /** 1169 * 1170 * 1171 * <pre> 1172 * Extra user event features to include in the recommendation model. 1173 * These attributes must NOT contain data that needs to be parsed or processed 1174 * further, e.g. JSON or other encodings. 1175 * If you provide custom attributes for ingested user events, also include 1176 * them in the user events that you associate with prediction requests. Custom 1177 * attribute formatting must be consistent between imported events and events 1178 * provided with prediction requests. This lets the Discovery Engine API use 1179 * those custom attributes when training models and serving predictions, which 1180 * helps improve recommendation quality. 1181 * This field needs to pass all below criteria, otherwise an 1182 * `INVALID_ARGUMENT` error is returned: 1183 * * The key must be a UTF-8 encoded string with a length limit of 5,000 1184 * characters. 1185 * * For text attributes, at most 400 values are allowed. Empty values are not 1186 * allowed. Each value must be a UTF-8 encoded string with a length limit of 1187 * 256 characters. 1188 * * For number attributes, at most 400 values are allowed. 1189 * For product recommendations, an example of extra user information is 1190 * ` traffic_channel`, which is how a user arrives at the site. Users can 1191 * arrive 1192 * at the site by coming to the site directly, coming through Google 1193 * search, or in other ways. 1194 * </pre> 1195 * 1196 * <code>map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 1197 * </code> 1198 */ 1199 @java.lang.Override containsAttributes(java.lang.String key)1200 public boolean containsAttributes(java.lang.String key) { 1201 if (key == null) { 1202 throw new NullPointerException("map key"); 1203 } 1204 return internalGetAttributes().getMap().containsKey(key); 1205 } 1206 /** Use {@link #getAttributesMap()} instead. */ 1207 @java.lang.Override 1208 @java.lang.Deprecated 1209 public java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> getAttributes()1210 getAttributes() { 1211 return getAttributesMap(); 1212 } 1213 /** 1214 * 1215 * 1216 * <pre> 1217 * Extra user event features to include in the recommendation model. 1218 * These attributes must NOT contain data that needs to be parsed or processed 1219 * further, e.g. JSON or other encodings. 1220 * If you provide custom attributes for ingested user events, also include 1221 * them in the user events that you associate with prediction requests. Custom 1222 * attribute formatting must be consistent between imported events and events 1223 * provided with prediction requests. This lets the Discovery Engine API use 1224 * those custom attributes when training models and serving predictions, which 1225 * helps improve recommendation quality. 1226 * This field needs to pass all below criteria, otherwise an 1227 * `INVALID_ARGUMENT` error is returned: 1228 * * The key must be a UTF-8 encoded string with a length limit of 5,000 1229 * characters. 1230 * * For text attributes, at most 400 values are allowed. Empty values are not 1231 * allowed. Each value must be a UTF-8 encoded string with a length limit of 1232 * 256 characters. 1233 * * For number attributes, at most 400 values are allowed. 1234 * For product recommendations, an example of extra user information is 1235 * ` traffic_channel`, which is how a user arrives at the site. Users can 1236 * arrive 1237 * at the site by coming to the site directly, coming through Google 1238 * search, or in other ways. 1239 * </pre> 1240 * 1241 * <code>map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 1242 * </code> 1243 */ 1244 @java.lang.Override 1245 public java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> getAttributesMap()1246 getAttributesMap() { 1247 return internalGetAttributes().getMap(); 1248 } 1249 /** 1250 * 1251 * 1252 * <pre> 1253 * Extra user event features to include in the recommendation model. 1254 * These attributes must NOT contain data that needs to be parsed or processed 1255 * further, e.g. JSON or other encodings. 1256 * If you provide custom attributes for ingested user events, also include 1257 * them in the user events that you associate with prediction requests. Custom 1258 * attribute formatting must be consistent between imported events and events 1259 * provided with prediction requests. This lets the Discovery Engine API use 1260 * those custom attributes when training models and serving predictions, which 1261 * helps improve recommendation quality. 1262 * This field needs to pass all below criteria, otherwise an 1263 * `INVALID_ARGUMENT` error is returned: 1264 * * The key must be a UTF-8 encoded string with a length limit of 5,000 1265 * characters. 1266 * * For text attributes, at most 400 values are allowed. Empty values are not 1267 * allowed. Each value must be a UTF-8 encoded string with a length limit of 1268 * 256 characters. 1269 * * For number attributes, at most 400 values are allowed. 1270 * For product recommendations, an example of extra user information is 1271 * ` traffic_channel`, which is how a user arrives at the site. Users can 1272 * arrive 1273 * at the site by coming to the site directly, coming through Google 1274 * search, or in other ways. 1275 * </pre> 1276 * 1277 * <code>map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 1278 * </code> 1279 */ 1280 @java.lang.Override 1281 public /* nullable */ com.google.cloud.discoveryengine.v1beta.CustomAttribute getAttributesOrDefault( java.lang.String key, com.google.cloud.discoveryengine.v1beta.CustomAttribute defaultValue)1282 getAttributesOrDefault( 1283 java.lang.String key, 1284 /* nullable */ 1285 com.google.cloud.discoveryengine.v1beta.CustomAttribute defaultValue) { 1286 if (key == null) { 1287 throw new NullPointerException("map key"); 1288 } 1289 java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> map = 1290 internalGetAttributes().getMap(); 1291 return map.containsKey(key) ? map.get(key) : defaultValue; 1292 } 1293 /** 1294 * 1295 * 1296 * <pre> 1297 * Extra user event features to include in the recommendation model. 1298 * These attributes must NOT contain data that needs to be parsed or processed 1299 * further, e.g. JSON or other encodings. 1300 * If you provide custom attributes for ingested user events, also include 1301 * them in the user events that you associate with prediction requests. Custom 1302 * attribute formatting must be consistent between imported events and events 1303 * provided with prediction requests. This lets the Discovery Engine API use 1304 * those custom attributes when training models and serving predictions, which 1305 * helps improve recommendation quality. 1306 * This field needs to pass all below criteria, otherwise an 1307 * `INVALID_ARGUMENT` error is returned: 1308 * * The key must be a UTF-8 encoded string with a length limit of 5,000 1309 * characters. 1310 * * For text attributes, at most 400 values are allowed. Empty values are not 1311 * allowed. Each value must be a UTF-8 encoded string with a length limit of 1312 * 256 characters. 1313 * * For number attributes, at most 400 values are allowed. 1314 * For product recommendations, an example of extra user information is 1315 * ` traffic_channel`, which is how a user arrives at the site. Users can 1316 * arrive 1317 * at the site by coming to the site directly, coming through Google 1318 * search, or in other ways. 1319 * </pre> 1320 * 1321 * <code>map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 1322 * </code> 1323 */ 1324 @java.lang.Override getAttributesOrThrow( java.lang.String key)1325 public com.google.cloud.discoveryengine.v1beta.CustomAttribute getAttributesOrThrow( 1326 java.lang.String key) { 1327 if (key == null) { 1328 throw new NullPointerException("map key"); 1329 } 1330 java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> map = 1331 internalGetAttributes().getMap(); 1332 if (!map.containsKey(key)) { 1333 throw new java.lang.IllegalArgumentException(); 1334 } 1335 return map.get(key); 1336 } 1337 1338 public static final int MEDIA_INFO_FIELD_NUMBER = 18; 1339 private com.google.cloud.discoveryengine.v1beta.MediaInfo mediaInfo_; 1340 /** 1341 * 1342 * 1343 * <pre> 1344 * Media-specific info. 1345 * </pre> 1346 * 1347 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 1348 * 1349 * @return Whether the mediaInfo field is set. 1350 */ 1351 @java.lang.Override hasMediaInfo()1352 public boolean hasMediaInfo() { 1353 return mediaInfo_ != null; 1354 } 1355 /** 1356 * 1357 * 1358 * <pre> 1359 * Media-specific info. 1360 * </pre> 1361 * 1362 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 1363 * 1364 * @return The mediaInfo. 1365 */ 1366 @java.lang.Override getMediaInfo()1367 public com.google.cloud.discoveryengine.v1beta.MediaInfo getMediaInfo() { 1368 return mediaInfo_ == null 1369 ? com.google.cloud.discoveryengine.v1beta.MediaInfo.getDefaultInstance() 1370 : mediaInfo_; 1371 } 1372 /** 1373 * 1374 * 1375 * <pre> 1376 * Media-specific info. 1377 * </pre> 1378 * 1379 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 1380 */ 1381 @java.lang.Override getMediaInfoOrBuilder()1382 public com.google.cloud.discoveryengine.v1beta.MediaInfoOrBuilder getMediaInfoOrBuilder() { 1383 return mediaInfo_ == null 1384 ? com.google.cloud.discoveryengine.v1beta.MediaInfo.getDefaultInstance() 1385 : mediaInfo_; 1386 } 1387 1388 private byte memoizedIsInitialized = -1; 1389 1390 @java.lang.Override isInitialized()1391 public final boolean isInitialized() { 1392 byte isInitialized = memoizedIsInitialized; 1393 if (isInitialized == 1) return true; 1394 if (isInitialized == 0) return false; 1395 1396 memoizedIsInitialized = 1; 1397 return true; 1398 } 1399 1400 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)1401 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 1402 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(eventType_)) { 1403 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, eventType_); 1404 } 1405 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userPseudoId_)) { 1406 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, userPseudoId_); 1407 } 1408 if (eventTime_ != null) { 1409 output.writeMessage(3, getEventTime()); 1410 } 1411 if (userInfo_ != null) { 1412 output.writeMessage(4, getUserInfo()); 1413 } 1414 if (directUserRequest_ != false) { 1415 output.writeBool(5, directUserRequest_); 1416 } 1417 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sessionId_)) { 1418 com.google.protobuf.GeneratedMessageV3.writeString(output, 6, sessionId_); 1419 } 1420 if (pageInfo_ != null) { 1421 output.writeMessage(7, getPageInfo()); 1422 } 1423 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attributionToken_)) { 1424 com.google.protobuf.GeneratedMessageV3.writeString(output, 8, attributionToken_); 1425 } 1426 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { 1427 com.google.protobuf.GeneratedMessageV3.writeString(output, 9, filter_); 1428 } 1429 for (int i = 0; i < documents_.size(); i++) { 1430 output.writeMessage(10, documents_.get(i)); 1431 } 1432 if (panel_ != null) { 1433 output.writeMessage(11, getPanel()); 1434 } 1435 if (searchInfo_ != null) { 1436 output.writeMessage(12, getSearchInfo()); 1437 } 1438 if (completionInfo_ != null) { 1439 output.writeMessage(13, getCompletionInfo()); 1440 } 1441 if (transactionInfo_ != null) { 1442 output.writeMessage(14, getTransactionInfo()); 1443 } 1444 for (int i = 0; i < tagIds_.size(); i++) { 1445 com.google.protobuf.GeneratedMessageV3.writeString(output, 15, tagIds_.getRaw(i)); 1446 } 1447 for (int i = 0; i < promotionIds_.size(); i++) { 1448 com.google.protobuf.GeneratedMessageV3.writeString(output, 16, promotionIds_.getRaw(i)); 1449 } 1450 com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( 1451 output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 17); 1452 if (mediaInfo_ != null) { 1453 output.writeMessage(18, getMediaInfo()); 1454 } 1455 getUnknownFields().writeTo(output); 1456 } 1457 1458 @java.lang.Override getSerializedSize()1459 public int getSerializedSize() { 1460 int size = memoizedSize; 1461 if (size != -1) return size; 1462 1463 size = 0; 1464 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(eventType_)) { 1465 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, eventType_); 1466 } 1467 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userPseudoId_)) { 1468 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, userPseudoId_); 1469 } 1470 if (eventTime_ != null) { 1471 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getEventTime()); 1472 } 1473 if (userInfo_ != null) { 1474 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getUserInfo()); 1475 } 1476 if (directUserRequest_ != false) { 1477 size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, directUserRequest_); 1478 } 1479 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(sessionId_)) { 1480 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, sessionId_); 1481 } 1482 if (pageInfo_ != null) { 1483 size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getPageInfo()); 1484 } 1485 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attributionToken_)) { 1486 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, attributionToken_); 1487 } 1488 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { 1489 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, filter_); 1490 } 1491 for (int i = 0; i < documents_.size(); i++) { 1492 size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, documents_.get(i)); 1493 } 1494 if (panel_ != null) { 1495 size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getPanel()); 1496 } 1497 if (searchInfo_ != null) { 1498 size += com.google.protobuf.CodedOutputStream.computeMessageSize(12, getSearchInfo()); 1499 } 1500 if (completionInfo_ != null) { 1501 size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getCompletionInfo()); 1502 } 1503 if (transactionInfo_ != null) { 1504 size += com.google.protobuf.CodedOutputStream.computeMessageSize(14, getTransactionInfo()); 1505 } 1506 { 1507 int dataSize = 0; 1508 for (int i = 0; i < tagIds_.size(); i++) { 1509 dataSize += computeStringSizeNoTag(tagIds_.getRaw(i)); 1510 } 1511 size += dataSize; 1512 size += 1 * getTagIdsList().size(); 1513 } 1514 { 1515 int dataSize = 0; 1516 for (int i = 0; i < promotionIds_.size(); i++) { 1517 dataSize += computeStringSizeNoTag(promotionIds_.getRaw(i)); 1518 } 1519 size += dataSize; 1520 size += 2 * getPromotionIdsList().size(); 1521 } 1522 for (java.util.Map.Entry< 1523 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 1524 entry : internalGetAttributes().getMap().entrySet()) { 1525 com.google.protobuf.MapEntry< 1526 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 1527 attributes__ = 1528 AttributesDefaultEntryHolder.defaultEntry 1529 .newBuilderForType() 1530 .setKey(entry.getKey()) 1531 .setValue(entry.getValue()) 1532 .build(); 1533 size += com.google.protobuf.CodedOutputStream.computeMessageSize(17, attributes__); 1534 } 1535 if (mediaInfo_ != null) { 1536 size += com.google.protobuf.CodedOutputStream.computeMessageSize(18, getMediaInfo()); 1537 } 1538 size += getUnknownFields().getSerializedSize(); 1539 memoizedSize = size; 1540 return size; 1541 } 1542 1543 @java.lang.Override equals(final java.lang.Object obj)1544 public boolean equals(final java.lang.Object obj) { 1545 if (obj == this) { 1546 return true; 1547 } 1548 if (!(obj instanceof com.google.cloud.discoveryengine.v1beta.UserEvent)) { 1549 return super.equals(obj); 1550 } 1551 com.google.cloud.discoveryengine.v1beta.UserEvent other = 1552 (com.google.cloud.discoveryengine.v1beta.UserEvent) obj; 1553 1554 if (!getEventType().equals(other.getEventType())) return false; 1555 if (!getUserPseudoId().equals(other.getUserPseudoId())) return false; 1556 if (hasEventTime() != other.hasEventTime()) return false; 1557 if (hasEventTime()) { 1558 if (!getEventTime().equals(other.getEventTime())) return false; 1559 } 1560 if (hasUserInfo() != other.hasUserInfo()) return false; 1561 if (hasUserInfo()) { 1562 if (!getUserInfo().equals(other.getUserInfo())) return false; 1563 } 1564 if (getDirectUserRequest() != other.getDirectUserRequest()) return false; 1565 if (!getSessionId().equals(other.getSessionId())) return false; 1566 if (hasPageInfo() != other.hasPageInfo()) return false; 1567 if (hasPageInfo()) { 1568 if (!getPageInfo().equals(other.getPageInfo())) return false; 1569 } 1570 if (!getAttributionToken().equals(other.getAttributionToken())) return false; 1571 if (!getFilter().equals(other.getFilter())) return false; 1572 if (!getDocumentsList().equals(other.getDocumentsList())) return false; 1573 if (hasPanel() != other.hasPanel()) return false; 1574 if (hasPanel()) { 1575 if (!getPanel().equals(other.getPanel())) return false; 1576 } 1577 if (hasSearchInfo() != other.hasSearchInfo()) return false; 1578 if (hasSearchInfo()) { 1579 if (!getSearchInfo().equals(other.getSearchInfo())) return false; 1580 } 1581 if (hasCompletionInfo() != other.hasCompletionInfo()) return false; 1582 if (hasCompletionInfo()) { 1583 if (!getCompletionInfo().equals(other.getCompletionInfo())) return false; 1584 } 1585 if (hasTransactionInfo() != other.hasTransactionInfo()) return false; 1586 if (hasTransactionInfo()) { 1587 if (!getTransactionInfo().equals(other.getTransactionInfo())) return false; 1588 } 1589 if (!getTagIdsList().equals(other.getTagIdsList())) return false; 1590 if (!getPromotionIdsList().equals(other.getPromotionIdsList())) return false; 1591 if (!internalGetAttributes().equals(other.internalGetAttributes())) return false; 1592 if (hasMediaInfo() != other.hasMediaInfo()) return false; 1593 if (hasMediaInfo()) { 1594 if (!getMediaInfo().equals(other.getMediaInfo())) return false; 1595 } 1596 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 1597 return true; 1598 } 1599 1600 @java.lang.Override hashCode()1601 public int hashCode() { 1602 if (memoizedHashCode != 0) { 1603 return memoizedHashCode; 1604 } 1605 int hash = 41; 1606 hash = (19 * hash) + getDescriptor().hashCode(); 1607 hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER; 1608 hash = (53 * hash) + getEventType().hashCode(); 1609 hash = (37 * hash) + USER_PSEUDO_ID_FIELD_NUMBER; 1610 hash = (53 * hash) + getUserPseudoId().hashCode(); 1611 if (hasEventTime()) { 1612 hash = (37 * hash) + EVENT_TIME_FIELD_NUMBER; 1613 hash = (53 * hash) + getEventTime().hashCode(); 1614 } 1615 if (hasUserInfo()) { 1616 hash = (37 * hash) + USER_INFO_FIELD_NUMBER; 1617 hash = (53 * hash) + getUserInfo().hashCode(); 1618 } 1619 hash = (37 * hash) + DIRECT_USER_REQUEST_FIELD_NUMBER; 1620 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getDirectUserRequest()); 1621 hash = (37 * hash) + SESSION_ID_FIELD_NUMBER; 1622 hash = (53 * hash) + getSessionId().hashCode(); 1623 if (hasPageInfo()) { 1624 hash = (37 * hash) + PAGE_INFO_FIELD_NUMBER; 1625 hash = (53 * hash) + getPageInfo().hashCode(); 1626 } 1627 hash = (37 * hash) + ATTRIBUTION_TOKEN_FIELD_NUMBER; 1628 hash = (53 * hash) + getAttributionToken().hashCode(); 1629 hash = (37 * hash) + FILTER_FIELD_NUMBER; 1630 hash = (53 * hash) + getFilter().hashCode(); 1631 if (getDocumentsCount() > 0) { 1632 hash = (37 * hash) + DOCUMENTS_FIELD_NUMBER; 1633 hash = (53 * hash) + getDocumentsList().hashCode(); 1634 } 1635 if (hasPanel()) { 1636 hash = (37 * hash) + PANEL_FIELD_NUMBER; 1637 hash = (53 * hash) + getPanel().hashCode(); 1638 } 1639 if (hasSearchInfo()) { 1640 hash = (37 * hash) + SEARCH_INFO_FIELD_NUMBER; 1641 hash = (53 * hash) + getSearchInfo().hashCode(); 1642 } 1643 if (hasCompletionInfo()) { 1644 hash = (37 * hash) + COMPLETION_INFO_FIELD_NUMBER; 1645 hash = (53 * hash) + getCompletionInfo().hashCode(); 1646 } 1647 if (hasTransactionInfo()) { 1648 hash = (37 * hash) + TRANSACTION_INFO_FIELD_NUMBER; 1649 hash = (53 * hash) + getTransactionInfo().hashCode(); 1650 } 1651 if (getTagIdsCount() > 0) { 1652 hash = (37 * hash) + TAG_IDS_FIELD_NUMBER; 1653 hash = (53 * hash) + getTagIdsList().hashCode(); 1654 } 1655 if (getPromotionIdsCount() > 0) { 1656 hash = (37 * hash) + PROMOTION_IDS_FIELD_NUMBER; 1657 hash = (53 * hash) + getPromotionIdsList().hashCode(); 1658 } 1659 if (!internalGetAttributes().getMap().isEmpty()) { 1660 hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER; 1661 hash = (53 * hash) + internalGetAttributes().hashCode(); 1662 } 1663 if (hasMediaInfo()) { 1664 hash = (37 * hash) + MEDIA_INFO_FIELD_NUMBER; 1665 hash = (53 * hash) + getMediaInfo().hashCode(); 1666 } 1667 hash = (29 * hash) + getUnknownFields().hashCode(); 1668 memoizedHashCode = hash; 1669 return hash; 1670 } 1671 parseFrom( java.nio.ByteBuffer data)1672 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1673 java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { 1674 return PARSER.parseFrom(data); 1675 } 1676 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1677 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1678 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1679 throws com.google.protobuf.InvalidProtocolBufferException { 1680 return PARSER.parseFrom(data, extensionRegistry); 1681 } 1682 parseFrom( com.google.protobuf.ByteString data)1683 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1684 com.google.protobuf.ByteString data) 1685 throws com.google.protobuf.InvalidProtocolBufferException { 1686 return PARSER.parseFrom(data); 1687 } 1688 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1689 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1690 com.google.protobuf.ByteString data, 1691 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1692 throws com.google.protobuf.InvalidProtocolBufferException { 1693 return PARSER.parseFrom(data, extensionRegistry); 1694 } 1695 parseFrom(byte[] data)1696 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom(byte[] data) 1697 throws com.google.protobuf.InvalidProtocolBufferException { 1698 return PARSER.parseFrom(data); 1699 } 1700 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1701 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1702 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1703 throws com.google.protobuf.InvalidProtocolBufferException { 1704 return PARSER.parseFrom(data, extensionRegistry); 1705 } 1706 parseFrom( java.io.InputStream input)1707 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1708 java.io.InputStream input) throws java.io.IOException { 1709 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 1710 } 1711 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1712 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1713 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1714 throws java.io.IOException { 1715 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 1716 PARSER, input, extensionRegistry); 1717 } 1718 parseDelimitedFrom( java.io.InputStream input)1719 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseDelimitedFrom( 1720 java.io.InputStream input) throws java.io.IOException { 1721 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 1722 } 1723 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1724 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseDelimitedFrom( 1725 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1726 throws java.io.IOException { 1727 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 1728 PARSER, input, extensionRegistry); 1729 } 1730 parseFrom( com.google.protobuf.CodedInputStream input)1731 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1732 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 1733 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 1734 } 1735 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1736 public static com.google.cloud.discoveryengine.v1beta.UserEvent parseFrom( 1737 com.google.protobuf.CodedInputStream input, 1738 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1739 throws java.io.IOException { 1740 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 1741 PARSER, input, extensionRegistry); 1742 } 1743 1744 @java.lang.Override newBuilderForType()1745 public Builder newBuilderForType() { 1746 return newBuilder(); 1747 } 1748 newBuilder()1749 public static Builder newBuilder() { 1750 return DEFAULT_INSTANCE.toBuilder(); 1751 } 1752 newBuilder(com.google.cloud.discoveryengine.v1beta.UserEvent prototype)1753 public static Builder newBuilder(com.google.cloud.discoveryengine.v1beta.UserEvent prototype) { 1754 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 1755 } 1756 1757 @java.lang.Override toBuilder()1758 public Builder toBuilder() { 1759 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 1760 } 1761 1762 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1763 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 1764 Builder builder = new Builder(parent); 1765 return builder; 1766 } 1767 /** 1768 * 1769 * 1770 * <pre> 1771 * UserEvent captures all metadata information Discovery Engine API needs to 1772 * know about how end users interact with customers' website. 1773 * </pre> 1774 * 1775 * Protobuf type {@code google.cloud.discoveryengine.v1beta.UserEvent} 1776 */ 1777 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 1778 implements 1779 // @@protoc_insertion_point(builder_implements:google.cloud.discoveryengine.v1beta.UserEvent) 1780 com.google.cloud.discoveryengine.v1beta.UserEventOrBuilder { getDescriptor()1781 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 1782 return com.google.cloud.discoveryengine.v1beta.UserEventProto 1783 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_descriptor; 1784 } 1785 1786 @SuppressWarnings({"rawtypes"}) internalGetMapField(int number)1787 protected com.google.protobuf.MapField internalGetMapField(int number) { 1788 switch (number) { 1789 case 17: 1790 return internalGetAttributes(); 1791 default: 1792 throw new RuntimeException("Invalid map field number: " + number); 1793 } 1794 } 1795 1796 @SuppressWarnings({"rawtypes"}) internalGetMutableMapField(int number)1797 protected com.google.protobuf.MapField internalGetMutableMapField(int number) { 1798 switch (number) { 1799 case 17: 1800 return internalGetMutableAttributes(); 1801 default: 1802 throw new RuntimeException("Invalid map field number: " + number); 1803 } 1804 } 1805 1806 @java.lang.Override 1807 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()1808 internalGetFieldAccessorTable() { 1809 return com.google.cloud.discoveryengine.v1beta.UserEventProto 1810 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_fieldAccessorTable 1811 .ensureFieldAccessorsInitialized( 1812 com.google.cloud.discoveryengine.v1beta.UserEvent.class, 1813 com.google.cloud.discoveryengine.v1beta.UserEvent.Builder.class); 1814 } 1815 1816 // Construct using com.google.cloud.discoveryengine.v1beta.UserEvent.newBuilder() Builder()1817 private Builder() {} 1818 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1819 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 1820 super(parent); 1821 } 1822 1823 @java.lang.Override clear()1824 public Builder clear() { 1825 super.clear(); 1826 bitField0_ = 0; 1827 eventType_ = ""; 1828 userPseudoId_ = ""; 1829 eventTime_ = null; 1830 if (eventTimeBuilder_ != null) { 1831 eventTimeBuilder_.dispose(); 1832 eventTimeBuilder_ = null; 1833 } 1834 userInfo_ = null; 1835 if (userInfoBuilder_ != null) { 1836 userInfoBuilder_.dispose(); 1837 userInfoBuilder_ = null; 1838 } 1839 directUserRequest_ = false; 1840 sessionId_ = ""; 1841 pageInfo_ = null; 1842 if (pageInfoBuilder_ != null) { 1843 pageInfoBuilder_.dispose(); 1844 pageInfoBuilder_ = null; 1845 } 1846 attributionToken_ = ""; 1847 filter_ = ""; 1848 if (documentsBuilder_ == null) { 1849 documents_ = java.util.Collections.emptyList(); 1850 } else { 1851 documents_ = null; 1852 documentsBuilder_.clear(); 1853 } 1854 bitField0_ = (bitField0_ & ~0x00000200); 1855 panel_ = null; 1856 if (panelBuilder_ != null) { 1857 panelBuilder_.dispose(); 1858 panelBuilder_ = null; 1859 } 1860 searchInfo_ = null; 1861 if (searchInfoBuilder_ != null) { 1862 searchInfoBuilder_.dispose(); 1863 searchInfoBuilder_ = null; 1864 } 1865 completionInfo_ = null; 1866 if (completionInfoBuilder_ != null) { 1867 completionInfoBuilder_.dispose(); 1868 completionInfoBuilder_ = null; 1869 } 1870 transactionInfo_ = null; 1871 if (transactionInfoBuilder_ != null) { 1872 transactionInfoBuilder_.dispose(); 1873 transactionInfoBuilder_ = null; 1874 } 1875 tagIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 1876 bitField0_ = (bitField0_ & ~0x00004000); 1877 promotionIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 1878 bitField0_ = (bitField0_ & ~0x00008000); 1879 internalGetMutableAttributes().clear(); 1880 mediaInfo_ = null; 1881 if (mediaInfoBuilder_ != null) { 1882 mediaInfoBuilder_.dispose(); 1883 mediaInfoBuilder_ = null; 1884 } 1885 return this; 1886 } 1887 1888 @java.lang.Override getDescriptorForType()1889 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 1890 return com.google.cloud.discoveryengine.v1beta.UserEventProto 1891 .internal_static_google_cloud_discoveryengine_v1beta_UserEvent_descriptor; 1892 } 1893 1894 @java.lang.Override getDefaultInstanceForType()1895 public com.google.cloud.discoveryengine.v1beta.UserEvent getDefaultInstanceForType() { 1896 return com.google.cloud.discoveryengine.v1beta.UserEvent.getDefaultInstance(); 1897 } 1898 1899 @java.lang.Override build()1900 public com.google.cloud.discoveryengine.v1beta.UserEvent build() { 1901 com.google.cloud.discoveryengine.v1beta.UserEvent result = buildPartial(); 1902 if (!result.isInitialized()) { 1903 throw newUninitializedMessageException(result); 1904 } 1905 return result; 1906 } 1907 1908 @java.lang.Override buildPartial()1909 public com.google.cloud.discoveryengine.v1beta.UserEvent buildPartial() { 1910 com.google.cloud.discoveryengine.v1beta.UserEvent result = 1911 new com.google.cloud.discoveryengine.v1beta.UserEvent(this); 1912 buildPartialRepeatedFields(result); 1913 if (bitField0_ != 0) { 1914 buildPartial0(result); 1915 } 1916 onBuilt(); 1917 return result; 1918 } 1919 buildPartialRepeatedFields( com.google.cloud.discoveryengine.v1beta.UserEvent result)1920 private void buildPartialRepeatedFields( 1921 com.google.cloud.discoveryengine.v1beta.UserEvent result) { 1922 if (documentsBuilder_ == null) { 1923 if (((bitField0_ & 0x00000200) != 0)) { 1924 documents_ = java.util.Collections.unmodifiableList(documents_); 1925 bitField0_ = (bitField0_ & ~0x00000200); 1926 } 1927 result.documents_ = documents_; 1928 } else { 1929 result.documents_ = documentsBuilder_.build(); 1930 } 1931 if (((bitField0_ & 0x00004000) != 0)) { 1932 tagIds_ = tagIds_.getUnmodifiableView(); 1933 bitField0_ = (bitField0_ & ~0x00004000); 1934 } 1935 result.tagIds_ = tagIds_; 1936 if (((bitField0_ & 0x00008000) != 0)) { 1937 promotionIds_ = promotionIds_.getUnmodifiableView(); 1938 bitField0_ = (bitField0_ & ~0x00008000); 1939 } 1940 result.promotionIds_ = promotionIds_; 1941 } 1942 buildPartial0(com.google.cloud.discoveryengine.v1beta.UserEvent result)1943 private void buildPartial0(com.google.cloud.discoveryengine.v1beta.UserEvent result) { 1944 int from_bitField0_ = bitField0_; 1945 if (((from_bitField0_ & 0x00000001) != 0)) { 1946 result.eventType_ = eventType_; 1947 } 1948 if (((from_bitField0_ & 0x00000002) != 0)) { 1949 result.userPseudoId_ = userPseudoId_; 1950 } 1951 if (((from_bitField0_ & 0x00000004) != 0)) { 1952 result.eventTime_ = eventTimeBuilder_ == null ? eventTime_ : eventTimeBuilder_.build(); 1953 } 1954 if (((from_bitField0_ & 0x00000008) != 0)) { 1955 result.userInfo_ = userInfoBuilder_ == null ? userInfo_ : userInfoBuilder_.build(); 1956 } 1957 if (((from_bitField0_ & 0x00000010) != 0)) { 1958 result.directUserRequest_ = directUserRequest_; 1959 } 1960 if (((from_bitField0_ & 0x00000020) != 0)) { 1961 result.sessionId_ = sessionId_; 1962 } 1963 if (((from_bitField0_ & 0x00000040) != 0)) { 1964 result.pageInfo_ = pageInfoBuilder_ == null ? pageInfo_ : pageInfoBuilder_.build(); 1965 } 1966 if (((from_bitField0_ & 0x00000080) != 0)) { 1967 result.attributionToken_ = attributionToken_; 1968 } 1969 if (((from_bitField0_ & 0x00000100) != 0)) { 1970 result.filter_ = filter_; 1971 } 1972 if (((from_bitField0_ & 0x00000400) != 0)) { 1973 result.panel_ = panelBuilder_ == null ? panel_ : panelBuilder_.build(); 1974 } 1975 if (((from_bitField0_ & 0x00000800) != 0)) { 1976 result.searchInfo_ = searchInfoBuilder_ == null ? searchInfo_ : searchInfoBuilder_.build(); 1977 } 1978 if (((from_bitField0_ & 0x00001000) != 0)) { 1979 result.completionInfo_ = 1980 completionInfoBuilder_ == null ? completionInfo_ : completionInfoBuilder_.build(); 1981 } 1982 if (((from_bitField0_ & 0x00002000) != 0)) { 1983 result.transactionInfo_ = 1984 transactionInfoBuilder_ == null ? transactionInfo_ : transactionInfoBuilder_.build(); 1985 } 1986 if (((from_bitField0_ & 0x00010000) != 0)) { 1987 result.attributes_ = internalGetAttributes(); 1988 result.attributes_.makeImmutable(); 1989 } 1990 if (((from_bitField0_ & 0x00020000) != 0)) { 1991 result.mediaInfo_ = mediaInfoBuilder_ == null ? mediaInfo_ : mediaInfoBuilder_.build(); 1992 } 1993 } 1994 1995 @java.lang.Override clone()1996 public Builder clone() { 1997 return super.clone(); 1998 } 1999 2000 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2001 public Builder setField( 2002 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 2003 return super.setField(field, value); 2004 } 2005 2006 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2007 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 2008 return super.clearField(field); 2009 } 2010 2011 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2012 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 2013 return super.clearOneof(oneof); 2014 } 2015 2016 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2017 public Builder setRepeatedField( 2018 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 2019 return super.setRepeatedField(field, index, value); 2020 } 2021 2022 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2023 public Builder addRepeatedField( 2024 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 2025 return super.addRepeatedField(field, value); 2026 } 2027 2028 @java.lang.Override mergeFrom(com.google.protobuf.Message other)2029 public Builder mergeFrom(com.google.protobuf.Message other) { 2030 if (other instanceof com.google.cloud.discoveryengine.v1beta.UserEvent) { 2031 return mergeFrom((com.google.cloud.discoveryengine.v1beta.UserEvent) other); 2032 } else { 2033 super.mergeFrom(other); 2034 return this; 2035 } 2036 } 2037 mergeFrom(com.google.cloud.discoveryengine.v1beta.UserEvent other)2038 public Builder mergeFrom(com.google.cloud.discoveryengine.v1beta.UserEvent other) { 2039 if (other == com.google.cloud.discoveryengine.v1beta.UserEvent.getDefaultInstance()) 2040 return this; 2041 if (!other.getEventType().isEmpty()) { 2042 eventType_ = other.eventType_; 2043 bitField0_ |= 0x00000001; 2044 onChanged(); 2045 } 2046 if (!other.getUserPseudoId().isEmpty()) { 2047 userPseudoId_ = other.userPseudoId_; 2048 bitField0_ |= 0x00000002; 2049 onChanged(); 2050 } 2051 if (other.hasEventTime()) { 2052 mergeEventTime(other.getEventTime()); 2053 } 2054 if (other.hasUserInfo()) { 2055 mergeUserInfo(other.getUserInfo()); 2056 } 2057 if (other.getDirectUserRequest() != false) { 2058 setDirectUserRequest(other.getDirectUserRequest()); 2059 } 2060 if (!other.getSessionId().isEmpty()) { 2061 sessionId_ = other.sessionId_; 2062 bitField0_ |= 0x00000020; 2063 onChanged(); 2064 } 2065 if (other.hasPageInfo()) { 2066 mergePageInfo(other.getPageInfo()); 2067 } 2068 if (!other.getAttributionToken().isEmpty()) { 2069 attributionToken_ = other.attributionToken_; 2070 bitField0_ |= 0x00000080; 2071 onChanged(); 2072 } 2073 if (!other.getFilter().isEmpty()) { 2074 filter_ = other.filter_; 2075 bitField0_ |= 0x00000100; 2076 onChanged(); 2077 } 2078 if (documentsBuilder_ == null) { 2079 if (!other.documents_.isEmpty()) { 2080 if (documents_.isEmpty()) { 2081 documents_ = other.documents_; 2082 bitField0_ = (bitField0_ & ~0x00000200); 2083 } else { 2084 ensureDocumentsIsMutable(); 2085 documents_.addAll(other.documents_); 2086 } 2087 onChanged(); 2088 } 2089 } else { 2090 if (!other.documents_.isEmpty()) { 2091 if (documentsBuilder_.isEmpty()) { 2092 documentsBuilder_.dispose(); 2093 documentsBuilder_ = null; 2094 documents_ = other.documents_; 2095 bitField0_ = (bitField0_ & ~0x00000200); 2096 documentsBuilder_ = 2097 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 2098 ? getDocumentsFieldBuilder() 2099 : null; 2100 } else { 2101 documentsBuilder_.addAllMessages(other.documents_); 2102 } 2103 } 2104 } 2105 if (other.hasPanel()) { 2106 mergePanel(other.getPanel()); 2107 } 2108 if (other.hasSearchInfo()) { 2109 mergeSearchInfo(other.getSearchInfo()); 2110 } 2111 if (other.hasCompletionInfo()) { 2112 mergeCompletionInfo(other.getCompletionInfo()); 2113 } 2114 if (other.hasTransactionInfo()) { 2115 mergeTransactionInfo(other.getTransactionInfo()); 2116 } 2117 if (!other.tagIds_.isEmpty()) { 2118 if (tagIds_.isEmpty()) { 2119 tagIds_ = other.tagIds_; 2120 bitField0_ = (bitField0_ & ~0x00004000); 2121 } else { 2122 ensureTagIdsIsMutable(); 2123 tagIds_.addAll(other.tagIds_); 2124 } 2125 onChanged(); 2126 } 2127 if (!other.promotionIds_.isEmpty()) { 2128 if (promotionIds_.isEmpty()) { 2129 promotionIds_ = other.promotionIds_; 2130 bitField0_ = (bitField0_ & ~0x00008000); 2131 } else { 2132 ensurePromotionIdsIsMutable(); 2133 promotionIds_.addAll(other.promotionIds_); 2134 } 2135 onChanged(); 2136 } 2137 internalGetMutableAttributes().mergeFrom(other.internalGetAttributes()); 2138 bitField0_ |= 0x00010000; 2139 if (other.hasMediaInfo()) { 2140 mergeMediaInfo(other.getMediaInfo()); 2141 } 2142 this.mergeUnknownFields(other.getUnknownFields()); 2143 onChanged(); 2144 return this; 2145 } 2146 2147 @java.lang.Override isInitialized()2148 public final boolean isInitialized() { 2149 return true; 2150 } 2151 2152 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2153 public Builder mergeFrom( 2154 com.google.protobuf.CodedInputStream input, 2155 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 2156 throws java.io.IOException { 2157 if (extensionRegistry == null) { 2158 throw new java.lang.NullPointerException(); 2159 } 2160 try { 2161 boolean done = false; 2162 while (!done) { 2163 int tag = input.readTag(); 2164 switch (tag) { 2165 case 0: 2166 done = true; 2167 break; 2168 case 10: 2169 { 2170 eventType_ = input.readStringRequireUtf8(); 2171 bitField0_ |= 0x00000001; 2172 break; 2173 } // case 10 2174 case 18: 2175 { 2176 userPseudoId_ = input.readStringRequireUtf8(); 2177 bitField0_ |= 0x00000002; 2178 break; 2179 } // case 18 2180 case 26: 2181 { 2182 input.readMessage(getEventTimeFieldBuilder().getBuilder(), extensionRegistry); 2183 bitField0_ |= 0x00000004; 2184 break; 2185 } // case 26 2186 case 34: 2187 { 2188 input.readMessage(getUserInfoFieldBuilder().getBuilder(), extensionRegistry); 2189 bitField0_ |= 0x00000008; 2190 break; 2191 } // case 34 2192 case 40: 2193 { 2194 directUserRequest_ = input.readBool(); 2195 bitField0_ |= 0x00000010; 2196 break; 2197 } // case 40 2198 case 50: 2199 { 2200 sessionId_ = input.readStringRequireUtf8(); 2201 bitField0_ |= 0x00000020; 2202 break; 2203 } // case 50 2204 case 58: 2205 { 2206 input.readMessage(getPageInfoFieldBuilder().getBuilder(), extensionRegistry); 2207 bitField0_ |= 0x00000040; 2208 break; 2209 } // case 58 2210 case 66: 2211 { 2212 attributionToken_ = input.readStringRequireUtf8(); 2213 bitField0_ |= 0x00000080; 2214 break; 2215 } // case 66 2216 case 74: 2217 { 2218 filter_ = input.readStringRequireUtf8(); 2219 bitField0_ |= 0x00000100; 2220 break; 2221 } // case 74 2222 case 82: 2223 { 2224 com.google.cloud.discoveryengine.v1beta.DocumentInfo m = 2225 input.readMessage( 2226 com.google.cloud.discoveryengine.v1beta.DocumentInfo.parser(), 2227 extensionRegistry); 2228 if (documentsBuilder_ == null) { 2229 ensureDocumentsIsMutable(); 2230 documents_.add(m); 2231 } else { 2232 documentsBuilder_.addMessage(m); 2233 } 2234 break; 2235 } // case 82 2236 case 90: 2237 { 2238 input.readMessage(getPanelFieldBuilder().getBuilder(), extensionRegistry); 2239 bitField0_ |= 0x00000400; 2240 break; 2241 } // case 90 2242 case 98: 2243 { 2244 input.readMessage(getSearchInfoFieldBuilder().getBuilder(), extensionRegistry); 2245 bitField0_ |= 0x00000800; 2246 break; 2247 } // case 98 2248 case 106: 2249 { 2250 input.readMessage(getCompletionInfoFieldBuilder().getBuilder(), extensionRegistry); 2251 bitField0_ |= 0x00001000; 2252 break; 2253 } // case 106 2254 case 114: 2255 { 2256 input.readMessage(getTransactionInfoFieldBuilder().getBuilder(), extensionRegistry); 2257 bitField0_ |= 0x00002000; 2258 break; 2259 } // case 114 2260 case 122: 2261 { 2262 java.lang.String s = input.readStringRequireUtf8(); 2263 ensureTagIdsIsMutable(); 2264 tagIds_.add(s); 2265 break; 2266 } // case 122 2267 case 130: 2268 { 2269 java.lang.String s = input.readStringRequireUtf8(); 2270 ensurePromotionIdsIsMutable(); 2271 promotionIds_.add(s); 2272 break; 2273 } // case 130 2274 case 138: 2275 { 2276 com.google.protobuf.MapEntry< 2277 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 2278 attributes__ = 2279 input.readMessage( 2280 AttributesDefaultEntryHolder.defaultEntry.getParserForType(), 2281 extensionRegistry); 2282 internalGetMutableAttributes() 2283 .getMutableMap() 2284 .put(attributes__.getKey(), attributes__.getValue()); 2285 bitField0_ |= 0x00010000; 2286 break; 2287 } // case 138 2288 case 146: 2289 { 2290 input.readMessage(getMediaInfoFieldBuilder().getBuilder(), extensionRegistry); 2291 bitField0_ |= 0x00020000; 2292 break; 2293 } // case 146 2294 default: 2295 { 2296 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 2297 done = true; // was an endgroup tag 2298 } 2299 break; 2300 } // default: 2301 } // switch (tag) 2302 } // while (!done) 2303 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 2304 throw e.unwrapIOException(); 2305 } finally { 2306 onChanged(); 2307 } // finally 2308 return this; 2309 } 2310 2311 private int bitField0_; 2312 2313 private java.lang.Object eventType_ = ""; 2314 /** 2315 * 2316 * 2317 * <pre> 2318 * Required. User event type. Allowed values are: 2319 * Generic values: 2320 * * `search`: Search for Documents. 2321 * * `view-item`: Detailed page view of a Document. 2322 * * `view-item-list`: View of a panel or ordered list of Documents. 2323 * * `view-home-page`: View of the home page. 2324 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 2325 * Retail-related values: 2326 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 2327 * * `purchase`: Purchase an item(s) 2328 * Media-related values: 2329 * * `media-play`: Start/resume watching a video, playing a song, etc. 2330 * * `media-complete`: Finished or stopped midway through a video, song, etc. 2331 * </pre> 2332 * 2333 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 2334 * 2335 * @return The eventType. 2336 */ getEventType()2337 public java.lang.String getEventType() { 2338 java.lang.Object ref = eventType_; 2339 if (!(ref instanceof java.lang.String)) { 2340 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2341 java.lang.String s = bs.toStringUtf8(); 2342 eventType_ = s; 2343 return s; 2344 } else { 2345 return (java.lang.String) ref; 2346 } 2347 } 2348 /** 2349 * 2350 * 2351 * <pre> 2352 * Required. User event type. Allowed values are: 2353 * Generic values: 2354 * * `search`: Search for Documents. 2355 * * `view-item`: Detailed page view of a Document. 2356 * * `view-item-list`: View of a panel or ordered list of Documents. 2357 * * `view-home-page`: View of the home page. 2358 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 2359 * Retail-related values: 2360 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 2361 * * `purchase`: Purchase an item(s) 2362 * Media-related values: 2363 * * `media-play`: Start/resume watching a video, playing a song, etc. 2364 * * `media-complete`: Finished or stopped midway through a video, song, etc. 2365 * </pre> 2366 * 2367 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 2368 * 2369 * @return The bytes for eventType. 2370 */ getEventTypeBytes()2371 public com.google.protobuf.ByteString getEventTypeBytes() { 2372 java.lang.Object ref = eventType_; 2373 if (ref instanceof String) { 2374 com.google.protobuf.ByteString b = 2375 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2376 eventType_ = b; 2377 return b; 2378 } else { 2379 return (com.google.protobuf.ByteString) ref; 2380 } 2381 } 2382 /** 2383 * 2384 * 2385 * <pre> 2386 * Required. User event type. Allowed values are: 2387 * Generic values: 2388 * * `search`: Search for Documents. 2389 * * `view-item`: Detailed page view of a Document. 2390 * * `view-item-list`: View of a panel or ordered list of Documents. 2391 * * `view-home-page`: View of the home page. 2392 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 2393 * Retail-related values: 2394 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 2395 * * `purchase`: Purchase an item(s) 2396 * Media-related values: 2397 * * `media-play`: Start/resume watching a video, playing a song, etc. 2398 * * `media-complete`: Finished or stopped midway through a video, song, etc. 2399 * </pre> 2400 * 2401 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 2402 * 2403 * @param value The eventType to set. 2404 * @return This builder for chaining. 2405 */ setEventType(java.lang.String value)2406 public Builder setEventType(java.lang.String value) { 2407 if (value == null) { 2408 throw new NullPointerException(); 2409 } 2410 eventType_ = value; 2411 bitField0_ |= 0x00000001; 2412 onChanged(); 2413 return this; 2414 } 2415 /** 2416 * 2417 * 2418 * <pre> 2419 * Required. User event type. Allowed values are: 2420 * Generic values: 2421 * * `search`: Search for Documents. 2422 * * `view-item`: Detailed page view of a Document. 2423 * * `view-item-list`: View of a panel or ordered list of Documents. 2424 * * `view-home-page`: View of the home page. 2425 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 2426 * Retail-related values: 2427 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 2428 * * `purchase`: Purchase an item(s) 2429 * Media-related values: 2430 * * `media-play`: Start/resume watching a video, playing a song, etc. 2431 * * `media-complete`: Finished or stopped midway through a video, song, etc. 2432 * </pre> 2433 * 2434 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 2435 * 2436 * @return This builder for chaining. 2437 */ clearEventType()2438 public Builder clearEventType() { 2439 eventType_ = getDefaultInstance().getEventType(); 2440 bitField0_ = (bitField0_ & ~0x00000001); 2441 onChanged(); 2442 return this; 2443 } 2444 /** 2445 * 2446 * 2447 * <pre> 2448 * Required. User event type. Allowed values are: 2449 * Generic values: 2450 * * `search`: Search for Documents. 2451 * * `view-item`: Detailed page view of a Document. 2452 * * `view-item-list`: View of a panel or ordered list of Documents. 2453 * * `view-home-page`: View of the home page. 2454 * * `view-category-page`: View of a category page, e.g. Home > Men > Jeans 2455 * Retail-related values: 2456 * * `add-to-cart`: Add an item(s) to cart, e.g. in Retail online shopping 2457 * * `purchase`: Purchase an item(s) 2458 * Media-related values: 2459 * * `media-play`: Start/resume watching a video, playing a song, etc. 2460 * * `media-complete`: Finished or stopped midway through a video, song, etc. 2461 * </pre> 2462 * 2463 * <code>string event_type = 1 [(.google.api.field_behavior) = REQUIRED];</code> 2464 * 2465 * @param value The bytes for eventType to set. 2466 * @return This builder for chaining. 2467 */ setEventTypeBytes(com.google.protobuf.ByteString value)2468 public Builder setEventTypeBytes(com.google.protobuf.ByteString value) { 2469 if (value == null) { 2470 throw new NullPointerException(); 2471 } 2472 checkByteStringIsUtf8(value); 2473 eventType_ = value; 2474 bitField0_ |= 0x00000001; 2475 onChanged(); 2476 return this; 2477 } 2478 2479 private java.lang.Object userPseudoId_ = ""; 2480 /** 2481 * 2482 * 2483 * <pre> 2484 * Required. A unique identifier for tracking visitors. 2485 * For example, this could be implemented with an HTTP cookie, which should be 2486 * able to uniquely identify a visitor on a single device. This unique 2487 * identifier should not change if the visitor log in/out of the website. 2488 * Do not set the field to the same fixed ID for different users. This mixes 2489 * the event history of those users together, which results in degraded model 2490 * quality. 2491 * The field must be a UTF-8 encoded string with a length limit of 128 2492 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 2493 * The field should not contain PII or user-data. We recommend to use Google 2494 * Analytics [Client 2495 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 2496 * for this field. 2497 * </pre> 2498 * 2499 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 2500 * 2501 * @return The userPseudoId. 2502 */ getUserPseudoId()2503 public java.lang.String getUserPseudoId() { 2504 java.lang.Object ref = userPseudoId_; 2505 if (!(ref instanceof java.lang.String)) { 2506 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 2507 java.lang.String s = bs.toStringUtf8(); 2508 userPseudoId_ = s; 2509 return s; 2510 } else { 2511 return (java.lang.String) ref; 2512 } 2513 } 2514 /** 2515 * 2516 * 2517 * <pre> 2518 * Required. A unique identifier for tracking visitors. 2519 * For example, this could be implemented with an HTTP cookie, which should be 2520 * able to uniquely identify a visitor on a single device. This unique 2521 * identifier should not change if the visitor log in/out of the website. 2522 * Do not set the field to the same fixed ID for different users. This mixes 2523 * the event history of those users together, which results in degraded model 2524 * quality. 2525 * The field must be a UTF-8 encoded string with a length limit of 128 2526 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 2527 * The field should not contain PII or user-data. We recommend to use Google 2528 * Analytics [Client 2529 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 2530 * for this field. 2531 * </pre> 2532 * 2533 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 2534 * 2535 * @return The bytes for userPseudoId. 2536 */ getUserPseudoIdBytes()2537 public com.google.protobuf.ByteString getUserPseudoIdBytes() { 2538 java.lang.Object ref = userPseudoId_; 2539 if (ref instanceof String) { 2540 com.google.protobuf.ByteString b = 2541 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 2542 userPseudoId_ = b; 2543 return b; 2544 } else { 2545 return (com.google.protobuf.ByteString) ref; 2546 } 2547 } 2548 /** 2549 * 2550 * 2551 * <pre> 2552 * Required. A unique identifier for tracking visitors. 2553 * For example, this could be implemented with an HTTP cookie, which should be 2554 * able to uniquely identify a visitor on a single device. This unique 2555 * identifier should not change if the visitor log in/out of the website. 2556 * Do not set the field to the same fixed ID for different users. This mixes 2557 * the event history of those users together, which results in degraded model 2558 * quality. 2559 * The field must be a UTF-8 encoded string with a length limit of 128 2560 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 2561 * The field should not contain PII or user-data. We recommend to use Google 2562 * Analytics [Client 2563 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 2564 * for this field. 2565 * </pre> 2566 * 2567 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 2568 * 2569 * @param value The userPseudoId to set. 2570 * @return This builder for chaining. 2571 */ setUserPseudoId(java.lang.String value)2572 public Builder setUserPseudoId(java.lang.String value) { 2573 if (value == null) { 2574 throw new NullPointerException(); 2575 } 2576 userPseudoId_ = value; 2577 bitField0_ |= 0x00000002; 2578 onChanged(); 2579 return this; 2580 } 2581 /** 2582 * 2583 * 2584 * <pre> 2585 * Required. A unique identifier for tracking visitors. 2586 * For example, this could be implemented with an HTTP cookie, which should be 2587 * able to uniquely identify a visitor on a single device. This unique 2588 * identifier should not change if the visitor log in/out of the website. 2589 * Do not set the field to the same fixed ID for different users. This mixes 2590 * the event history of those users together, which results in degraded model 2591 * quality. 2592 * The field must be a UTF-8 encoded string with a length limit of 128 2593 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 2594 * The field should not contain PII or user-data. We recommend to use Google 2595 * Analytics [Client 2596 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 2597 * for this field. 2598 * </pre> 2599 * 2600 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 2601 * 2602 * @return This builder for chaining. 2603 */ clearUserPseudoId()2604 public Builder clearUserPseudoId() { 2605 userPseudoId_ = getDefaultInstance().getUserPseudoId(); 2606 bitField0_ = (bitField0_ & ~0x00000002); 2607 onChanged(); 2608 return this; 2609 } 2610 /** 2611 * 2612 * 2613 * <pre> 2614 * Required. A unique identifier for tracking visitors. 2615 * For example, this could be implemented with an HTTP cookie, which should be 2616 * able to uniquely identify a visitor on a single device. This unique 2617 * identifier should not change if the visitor log in/out of the website. 2618 * Do not set the field to the same fixed ID for different users. This mixes 2619 * the event history of those users together, which results in degraded model 2620 * quality. 2621 * The field must be a UTF-8 encoded string with a length limit of 128 2622 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 2623 * The field should not contain PII or user-data. We recommend to use Google 2624 * Analytics [Client 2625 * ID](https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#clientId) 2626 * for this field. 2627 * </pre> 2628 * 2629 * <code>string user_pseudo_id = 2 [(.google.api.field_behavior) = REQUIRED];</code> 2630 * 2631 * @param value The bytes for userPseudoId to set. 2632 * @return This builder for chaining. 2633 */ setUserPseudoIdBytes(com.google.protobuf.ByteString value)2634 public Builder setUserPseudoIdBytes(com.google.protobuf.ByteString value) { 2635 if (value == null) { 2636 throw new NullPointerException(); 2637 } 2638 checkByteStringIsUtf8(value); 2639 userPseudoId_ = value; 2640 bitField0_ |= 0x00000002; 2641 onChanged(); 2642 return this; 2643 } 2644 2645 private com.google.protobuf.Timestamp eventTime_; 2646 private com.google.protobuf.SingleFieldBuilderV3< 2647 com.google.protobuf.Timestamp, 2648 com.google.protobuf.Timestamp.Builder, 2649 com.google.protobuf.TimestampOrBuilder> 2650 eventTimeBuilder_; 2651 /** 2652 * 2653 * 2654 * <pre> 2655 * Only required for 2656 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2657 * method. Timestamp of when the user event happened. 2658 * </pre> 2659 * 2660 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2661 * 2662 * @return Whether the eventTime field is set. 2663 */ hasEventTime()2664 public boolean hasEventTime() { 2665 return ((bitField0_ & 0x00000004) != 0); 2666 } 2667 /** 2668 * 2669 * 2670 * <pre> 2671 * Only required for 2672 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2673 * method. Timestamp of when the user event happened. 2674 * </pre> 2675 * 2676 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2677 * 2678 * @return The eventTime. 2679 */ getEventTime()2680 public com.google.protobuf.Timestamp getEventTime() { 2681 if (eventTimeBuilder_ == null) { 2682 return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_; 2683 } else { 2684 return eventTimeBuilder_.getMessage(); 2685 } 2686 } 2687 /** 2688 * 2689 * 2690 * <pre> 2691 * Only required for 2692 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2693 * method. Timestamp of when the user event happened. 2694 * </pre> 2695 * 2696 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2697 */ setEventTime(com.google.protobuf.Timestamp value)2698 public Builder setEventTime(com.google.protobuf.Timestamp value) { 2699 if (eventTimeBuilder_ == null) { 2700 if (value == null) { 2701 throw new NullPointerException(); 2702 } 2703 eventTime_ = value; 2704 } else { 2705 eventTimeBuilder_.setMessage(value); 2706 } 2707 bitField0_ |= 0x00000004; 2708 onChanged(); 2709 return this; 2710 } 2711 /** 2712 * 2713 * 2714 * <pre> 2715 * Only required for 2716 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2717 * method. Timestamp of when the user event happened. 2718 * </pre> 2719 * 2720 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2721 */ setEventTime(com.google.protobuf.Timestamp.Builder builderForValue)2722 public Builder setEventTime(com.google.protobuf.Timestamp.Builder builderForValue) { 2723 if (eventTimeBuilder_ == null) { 2724 eventTime_ = builderForValue.build(); 2725 } else { 2726 eventTimeBuilder_.setMessage(builderForValue.build()); 2727 } 2728 bitField0_ |= 0x00000004; 2729 onChanged(); 2730 return this; 2731 } 2732 /** 2733 * 2734 * 2735 * <pre> 2736 * Only required for 2737 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2738 * method. Timestamp of when the user event happened. 2739 * </pre> 2740 * 2741 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2742 */ mergeEventTime(com.google.protobuf.Timestamp value)2743 public Builder mergeEventTime(com.google.protobuf.Timestamp value) { 2744 if (eventTimeBuilder_ == null) { 2745 if (((bitField0_ & 0x00000004) != 0) 2746 && eventTime_ != null 2747 && eventTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) { 2748 getEventTimeBuilder().mergeFrom(value); 2749 } else { 2750 eventTime_ = value; 2751 } 2752 } else { 2753 eventTimeBuilder_.mergeFrom(value); 2754 } 2755 bitField0_ |= 0x00000004; 2756 onChanged(); 2757 return this; 2758 } 2759 /** 2760 * 2761 * 2762 * <pre> 2763 * Only required for 2764 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2765 * method. Timestamp of when the user event happened. 2766 * </pre> 2767 * 2768 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2769 */ clearEventTime()2770 public Builder clearEventTime() { 2771 bitField0_ = (bitField0_ & ~0x00000004); 2772 eventTime_ = null; 2773 if (eventTimeBuilder_ != null) { 2774 eventTimeBuilder_.dispose(); 2775 eventTimeBuilder_ = null; 2776 } 2777 onChanged(); 2778 return this; 2779 } 2780 /** 2781 * 2782 * 2783 * <pre> 2784 * Only required for 2785 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2786 * method. Timestamp of when the user event happened. 2787 * </pre> 2788 * 2789 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2790 */ getEventTimeBuilder()2791 public com.google.protobuf.Timestamp.Builder getEventTimeBuilder() { 2792 bitField0_ |= 0x00000004; 2793 onChanged(); 2794 return getEventTimeFieldBuilder().getBuilder(); 2795 } 2796 /** 2797 * 2798 * 2799 * <pre> 2800 * Only required for 2801 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2802 * method. Timestamp of when the user event happened. 2803 * </pre> 2804 * 2805 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2806 */ getEventTimeOrBuilder()2807 public com.google.protobuf.TimestampOrBuilder getEventTimeOrBuilder() { 2808 if (eventTimeBuilder_ != null) { 2809 return eventTimeBuilder_.getMessageOrBuilder(); 2810 } else { 2811 return eventTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : eventTime_; 2812 } 2813 } 2814 /** 2815 * 2816 * 2817 * <pre> 2818 * Only required for 2819 * [UserEventService.ImportUserEvents][google.cloud.discoveryengine.v1beta.UserEventService.ImportUserEvents] 2820 * method. Timestamp of when the user event happened. 2821 * </pre> 2822 * 2823 * <code>.google.protobuf.Timestamp event_time = 3;</code> 2824 */ 2825 private com.google.protobuf.SingleFieldBuilderV3< 2826 com.google.protobuf.Timestamp, 2827 com.google.protobuf.Timestamp.Builder, 2828 com.google.protobuf.TimestampOrBuilder> getEventTimeFieldBuilder()2829 getEventTimeFieldBuilder() { 2830 if (eventTimeBuilder_ == null) { 2831 eventTimeBuilder_ = 2832 new com.google.protobuf.SingleFieldBuilderV3< 2833 com.google.protobuf.Timestamp, 2834 com.google.protobuf.Timestamp.Builder, 2835 com.google.protobuf.TimestampOrBuilder>( 2836 getEventTime(), getParentForChildren(), isClean()); 2837 eventTime_ = null; 2838 } 2839 return eventTimeBuilder_; 2840 } 2841 2842 private com.google.cloud.discoveryengine.v1beta.UserInfo userInfo_; 2843 private com.google.protobuf.SingleFieldBuilderV3< 2844 com.google.cloud.discoveryengine.v1beta.UserInfo, 2845 com.google.cloud.discoveryengine.v1beta.UserInfo.Builder, 2846 com.google.cloud.discoveryengine.v1beta.UserInfoOrBuilder> 2847 userInfoBuilder_; 2848 /** 2849 * 2850 * 2851 * <pre> 2852 * Information about the end user. 2853 * </pre> 2854 * 2855 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2856 * 2857 * @return Whether the userInfo field is set. 2858 */ hasUserInfo()2859 public boolean hasUserInfo() { 2860 return ((bitField0_ & 0x00000008) != 0); 2861 } 2862 /** 2863 * 2864 * 2865 * <pre> 2866 * Information about the end user. 2867 * </pre> 2868 * 2869 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2870 * 2871 * @return The userInfo. 2872 */ getUserInfo()2873 public com.google.cloud.discoveryengine.v1beta.UserInfo getUserInfo() { 2874 if (userInfoBuilder_ == null) { 2875 return userInfo_ == null 2876 ? com.google.cloud.discoveryengine.v1beta.UserInfo.getDefaultInstance() 2877 : userInfo_; 2878 } else { 2879 return userInfoBuilder_.getMessage(); 2880 } 2881 } 2882 /** 2883 * 2884 * 2885 * <pre> 2886 * Information about the end user. 2887 * </pre> 2888 * 2889 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2890 */ setUserInfo(com.google.cloud.discoveryengine.v1beta.UserInfo value)2891 public Builder setUserInfo(com.google.cloud.discoveryengine.v1beta.UserInfo value) { 2892 if (userInfoBuilder_ == null) { 2893 if (value == null) { 2894 throw new NullPointerException(); 2895 } 2896 userInfo_ = value; 2897 } else { 2898 userInfoBuilder_.setMessage(value); 2899 } 2900 bitField0_ |= 0x00000008; 2901 onChanged(); 2902 return this; 2903 } 2904 /** 2905 * 2906 * 2907 * <pre> 2908 * Information about the end user. 2909 * </pre> 2910 * 2911 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2912 */ setUserInfo( com.google.cloud.discoveryengine.v1beta.UserInfo.Builder builderForValue)2913 public Builder setUserInfo( 2914 com.google.cloud.discoveryengine.v1beta.UserInfo.Builder builderForValue) { 2915 if (userInfoBuilder_ == null) { 2916 userInfo_ = builderForValue.build(); 2917 } else { 2918 userInfoBuilder_.setMessage(builderForValue.build()); 2919 } 2920 bitField0_ |= 0x00000008; 2921 onChanged(); 2922 return this; 2923 } 2924 /** 2925 * 2926 * 2927 * <pre> 2928 * Information about the end user. 2929 * </pre> 2930 * 2931 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2932 */ mergeUserInfo(com.google.cloud.discoveryengine.v1beta.UserInfo value)2933 public Builder mergeUserInfo(com.google.cloud.discoveryengine.v1beta.UserInfo value) { 2934 if (userInfoBuilder_ == null) { 2935 if (((bitField0_ & 0x00000008) != 0) 2936 && userInfo_ != null 2937 && userInfo_ != com.google.cloud.discoveryengine.v1beta.UserInfo.getDefaultInstance()) { 2938 getUserInfoBuilder().mergeFrom(value); 2939 } else { 2940 userInfo_ = value; 2941 } 2942 } else { 2943 userInfoBuilder_.mergeFrom(value); 2944 } 2945 bitField0_ |= 0x00000008; 2946 onChanged(); 2947 return this; 2948 } 2949 /** 2950 * 2951 * 2952 * <pre> 2953 * Information about the end user. 2954 * </pre> 2955 * 2956 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2957 */ clearUserInfo()2958 public Builder clearUserInfo() { 2959 bitField0_ = (bitField0_ & ~0x00000008); 2960 userInfo_ = null; 2961 if (userInfoBuilder_ != null) { 2962 userInfoBuilder_.dispose(); 2963 userInfoBuilder_ = null; 2964 } 2965 onChanged(); 2966 return this; 2967 } 2968 /** 2969 * 2970 * 2971 * <pre> 2972 * Information about the end user. 2973 * </pre> 2974 * 2975 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2976 */ getUserInfoBuilder()2977 public com.google.cloud.discoveryengine.v1beta.UserInfo.Builder getUserInfoBuilder() { 2978 bitField0_ |= 0x00000008; 2979 onChanged(); 2980 return getUserInfoFieldBuilder().getBuilder(); 2981 } 2982 /** 2983 * 2984 * 2985 * <pre> 2986 * Information about the end user. 2987 * </pre> 2988 * 2989 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 2990 */ getUserInfoOrBuilder()2991 public com.google.cloud.discoveryengine.v1beta.UserInfoOrBuilder getUserInfoOrBuilder() { 2992 if (userInfoBuilder_ != null) { 2993 return userInfoBuilder_.getMessageOrBuilder(); 2994 } else { 2995 return userInfo_ == null 2996 ? com.google.cloud.discoveryengine.v1beta.UserInfo.getDefaultInstance() 2997 : userInfo_; 2998 } 2999 } 3000 /** 3001 * 3002 * 3003 * <pre> 3004 * Information about the end user. 3005 * </pre> 3006 * 3007 * <code>.google.cloud.discoveryengine.v1beta.UserInfo user_info = 4;</code> 3008 */ 3009 private com.google.protobuf.SingleFieldBuilderV3< 3010 com.google.cloud.discoveryengine.v1beta.UserInfo, 3011 com.google.cloud.discoveryengine.v1beta.UserInfo.Builder, 3012 com.google.cloud.discoveryengine.v1beta.UserInfoOrBuilder> getUserInfoFieldBuilder()3013 getUserInfoFieldBuilder() { 3014 if (userInfoBuilder_ == null) { 3015 userInfoBuilder_ = 3016 new com.google.protobuf.SingleFieldBuilderV3< 3017 com.google.cloud.discoveryengine.v1beta.UserInfo, 3018 com.google.cloud.discoveryengine.v1beta.UserInfo.Builder, 3019 com.google.cloud.discoveryengine.v1beta.UserInfoOrBuilder>( 3020 getUserInfo(), getParentForChildren(), isClean()); 3021 userInfo_ = null; 3022 } 3023 return userInfoBuilder_; 3024 } 3025 3026 private boolean directUserRequest_; 3027 /** 3028 * 3029 * 3030 * <pre> 3031 * Should set to true if the request is made directly from the end user, in 3032 * which case the 3033 * [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent] 3034 * can be populated from the HTTP request. 3035 * This flag should be set only if the API request is made directly from the 3036 * end user such as a mobile app (and not if a gateway or a server is 3037 * processing and pushing the user events). 3038 * This should not be set when using the JavaScript tag in 3039 * [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1beta.UserEventService.CollectUserEvent]. 3040 * </pre> 3041 * 3042 * <code>bool direct_user_request = 5;</code> 3043 * 3044 * @return The directUserRequest. 3045 */ 3046 @java.lang.Override getDirectUserRequest()3047 public boolean getDirectUserRequest() { 3048 return directUserRequest_; 3049 } 3050 /** 3051 * 3052 * 3053 * <pre> 3054 * Should set to true if the request is made directly from the end user, in 3055 * which case the 3056 * [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent] 3057 * can be populated from the HTTP request. 3058 * This flag should be set only if the API request is made directly from the 3059 * end user such as a mobile app (and not if a gateway or a server is 3060 * processing and pushing the user events). 3061 * This should not be set when using the JavaScript tag in 3062 * [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1beta.UserEventService.CollectUserEvent]. 3063 * </pre> 3064 * 3065 * <code>bool direct_user_request = 5;</code> 3066 * 3067 * @param value The directUserRequest to set. 3068 * @return This builder for chaining. 3069 */ setDirectUserRequest(boolean value)3070 public Builder setDirectUserRequest(boolean value) { 3071 3072 directUserRequest_ = value; 3073 bitField0_ |= 0x00000010; 3074 onChanged(); 3075 return this; 3076 } 3077 /** 3078 * 3079 * 3080 * <pre> 3081 * Should set to true if the request is made directly from the end user, in 3082 * which case the 3083 * [UserEvent.user_info.user_agent][google.cloud.discoveryengine.v1beta.UserInfo.user_agent] 3084 * can be populated from the HTTP request. 3085 * This flag should be set only if the API request is made directly from the 3086 * end user such as a mobile app (and not if a gateway or a server is 3087 * processing and pushing the user events). 3088 * This should not be set when using the JavaScript tag in 3089 * [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1beta.UserEventService.CollectUserEvent]. 3090 * </pre> 3091 * 3092 * <code>bool direct_user_request = 5;</code> 3093 * 3094 * @return This builder for chaining. 3095 */ clearDirectUserRequest()3096 public Builder clearDirectUserRequest() { 3097 bitField0_ = (bitField0_ & ~0x00000010); 3098 directUserRequest_ = false; 3099 onChanged(); 3100 return this; 3101 } 3102 3103 private java.lang.Object sessionId_ = ""; 3104 /** 3105 * 3106 * 3107 * <pre> 3108 * A unique identifier for tracking a visitor session with a length limit of 3109 * 128 bytes. A session is an aggregation of an end user behavior in a time 3110 * span. 3111 * A general guideline to populate the session_id: 3112 * 1. If user has no activity for 30 min, a new session_id should be assigned. 3113 * 2. The session_id should be unique across users, suggest use uuid or add 3114 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 3115 * as prefix. 3116 * </pre> 3117 * 3118 * <code>string session_id = 6;</code> 3119 * 3120 * @return The sessionId. 3121 */ getSessionId()3122 public java.lang.String getSessionId() { 3123 java.lang.Object ref = sessionId_; 3124 if (!(ref instanceof java.lang.String)) { 3125 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 3126 java.lang.String s = bs.toStringUtf8(); 3127 sessionId_ = s; 3128 return s; 3129 } else { 3130 return (java.lang.String) ref; 3131 } 3132 } 3133 /** 3134 * 3135 * 3136 * <pre> 3137 * A unique identifier for tracking a visitor session with a length limit of 3138 * 128 bytes. A session is an aggregation of an end user behavior in a time 3139 * span. 3140 * A general guideline to populate the session_id: 3141 * 1. If user has no activity for 30 min, a new session_id should be assigned. 3142 * 2. The session_id should be unique across users, suggest use uuid or add 3143 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 3144 * as prefix. 3145 * </pre> 3146 * 3147 * <code>string session_id = 6;</code> 3148 * 3149 * @return The bytes for sessionId. 3150 */ getSessionIdBytes()3151 public com.google.protobuf.ByteString getSessionIdBytes() { 3152 java.lang.Object ref = sessionId_; 3153 if (ref instanceof String) { 3154 com.google.protobuf.ByteString b = 3155 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 3156 sessionId_ = b; 3157 return b; 3158 } else { 3159 return (com.google.protobuf.ByteString) ref; 3160 } 3161 } 3162 /** 3163 * 3164 * 3165 * <pre> 3166 * A unique identifier for tracking a visitor session with a length limit of 3167 * 128 bytes. A session is an aggregation of an end user behavior in a time 3168 * span. 3169 * A general guideline to populate the session_id: 3170 * 1. If user has no activity for 30 min, a new session_id should be assigned. 3171 * 2. The session_id should be unique across users, suggest use uuid or add 3172 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 3173 * as prefix. 3174 * </pre> 3175 * 3176 * <code>string session_id = 6;</code> 3177 * 3178 * @param value The sessionId to set. 3179 * @return This builder for chaining. 3180 */ setSessionId(java.lang.String value)3181 public Builder setSessionId(java.lang.String value) { 3182 if (value == null) { 3183 throw new NullPointerException(); 3184 } 3185 sessionId_ = value; 3186 bitField0_ |= 0x00000020; 3187 onChanged(); 3188 return this; 3189 } 3190 /** 3191 * 3192 * 3193 * <pre> 3194 * A unique identifier for tracking a visitor session with a length limit of 3195 * 128 bytes. A session is an aggregation of an end user behavior in a time 3196 * span. 3197 * A general guideline to populate the session_id: 3198 * 1. If user has no activity for 30 min, a new session_id should be assigned. 3199 * 2. The session_id should be unique across users, suggest use uuid or add 3200 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 3201 * as prefix. 3202 * </pre> 3203 * 3204 * <code>string session_id = 6;</code> 3205 * 3206 * @return This builder for chaining. 3207 */ clearSessionId()3208 public Builder clearSessionId() { 3209 sessionId_ = getDefaultInstance().getSessionId(); 3210 bitField0_ = (bitField0_ & ~0x00000020); 3211 onChanged(); 3212 return this; 3213 } 3214 /** 3215 * 3216 * 3217 * <pre> 3218 * A unique identifier for tracking a visitor session with a length limit of 3219 * 128 bytes. A session is an aggregation of an end user behavior in a time 3220 * span. 3221 * A general guideline to populate the session_id: 3222 * 1. If user has no activity for 30 min, a new session_id should be assigned. 3223 * 2. The session_id should be unique across users, suggest use uuid or add 3224 * [UserEvent.user_pseudo_id][google.cloud.discoveryengine.v1beta.UserEvent.user_pseudo_id] 3225 * as prefix. 3226 * </pre> 3227 * 3228 * <code>string session_id = 6;</code> 3229 * 3230 * @param value The bytes for sessionId to set. 3231 * @return This builder for chaining. 3232 */ setSessionIdBytes(com.google.protobuf.ByteString value)3233 public Builder setSessionIdBytes(com.google.protobuf.ByteString value) { 3234 if (value == null) { 3235 throw new NullPointerException(); 3236 } 3237 checkByteStringIsUtf8(value); 3238 sessionId_ = value; 3239 bitField0_ |= 0x00000020; 3240 onChanged(); 3241 return this; 3242 } 3243 3244 private com.google.cloud.discoveryengine.v1beta.PageInfo pageInfo_; 3245 private com.google.protobuf.SingleFieldBuilderV3< 3246 com.google.cloud.discoveryengine.v1beta.PageInfo, 3247 com.google.cloud.discoveryengine.v1beta.PageInfo.Builder, 3248 com.google.cloud.discoveryengine.v1beta.PageInfoOrBuilder> 3249 pageInfoBuilder_; 3250 /** 3251 * 3252 * 3253 * <pre> 3254 * Page metadata such as categories and other critical information for certain 3255 * event types such as `view-category-page`. 3256 * </pre> 3257 * 3258 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3259 * 3260 * @return Whether the pageInfo field is set. 3261 */ hasPageInfo()3262 public boolean hasPageInfo() { 3263 return ((bitField0_ & 0x00000040) != 0); 3264 } 3265 /** 3266 * 3267 * 3268 * <pre> 3269 * Page metadata such as categories and other critical information for certain 3270 * event types such as `view-category-page`. 3271 * </pre> 3272 * 3273 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3274 * 3275 * @return The pageInfo. 3276 */ getPageInfo()3277 public com.google.cloud.discoveryengine.v1beta.PageInfo getPageInfo() { 3278 if (pageInfoBuilder_ == null) { 3279 return pageInfo_ == null 3280 ? com.google.cloud.discoveryengine.v1beta.PageInfo.getDefaultInstance() 3281 : pageInfo_; 3282 } else { 3283 return pageInfoBuilder_.getMessage(); 3284 } 3285 } 3286 /** 3287 * 3288 * 3289 * <pre> 3290 * Page metadata such as categories and other critical information for certain 3291 * event types such as `view-category-page`. 3292 * </pre> 3293 * 3294 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3295 */ setPageInfo(com.google.cloud.discoveryengine.v1beta.PageInfo value)3296 public Builder setPageInfo(com.google.cloud.discoveryengine.v1beta.PageInfo value) { 3297 if (pageInfoBuilder_ == null) { 3298 if (value == null) { 3299 throw new NullPointerException(); 3300 } 3301 pageInfo_ = value; 3302 } else { 3303 pageInfoBuilder_.setMessage(value); 3304 } 3305 bitField0_ |= 0x00000040; 3306 onChanged(); 3307 return this; 3308 } 3309 /** 3310 * 3311 * 3312 * <pre> 3313 * Page metadata such as categories and other critical information for certain 3314 * event types such as `view-category-page`. 3315 * </pre> 3316 * 3317 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3318 */ setPageInfo( com.google.cloud.discoveryengine.v1beta.PageInfo.Builder builderForValue)3319 public Builder setPageInfo( 3320 com.google.cloud.discoveryengine.v1beta.PageInfo.Builder builderForValue) { 3321 if (pageInfoBuilder_ == null) { 3322 pageInfo_ = builderForValue.build(); 3323 } else { 3324 pageInfoBuilder_.setMessage(builderForValue.build()); 3325 } 3326 bitField0_ |= 0x00000040; 3327 onChanged(); 3328 return this; 3329 } 3330 /** 3331 * 3332 * 3333 * <pre> 3334 * Page metadata such as categories and other critical information for certain 3335 * event types such as `view-category-page`. 3336 * </pre> 3337 * 3338 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3339 */ mergePageInfo(com.google.cloud.discoveryengine.v1beta.PageInfo value)3340 public Builder mergePageInfo(com.google.cloud.discoveryengine.v1beta.PageInfo value) { 3341 if (pageInfoBuilder_ == null) { 3342 if (((bitField0_ & 0x00000040) != 0) 3343 && pageInfo_ != null 3344 && pageInfo_ != com.google.cloud.discoveryengine.v1beta.PageInfo.getDefaultInstance()) { 3345 getPageInfoBuilder().mergeFrom(value); 3346 } else { 3347 pageInfo_ = value; 3348 } 3349 } else { 3350 pageInfoBuilder_.mergeFrom(value); 3351 } 3352 bitField0_ |= 0x00000040; 3353 onChanged(); 3354 return this; 3355 } 3356 /** 3357 * 3358 * 3359 * <pre> 3360 * Page metadata such as categories and other critical information for certain 3361 * event types such as `view-category-page`. 3362 * </pre> 3363 * 3364 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3365 */ clearPageInfo()3366 public Builder clearPageInfo() { 3367 bitField0_ = (bitField0_ & ~0x00000040); 3368 pageInfo_ = null; 3369 if (pageInfoBuilder_ != null) { 3370 pageInfoBuilder_.dispose(); 3371 pageInfoBuilder_ = null; 3372 } 3373 onChanged(); 3374 return this; 3375 } 3376 /** 3377 * 3378 * 3379 * <pre> 3380 * Page metadata such as categories and other critical information for certain 3381 * event types such as `view-category-page`. 3382 * </pre> 3383 * 3384 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3385 */ getPageInfoBuilder()3386 public com.google.cloud.discoveryengine.v1beta.PageInfo.Builder getPageInfoBuilder() { 3387 bitField0_ |= 0x00000040; 3388 onChanged(); 3389 return getPageInfoFieldBuilder().getBuilder(); 3390 } 3391 /** 3392 * 3393 * 3394 * <pre> 3395 * Page metadata such as categories and other critical information for certain 3396 * event types such as `view-category-page`. 3397 * </pre> 3398 * 3399 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3400 */ getPageInfoOrBuilder()3401 public com.google.cloud.discoveryengine.v1beta.PageInfoOrBuilder getPageInfoOrBuilder() { 3402 if (pageInfoBuilder_ != null) { 3403 return pageInfoBuilder_.getMessageOrBuilder(); 3404 } else { 3405 return pageInfo_ == null 3406 ? com.google.cloud.discoveryengine.v1beta.PageInfo.getDefaultInstance() 3407 : pageInfo_; 3408 } 3409 } 3410 /** 3411 * 3412 * 3413 * <pre> 3414 * Page metadata such as categories and other critical information for certain 3415 * event types such as `view-category-page`. 3416 * </pre> 3417 * 3418 * <code>.google.cloud.discoveryengine.v1beta.PageInfo page_info = 7;</code> 3419 */ 3420 private com.google.protobuf.SingleFieldBuilderV3< 3421 com.google.cloud.discoveryengine.v1beta.PageInfo, 3422 com.google.cloud.discoveryengine.v1beta.PageInfo.Builder, 3423 com.google.cloud.discoveryengine.v1beta.PageInfoOrBuilder> getPageInfoFieldBuilder()3424 getPageInfoFieldBuilder() { 3425 if (pageInfoBuilder_ == null) { 3426 pageInfoBuilder_ = 3427 new com.google.protobuf.SingleFieldBuilderV3< 3428 com.google.cloud.discoveryengine.v1beta.PageInfo, 3429 com.google.cloud.discoveryengine.v1beta.PageInfo.Builder, 3430 com.google.cloud.discoveryengine.v1beta.PageInfoOrBuilder>( 3431 getPageInfo(), getParentForChildren(), isClean()); 3432 pageInfo_ = null; 3433 } 3434 return pageInfoBuilder_; 3435 } 3436 3437 private java.lang.Object attributionToken_ = ""; 3438 /** 3439 * 3440 * 3441 * <pre> 3442 * Token to attribute an API response to user action(s) to trigger the event. 3443 * Highly recommended for user events that are the result of 3444 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3445 * This field enables accurate attribution of recommendation model 3446 * performance. 3447 * The value must be one of: 3448 * * [PredictResponse.attribution_token][] for events that are the result of 3449 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3450 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 3451 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 3452 * * [CompleteQueryResponse.attribution_token][] for events that are the 3453 * result of 3454 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 3455 * This token enables us to accurately attribute page view or conversion 3456 * completion back to the event and the particular predict response containing 3457 * this clicked/purchased product. If user clicks on product K in the 3458 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 3459 * parameter to product K's page. When recording events on product K's page, 3460 * log the [PredictResponse.attribution_token][] to this field. 3461 * </pre> 3462 * 3463 * <code>string attribution_token = 8;</code> 3464 * 3465 * @return The attributionToken. 3466 */ getAttributionToken()3467 public java.lang.String getAttributionToken() { 3468 java.lang.Object ref = attributionToken_; 3469 if (!(ref instanceof java.lang.String)) { 3470 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 3471 java.lang.String s = bs.toStringUtf8(); 3472 attributionToken_ = s; 3473 return s; 3474 } else { 3475 return (java.lang.String) ref; 3476 } 3477 } 3478 /** 3479 * 3480 * 3481 * <pre> 3482 * Token to attribute an API response to user action(s) to trigger the event. 3483 * Highly recommended for user events that are the result of 3484 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3485 * This field enables accurate attribution of recommendation model 3486 * performance. 3487 * The value must be one of: 3488 * * [PredictResponse.attribution_token][] for events that are the result of 3489 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3490 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 3491 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 3492 * * [CompleteQueryResponse.attribution_token][] for events that are the 3493 * result of 3494 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 3495 * This token enables us to accurately attribute page view or conversion 3496 * completion back to the event and the particular predict response containing 3497 * this clicked/purchased product. If user clicks on product K in the 3498 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 3499 * parameter to product K's page. When recording events on product K's page, 3500 * log the [PredictResponse.attribution_token][] to this field. 3501 * </pre> 3502 * 3503 * <code>string attribution_token = 8;</code> 3504 * 3505 * @return The bytes for attributionToken. 3506 */ getAttributionTokenBytes()3507 public com.google.protobuf.ByteString getAttributionTokenBytes() { 3508 java.lang.Object ref = attributionToken_; 3509 if (ref instanceof String) { 3510 com.google.protobuf.ByteString b = 3511 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 3512 attributionToken_ = b; 3513 return b; 3514 } else { 3515 return (com.google.protobuf.ByteString) ref; 3516 } 3517 } 3518 /** 3519 * 3520 * 3521 * <pre> 3522 * Token to attribute an API response to user action(s) to trigger the event. 3523 * Highly recommended for user events that are the result of 3524 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3525 * This field enables accurate attribution of recommendation model 3526 * performance. 3527 * The value must be one of: 3528 * * [PredictResponse.attribution_token][] for events that are the result of 3529 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3530 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 3531 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 3532 * * [CompleteQueryResponse.attribution_token][] for events that are the 3533 * result of 3534 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 3535 * This token enables us to accurately attribute page view or conversion 3536 * completion back to the event and the particular predict response containing 3537 * this clicked/purchased product. If user clicks on product K in the 3538 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 3539 * parameter to product K's page. When recording events on product K's page, 3540 * log the [PredictResponse.attribution_token][] to this field. 3541 * </pre> 3542 * 3543 * <code>string attribution_token = 8;</code> 3544 * 3545 * @param value The attributionToken to set. 3546 * @return This builder for chaining. 3547 */ setAttributionToken(java.lang.String value)3548 public Builder setAttributionToken(java.lang.String value) { 3549 if (value == null) { 3550 throw new NullPointerException(); 3551 } 3552 attributionToken_ = value; 3553 bitField0_ |= 0x00000080; 3554 onChanged(); 3555 return this; 3556 } 3557 /** 3558 * 3559 * 3560 * <pre> 3561 * Token to attribute an API response to user action(s) to trigger the event. 3562 * Highly recommended for user events that are the result of 3563 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3564 * This field enables accurate attribution of recommendation model 3565 * performance. 3566 * The value must be one of: 3567 * * [PredictResponse.attribution_token][] for events that are the result of 3568 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3569 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 3570 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 3571 * * [CompleteQueryResponse.attribution_token][] for events that are the 3572 * result of 3573 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 3574 * This token enables us to accurately attribute page view or conversion 3575 * completion back to the event and the particular predict response containing 3576 * this clicked/purchased product. If user clicks on product K in the 3577 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 3578 * parameter to product K's page. When recording events on product K's page, 3579 * log the [PredictResponse.attribution_token][] to this field. 3580 * </pre> 3581 * 3582 * <code>string attribution_token = 8;</code> 3583 * 3584 * @return This builder for chaining. 3585 */ clearAttributionToken()3586 public Builder clearAttributionToken() { 3587 attributionToken_ = getDefaultInstance().getAttributionToken(); 3588 bitField0_ = (bitField0_ & ~0x00000080); 3589 onChanged(); 3590 return this; 3591 } 3592 /** 3593 * 3594 * 3595 * <pre> 3596 * Token to attribute an API response to user action(s) to trigger the event. 3597 * Highly recommended for user events that are the result of 3598 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3599 * This field enables accurate attribution of recommendation model 3600 * performance. 3601 * The value must be one of: 3602 * * [PredictResponse.attribution_token][] for events that are the result of 3603 * [RecommendationService.Recommend][google.cloud.discoveryengine.v1beta.RecommendationService.Recommend]. 3604 * * [SearchResponse.attribution_token][google.cloud.discoveryengine.v1beta.SearchResponse.attribution_token] for events that are the result of 3605 * [SearchService.Search][google.cloud.discoveryengine.v1beta.SearchService.Search]. 3606 * * [CompleteQueryResponse.attribution_token][] for events that are the 3607 * result of 3608 * [CompletionService.CompleteQuery][google.cloud.discoveryengine.v1beta.CompletionService.CompleteQuery]. 3609 * This token enables us to accurately attribute page view or conversion 3610 * completion back to the event and the particular predict response containing 3611 * this clicked/purchased product. If user clicks on product K in the 3612 * recommendation results, pass [PredictResponse.attribution_token][] as a URL 3613 * parameter to product K's page. When recording events on product K's page, 3614 * log the [PredictResponse.attribution_token][] to this field. 3615 * </pre> 3616 * 3617 * <code>string attribution_token = 8;</code> 3618 * 3619 * @param value The bytes for attributionToken to set. 3620 * @return This builder for chaining. 3621 */ setAttributionTokenBytes(com.google.protobuf.ByteString value)3622 public Builder setAttributionTokenBytes(com.google.protobuf.ByteString value) { 3623 if (value == null) { 3624 throw new NullPointerException(); 3625 } 3626 checkByteStringIsUtf8(value); 3627 attributionToken_ = value; 3628 bitField0_ |= 0x00000080; 3629 onChanged(); 3630 return this; 3631 } 3632 3633 private java.lang.Object filter_ = ""; 3634 /** 3635 * 3636 * 3637 * <pre> 3638 * The filter syntax consists of an expression language for constructing a 3639 * predicate from one or more fields of the documents being filtered. 3640 * One example is for `search` events, the associated 3641 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 3642 * contain a filter expression in 3643 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 3644 * conforming to https://google.aip.dev/160#filtering. 3645 * Similarly, for `view-item-list` events that are generated from a 3646 * [RecommendationService.RecommendRequest][], this field may be populated 3647 * directly from [RecommendationService.RecommendRequest.filter][] conforming 3648 * to https://google.aip.dev/160#filtering. 3649 * The value must be a UTF-8 encoded string with a length limit of 1,000 3650 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 3651 * </pre> 3652 * 3653 * <code>string filter = 9;</code> 3654 * 3655 * @return The filter. 3656 */ getFilter()3657 public java.lang.String getFilter() { 3658 java.lang.Object ref = filter_; 3659 if (!(ref instanceof java.lang.String)) { 3660 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 3661 java.lang.String s = bs.toStringUtf8(); 3662 filter_ = s; 3663 return s; 3664 } else { 3665 return (java.lang.String) ref; 3666 } 3667 } 3668 /** 3669 * 3670 * 3671 * <pre> 3672 * The filter syntax consists of an expression language for constructing a 3673 * predicate from one or more fields of the documents being filtered. 3674 * One example is for `search` events, the associated 3675 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 3676 * contain a filter expression in 3677 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 3678 * conforming to https://google.aip.dev/160#filtering. 3679 * Similarly, for `view-item-list` events that are generated from a 3680 * [RecommendationService.RecommendRequest][], this field may be populated 3681 * directly from [RecommendationService.RecommendRequest.filter][] conforming 3682 * to https://google.aip.dev/160#filtering. 3683 * The value must be a UTF-8 encoded string with a length limit of 1,000 3684 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 3685 * </pre> 3686 * 3687 * <code>string filter = 9;</code> 3688 * 3689 * @return The bytes for filter. 3690 */ getFilterBytes()3691 public com.google.protobuf.ByteString getFilterBytes() { 3692 java.lang.Object ref = filter_; 3693 if (ref instanceof String) { 3694 com.google.protobuf.ByteString b = 3695 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 3696 filter_ = b; 3697 return b; 3698 } else { 3699 return (com.google.protobuf.ByteString) ref; 3700 } 3701 } 3702 /** 3703 * 3704 * 3705 * <pre> 3706 * The filter syntax consists of an expression language for constructing a 3707 * predicate from one or more fields of the documents being filtered. 3708 * One example is for `search` events, the associated 3709 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 3710 * contain a filter expression in 3711 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 3712 * conforming to https://google.aip.dev/160#filtering. 3713 * Similarly, for `view-item-list` events that are generated from a 3714 * [RecommendationService.RecommendRequest][], this field may be populated 3715 * directly from [RecommendationService.RecommendRequest.filter][] conforming 3716 * to https://google.aip.dev/160#filtering. 3717 * The value must be a UTF-8 encoded string with a length limit of 1,000 3718 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 3719 * </pre> 3720 * 3721 * <code>string filter = 9;</code> 3722 * 3723 * @param value The filter to set. 3724 * @return This builder for chaining. 3725 */ setFilter(java.lang.String value)3726 public Builder setFilter(java.lang.String value) { 3727 if (value == null) { 3728 throw new NullPointerException(); 3729 } 3730 filter_ = value; 3731 bitField0_ |= 0x00000100; 3732 onChanged(); 3733 return this; 3734 } 3735 /** 3736 * 3737 * 3738 * <pre> 3739 * The filter syntax consists of an expression language for constructing a 3740 * predicate from one or more fields of the documents being filtered. 3741 * One example is for `search` events, the associated 3742 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 3743 * contain a filter expression in 3744 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 3745 * conforming to https://google.aip.dev/160#filtering. 3746 * Similarly, for `view-item-list` events that are generated from a 3747 * [RecommendationService.RecommendRequest][], this field may be populated 3748 * directly from [RecommendationService.RecommendRequest.filter][] conforming 3749 * to https://google.aip.dev/160#filtering. 3750 * The value must be a UTF-8 encoded string with a length limit of 1,000 3751 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 3752 * </pre> 3753 * 3754 * <code>string filter = 9;</code> 3755 * 3756 * @return This builder for chaining. 3757 */ clearFilter()3758 public Builder clearFilter() { 3759 filter_ = getDefaultInstance().getFilter(); 3760 bitField0_ = (bitField0_ & ~0x00000100); 3761 onChanged(); 3762 return this; 3763 } 3764 /** 3765 * 3766 * 3767 * <pre> 3768 * The filter syntax consists of an expression language for constructing a 3769 * predicate from one or more fields of the documents being filtered. 3770 * One example is for `search` events, the associated 3771 * [SearchRequest][google.cloud.discoveryengine.v1beta.SearchRequest] may 3772 * contain a filter expression in 3773 * [SearchRequest.filter][google.cloud.discoveryengine.v1beta.SearchRequest.filter] 3774 * conforming to https://google.aip.dev/160#filtering. 3775 * Similarly, for `view-item-list` events that are generated from a 3776 * [RecommendationService.RecommendRequest][], this field may be populated 3777 * directly from [RecommendationService.RecommendRequest.filter][] conforming 3778 * to https://google.aip.dev/160#filtering. 3779 * The value must be a UTF-8 encoded string with a length limit of 1,000 3780 * characters. Otherwise, an INVALID_ARGUMENT error is returned. 3781 * </pre> 3782 * 3783 * <code>string filter = 9;</code> 3784 * 3785 * @param value The bytes for filter to set. 3786 * @return This builder for chaining. 3787 */ setFilterBytes(com.google.protobuf.ByteString value)3788 public Builder setFilterBytes(com.google.protobuf.ByteString value) { 3789 if (value == null) { 3790 throw new NullPointerException(); 3791 } 3792 checkByteStringIsUtf8(value); 3793 filter_ = value; 3794 bitField0_ |= 0x00000100; 3795 onChanged(); 3796 return this; 3797 } 3798 3799 private java.util.List<com.google.cloud.discoveryengine.v1beta.DocumentInfo> documents_ = 3800 java.util.Collections.emptyList(); 3801 ensureDocumentsIsMutable()3802 private void ensureDocumentsIsMutable() { 3803 if (!((bitField0_ & 0x00000200) != 0)) { 3804 documents_ = 3805 new java.util.ArrayList<com.google.cloud.discoveryengine.v1beta.DocumentInfo>( 3806 documents_); 3807 bitField0_ |= 0x00000200; 3808 } 3809 } 3810 3811 private com.google.protobuf.RepeatedFieldBuilderV3< 3812 com.google.cloud.discoveryengine.v1beta.DocumentInfo, 3813 com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder, 3814 com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder> 3815 documentsBuilder_; 3816 3817 /** 3818 * 3819 * 3820 * <pre> 3821 * List of Documents associated with this user event. 3822 * This field is optional except for the following event types: 3823 * * `view-item` 3824 * * `add-to-cart` 3825 * * `purchase` 3826 * * `media-play` 3827 * * `media-complete` 3828 * In a `search` event, this field represents the documents returned to the 3829 * end user on the current page (the end user may have not finished browsing 3830 * the whole page yet). When a new page is returned to the end user, after 3831 * pagination/filtering/ordering even for the same query, a new `search` event 3832 * with different 3833 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3834 * is desired. 3835 * </pre> 3836 * 3837 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3838 */ getDocumentsList()3839 public java.util.List<com.google.cloud.discoveryengine.v1beta.DocumentInfo> getDocumentsList() { 3840 if (documentsBuilder_ == null) { 3841 return java.util.Collections.unmodifiableList(documents_); 3842 } else { 3843 return documentsBuilder_.getMessageList(); 3844 } 3845 } 3846 /** 3847 * 3848 * 3849 * <pre> 3850 * List of Documents associated with this user event. 3851 * This field is optional except for the following event types: 3852 * * `view-item` 3853 * * `add-to-cart` 3854 * * `purchase` 3855 * * `media-play` 3856 * * `media-complete` 3857 * In a `search` event, this field represents the documents returned to the 3858 * end user on the current page (the end user may have not finished browsing 3859 * the whole page yet). When a new page is returned to the end user, after 3860 * pagination/filtering/ordering even for the same query, a new `search` event 3861 * with different 3862 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3863 * is desired. 3864 * </pre> 3865 * 3866 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3867 */ getDocumentsCount()3868 public int getDocumentsCount() { 3869 if (documentsBuilder_ == null) { 3870 return documents_.size(); 3871 } else { 3872 return documentsBuilder_.getCount(); 3873 } 3874 } 3875 /** 3876 * 3877 * 3878 * <pre> 3879 * List of Documents associated with this user event. 3880 * This field is optional except for the following event types: 3881 * * `view-item` 3882 * * `add-to-cart` 3883 * * `purchase` 3884 * * `media-play` 3885 * * `media-complete` 3886 * In a `search` event, this field represents the documents returned to the 3887 * end user on the current page (the end user may have not finished browsing 3888 * the whole page yet). When a new page is returned to the end user, after 3889 * pagination/filtering/ordering even for the same query, a new `search` event 3890 * with different 3891 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3892 * is desired. 3893 * </pre> 3894 * 3895 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3896 */ getDocuments(int index)3897 public com.google.cloud.discoveryengine.v1beta.DocumentInfo getDocuments(int index) { 3898 if (documentsBuilder_ == null) { 3899 return documents_.get(index); 3900 } else { 3901 return documentsBuilder_.getMessage(index); 3902 } 3903 } 3904 /** 3905 * 3906 * 3907 * <pre> 3908 * List of Documents associated with this user event. 3909 * This field is optional except for the following event types: 3910 * * `view-item` 3911 * * `add-to-cart` 3912 * * `purchase` 3913 * * `media-play` 3914 * * `media-complete` 3915 * In a `search` event, this field represents the documents returned to the 3916 * end user on the current page (the end user may have not finished browsing 3917 * the whole page yet). When a new page is returned to the end user, after 3918 * pagination/filtering/ordering even for the same query, a new `search` event 3919 * with different 3920 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3921 * is desired. 3922 * </pre> 3923 * 3924 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3925 */ setDocuments( int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo value)3926 public Builder setDocuments( 3927 int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo value) { 3928 if (documentsBuilder_ == null) { 3929 if (value == null) { 3930 throw new NullPointerException(); 3931 } 3932 ensureDocumentsIsMutable(); 3933 documents_.set(index, value); 3934 onChanged(); 3935 } else { 3936 documentsBuilder_.setMessage(index, value); 3937 } 3938 return this; 3939 } 3940 /** 3941 * 3942 * 3943 * <pre> 3944 * List of Documents associated with this user event. 3945 * This field is optional except for the following event types: 3946 * * `view-item` 3947 * * `add-to-cart` 3948 * * `purchase` 3949 * * `media-play` 3950 * * `media-complete` 3951 * In a `search` event, this field represents the documents returned to the 3952 * end user on the current page (the end user may have not finished browsing 3953 * the whole page yet). When a new page is returned to the end user, after 3954 * pagination/filtering/ordering even for the same query, a new `search` event 3955 * with different 3956 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3957 * is desired. 3958 * </pre> 3959 * 3960 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3961 */ setDocuments( int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue)3962 public Builder setDocuments( 3963 int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue) { 3964 if (documentsBuilder_ == null) { 3965 ensureDocumentsIsMutable(); 3966 documents_.set(index, builderForValue.build()); 3967 onChanged(); 3968 } else { 3969 documentsBuilder_.setMessage(index, builderForValue.build()); 3970 } 3971 return this; 3972 } 3973 /** 3974 * 3975 * 3976 * <pre> 3977 * List of Documents associated with this user event. 3978 * This field is optional except for the following event types: 3979 * * `view-item` 3980 * * `add-to-cart` 3981 * * `purchase` 3982 * * `media-play` 3983 * * `media-complete` 3984 * In a `search` event, this field represents the documents returned to the 3985 * end user on the current page (the end user may have not finished browsing 3986 * the whole page yet). When a new page is returned to the end user, after 3987 * pagination/filtering/ordering even for the same query, a new `search` event 3988 * with different 3989 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 3990 * is desired. 3991 * </pre> 3992 * 3993 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 3994 */ addDocuments(com.google.cloud.discoveryengine.v1beta.DocumentInfo value)3995 public Builder addDocuments(com.google.cloud.discoveryengine.v1beta.DocumentInfo value) { 3996 if (documentsBuilder_ == null) { 3997 if (value == null) { 3998 throw new NullPointerException(); 3999 } 4000 ensureDocumentsIsMutable(); 4001 documents_.add(value); 4002 onChanged(); 4003 } else { 4004 documentsBuilder_.addMessage(value); 4005 } 4006 return this; 4007 } 4008 /** 4009 * 4010 * 4011 * <pre> 4012 * List of Documents associated with this user event. 4013 * This field is optional except for the following event types: 4014 * * `view-item` 4015 * * `add-to-cart` 4016 * * `purchase` 4017 * * `media-play` 4018 * * `media-complete` 4019 * In a `search` event, this field represents the documents returned to the 4020 * end user on the current page (the end user may have not finished browsing 4021 * the whole page yet). When a new page is returned to the end user, after 4022 * pagination/filtering/ordering even for the same query, a new `search` event 4023 * with different 4024 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4025 * is desired. 4026 * </pre> 4027 * 4028 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4029 */ addDocuments( int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo value)4030 public Builder addDocuments( 4031 int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo value) { 4032 if (documentsBuilder_ == null) { 4033 if (value == null) { 4034 throw new NullPointerException(); 4035 } 4036 ensureDocumentsIsMutable(); 4037 documents_.add(index, value); 4038 onChanged(); 4039 } else { 4040 documentsBuilder_.addMessage(index, value); 4041 } 4042 return this; 4043 } 4044 /** 4045 * 4046 * 4047 * <pre> 4048 * List of Documents associated with this user event. 4049 * This field is optional except for the following event types: 4050 * * `view-item` 4051 * * `add-to-cart` 4052 * * `purchase` 4053 * * `media-play` 4054 * * `media-complete` 4055 * In a `search` event, this field represents the documents returned to the 4056 * end user on the current page (the end user may have not finished browsing 4057 * the whole page yet). When a new page is returned to the end user, after 4058 * pagination/filtering/ordering even for the same query, a new `search` event 4059 * with different 4060 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4061 * is desired. 4062 * </pre> 4063 * 4064 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4065 */ addDocuments( com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue)4066 public Builder addDocuments( 4067 com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue) { 4068 if (documentsBuilder_ == null) { 4069 ensureDocumentsIsMutable(); 4070 documents_.add(builderForValue.build()); 4071 onChanged(); 4072 } else { 4073 documentsBuilder_.addMessage(builderForValue.build()); 4074 } 4075 return this; 4076 } 4077 /** 4078 * 4079 * 4080 * <pre> 4081 * List of Documents associated with this user event. 4082 * This field is optional except for the following event types: 4083 * * `view-item` 4084 * * `add-to-cart` 4085 * * `purchase` 4086 * * `media-play` 4087 * * `media-complete` 4088 * In a `search` event, this field represents the documents returned to the 4089 * end user on the current page (the end user may have not finished browsing 4090 * the whole page yet). When a new page is returned to the end user, after 4091 * pagination/filtering/ordering even for the same query, a new `search` event 4092 * with different 4093 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4094 * is desired. 4095 * </pre> 4096 * 4097 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4098 */ addDocuments( int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue)4099 public Builder addDocuments( 4100 int index, com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder builderForValue) { 4101 if (documentsBuilder_ == null) { 4102 ensureDocumentsIsMutable(); 4103 documents_.add(index, builderForValue.build()); 4104 onChanged(); 4105 } else { 4106 documentsBuilder_.addMessage(index, builderForValue.build()); 4107 } 4108 return this; 4109 } 4110 /** 4111 * 4112 * 4113 * <pre> 4114 * List of Documents associated with this user event. 4115 * This field is optional except for the following event types: 4116 * * `view-item` 4117 * * `add-to-cart` 4118 * * `purchase` 4119 * * `media-play` 4120 * * `media-complete` 4121 * In a `search` event, this field represents the documents returned to the 4122 * end user on the current page (the end user may have not finished browsing 4123 * the whole page yet). When a new page is returned to the end user, after 4124 * pagination/filtering/ordering even for the same query, a new `search` event 4125 * with different 4126 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4127 * is desired. 4128 * </pre> 4129 * 4130 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4131 */ addAllDocuments( java.lang.Iterable<? extends com.google.cloud.discoveryengine.v1beta.DocumentInfo> values)4132 public Builder addAllDocuments( 4133 java.lang.Iterable<? extends com.google.cloud.discoveryengine.v1beta.DocumentInfo> values) { 4134 if (documentsBuilder_ == null) { 4135 ensureDocumentsIsMutable(); 4136 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, documents_); 4137 onChanged(); 4138 } else { 4139 documentsBuilder_.addAllMessages(values); 4140 } 4141 return this; 4142 } 4143 /** 4144 * 4145 * 4146 * <pre> 4147 * List of Documents associated with this user event. 4148 * This field is optional except for the following event types: 4149 * * `view-item` 4150 * * `add-to-cart` 4151 * * `purchase` 4152 * * `media-play` 4153 * * `media-complete` 4154 * In a `search` event, this field represents the documents returned to the 4155 * end user on the current page (the end user may have not finished browsing 4156 * the whole page yet). When a new page is returned to the end user, after 4157 * pagination/filtering/ordering even for the same query, a new `search` event 4158 * with different 4159 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4160 * is desired. 4161 * </pre> 4162 * 4163 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4164 */ clearDocuments()4165 public Builder clearDocuments() { 4166 if (documentsBuilder_ == null) { 4167 documents_ = java.util.Collections.emptyList(); 4168 bitField0_ = (bitField0_ & ~0x00000200); 4169 onChanged(); 4170 } else { 4171 documentsBuilder_.clear(); 4172 } 4173 return this; 4174 } 4175 /** 4176 * 4177 * 4178 * <pre> 4179 * List of Documents associated with this user event. 4180 * This field is optional except for the following event types: 4181 * * `view-item` 4182 * * `add-to-cart` 4183 * * `purchase` 4184 * * `media-play` 4185 * * `media-complete` 4186 * In a `search` event, this field represents the documents returned to the 4187 * end user on the current page (the end user may have not finished browsing 4188 * the whole page yet). When a new page is returned to the end user, after 4189 * pagination/filtering/ordering even for the same query, a new `search` event 4190 * with different 4191 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4192 * is desired. 4193 * </pre> 4194 * 4195 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4196 */ removeDocuments(int index)4197 public Builder removeDocuments(int index) { 4198 if (documentsBuilder_ == null) { 4199 ensureDocumentsIsMutable(); 4200 documents_.remove(index); 4201 onChanged(); 4202 } else { 4203 documentsBuilder_.remove(index); 4204 } 4205 return this; 4206 } 4207 /** 4208 * 4209 * 4210 * <pre> 4211 * List of Documents associated with this user event. 4212 * This field is optional except for the following event types: 4213 * * `view-item` 4214 * * `add-to-cart` 4215 * * `purchase` 4216 * * `media-play` 4217 * * `media-complete` 4218 * In a `search` event, this field represents the documents returned to the 4219 * end user on the current page (the end user may have not finished browsing 4220 * the whole page yet). When a new page is returned to the end user, after 4221 * pagination/filtering/ordering even for the same query, a new `search` event 4222 * with different 4223 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4224 * is desired. 4225 * </pre> 4226 * 4227 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4228 */ getDocumentsBuilder( int index)4229 public com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder getDocumentsBuilder( 4230 int index) { 4231 return getDocumentsFieldBuilder().getBuilder(index); 4232 } 4233 /** 4234 * 4235 * 4236 * <pre> 4237 * List of Documents associated with this user event. 4238 * This field is optional except for the following event types: 4239 * * `view-item` 4240 * * `add-to-cart` 4241 * * `purchase` 4242 * * `media-play` 4243 * * `media-complete` 4244 * In a `search` event, this field represents the documents returned to the 4245 * end user on the current page (the end user may have not finished browsing 4246 * the whole page yet). When a new page is returned to the end user, after 4247 * pagination/filtering/ordering even for the same query, a new `search` event 4248 * with different 4249 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4250 * is desired. 4251 * </pre> 4252 * 4253 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4254 */ getDocumentsOrBuilder( int index)4255 public com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder getDocumentsOrBuilder( 4256 int index) { 4257 if (documentsBuilder_ == null) { 4258 return documents_.get(index); 4259 } else { 4260 return documentsBuilder_.getMessageOrBuilder(index); 4261 } 4262 } 4263 /** 4264 * 4265 * 4266 * <pre> 4267 * List of Documents associated with this user event. 4268 * This field is optional except for the following event types: 4269 * * `view-item` 4270 * * `add-to-cart` 4271 * * `purchase` 4272 * * `media-play` 4273 * * `media-complete` 4274 * In a `search` event, this field represents the documents returned to the 4275 * end user on the current page (the end user may have not finished browsing 4276 * the whole page yet). When a new page is returned to the end user, after 4277 * pagination/filtering/ordering even for the same query, a new `search` event 4278 * with different 4279 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4280 * is desired. 4281 * </pre> 4282 * 4283 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4284 */ 4285 public java.util.List<? extends com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder> getDocumentsOrBuilderList()4286 getDocumentsOrBuilderList() { 4287 if (documentsBuilder_ != null) { 4288 return documentsBuilder_.getMessageOrBuilderList(); 4289 } else { 4290 return java.util.Collections.unmodifiableList(documents_); 4291 } 4292 } 4293 /** 4294 * 4295 * 4296 * <pre> 4297 * List of Documents associated with this user event. 4298 * This field is optional except for the following event types: 4299 * * `view-item` 4300 * * `add-to-cart` 4301 * * `purchase` 4302 * * `media-play` 4303 * * `media-complete` 4304 * In a `search` event, this field represents the documents returned to the 4305 * end user on the current page (the end user may have not finished browsing 4306 * the whole page yet). When a new page is returned to the end user, after 4307 * pagination/filtering/ordering even for the same query, a new `search` event 4308 * with different 4309 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4310 * is desired. 4311 * </pre> 4312 * 4313 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4314 */ addDocumentsBuilder()4315 public com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder addDocumentsBuilder() { 4316 return getDocumentsFieldBuilder() 4317 .addBuilder(com.google.cloud.discoveryengine.v1beta.DocumentInfo.getDefaultInstance()); 4318 } 4319 /** 4320 * 4321 * 4322 * <pre> 4323 * List of Documents associated with this user event. 4324 * This field is optional except for the following event types: 4325 * * `view-item` 4326 * * `add-to-cart` 4327 * * `purchase` 4328 * * `media-play` 4329 * * `media-complete` 4330 * In a `search` event, this field represents the documents returned to the 4331 * end user on the current page (the end user may have not finished browsing 4332 * the whole page yet). When a new page is returned to the end user, after 4333 * pagination/filtering/ordering even for the same query, a new `search` event 4334 * with different 4335 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4336 * is desired. 4337 * </pre> 4338 * 4339 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4340 */ addDocumentsBuilder( int index)4341 public com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder addDocumentsBuilder( 4342 int index) { 4343 return getDocumentsFieldBuilder() 4344 .addBuilder( 4345 index, com.google.cloud.discoveryengine.v1beta.DocumentInfo.getDefaultInstance()); 4346 } 4347 /** 4348 * 4349 * 4350 * <pre> 4351 * List of Documents associated with this user event. 4352 * This field is optional except for the following event types: 4353 * * `view-item` 4354 * * `add-to-cart` 4355 * * `purchase` 4356 * * `media-play` 4357 * * `media-complete` 4358 * In a `search` event, this field represents the documents returned to the 4359 * end user on the current page (the end user may have not finished browsing 4360 * the whole page yet). When a new page is returned to the end user, after 4361 * pagination/filtering/ordering even for the same query, a new `search` event 4362 * with different 4363 * [UserEvent.documents][google.cloud.discoveryengine.v1beta.UserEvent.documents] 4364 * is desired. 4365 * </pre> 4366 * 4367 * <code>repeated .google.cloud.discoveryengine.v1beta.DocumentInfo documents = 10;</code> 4368 */ 4369 public java.util.List<com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder> getDocumentsBuilderList()4370 getDocumentsBuilderList() { 4371 return getDocumentsFieldBuilder().getBuilderList(); 4372 } 4373 4374 private com.google.protobuf.RepeatedFieldBuilderV3< 4375 com.google.cloud.discoveryengine.v1beta.DocumentInfo, 4376 com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder, 4377 com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder> getDocumentsFieldBuilder()4378 getDocumentsFieldBuilder() { 4379 if (documentsBuilder_ == null) { 4380 documentsBuilder_ = 4381 new com.google.protobuf.RepeatedFieldBuilderV3< 4382 com.google.cloud.discoveryengine.v1beta.DocumentInfo, 4383 com.google.cloud.discoveryengine.v1beta.DocumentInfo.Builder, 4384 com.google.cloud.discoveryengine.v1beta.DocumentInfoOrBuilder>( 4385 documents_, ((bitField0_ & 0x00000200) != 0), getParentForChildren(), isClean()); 4386 documents_ = null; 4387 } 4388 return documentsBuilder_; 4389 } 4390 4391 private com.google.cloud.discoveryengine.v1beta.PanelInfo panel_; 4392 private com.google.protobuf.SingleFieldBuilderV3< 4393 com.google.cloud.discoveryengine.v1beta.PanelInfo, 4394 com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder, 4395 com.google.cloud.discoveryengine.v1beta.PanelInfoOrBuilder> 4396 panelBuilder_; 4397 /** 4398 * 4399 * 4400 * <pre> 4401 * Panel metadata associated with this user event. 4402 * </pre> 4403 * 4404 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4405 * 4406 * @return Whether the panel field is set. 4407 */ hasPanel()4408 public boolean hasPanel() { 4409 return ((bitField0_ & 0x00000400) != 0); 4410 } 4411 /** 4412 * 4413 * 4414 * <pre> 4415 * Panel metadata associated with this user event. 4416 * </pre> 4417 * 4418 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4419 * 4420 * @return The panel. 4421 */ getPanel()4422 public com.google.cloud.discoveryengine.v1beta.PanelInfo getPanel() { 4423 if (panelBuilder_ == null) { 4424 return panel_ == null 4425 ? com.google.cloud.discoveryengine.v1beta.PanelInfo.getDefaultInstance() 4426 : panel_; 4427 } else { 4428 return panelBuilder_.getMessage(); 4429 } 4430 } 4431 /** 4432 * 4433 * 4434 * <pre> 4435 * Panel metadata associated with this user event. 4436 * </pre> 4437 * 4438 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4439 */ setPanel(com.google.cloud.discoveryengine.v1beta.PanelInfo value)4440 public Builder setPanel(com.google.cloud.discoveryengine.v1beta.PanelInfo value) { 4441 if (panelBuilder_ == null) { 4442 if (value == null) { 4443 throw new NullPointerException(); 4444 } 4445 panel_ = value; 4446 } else { 4447 panelBuilder_.setMessage(value); 4448 } 4449 bitField0_ |= 0x00000400; 4450 onChanged(); 4451 return this; 4452 } 4453 /** 4454 * 4455 * 4456 * <pre> 4457 * Panel metadata associated with this user event. 4458 * </pre> 4459 * 4460 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4461 */ setPanel( com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder builderForValue)4462 public Builder setPanel( 4463 com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder builderForValue) { 4464 if (panelBuilder_ == null) { 4465 panel_ = builderForValue.build(); 4466 } else { 4467 panelBuilder_.setMessage(builderForValue.build()); 4468 } 4469 bitField0_ |= 0x00000400; 4470 onChanged(); 4471 return this; 4472 } 4473 /** 4474 * 4475 * 4476 * <pre> 4477 * Panel metadata associated with this user event. 4478 * </pre> 4479 * 4480 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4481 */ mergePanel(com.google.cloud.discoveryengine.v1beta.PanelInfo value)4482 public Builder mergePanel(com.google.cloud.discoveryengine.v1beta.PanelInfo value) { 4483 if (panelBuilder_ == null) { 4484 if (((bitField0_ & 0x00000400) != 0) 4485 && panel_ != null 4486 && panel_ != com.google.cloud.discoveryengine.v1beta.PanelInfo.getDefaultInstance()) { 4487 getPanelBuilder().mergeFrom(value); 4488 } else { 4489 panel_ = value; 4490 } 4491 } else { 4492 panelBuilder_.mergeFrom(value); 4493 } 4494 bitField0_ |= 0x00000400; 4495 onChanged(); 4496 return this; 4497 } 4498 /** 4499 * 4500 * 4501 * <pre> 4502 * Panel metadata associated with this user event. 4503 * </pre> 4504 * 4505 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4506 */ clearPanel()4507 public Builder clearPanel() { 4508 bitField0_ = (bitField0_ & ~0x00000400); 4509 panel_ = null; 4510 if (panelBuilder_ != null) { 4511 panelBuilder_.dispose(); 4512 panelBuilder_ = null; 4513 } 4514 onChanged(); 4515 return this; 4516 } 4517 /** 4518 * 4519 * 4520 * <pre> 4521 * Panel metadata associated with this user event. 4522 * </pre> 4523 * 4524 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4525 */ getPanelBuilder()4526 public com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder getPanelBuilder() { 4527 bitField0_ |= 0x00000400; 4528 onChanged(); 4529 return getPanelFieldBuilder().getBuilder(); 4530 } 4531 /** 4532 * 4533 * 4534 * <pre> 4535 * Panel metadata associated with this user event. 4536 * </pre> 4537 * 4538 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4539 */ getPanelOrBuilder()4540 public com.google.cloud.discoveryengine.v1beta.PanelInfoOrBuilder getPanelOrBuilder() { 4541 if (panelBuilder_ != null) { 4542 return panelBuilder_.getMessageOrBuilder(); 4543 } else { 4544 return panel_ == null 4545 ? com.google.cloud.discoveryengine.v1beta.PanelInfo.getDefaultInstance() 4546 : panel_; 4547 } 4548 } 4549 /** 4550 * 4551 * 4552 * <pre> 4553 * Panel metadata associated with this user event. 4554 * </pre> 4555 * 4556 * <code>.google.cloud.discoveryengine.v1beta.PanelInfo panel = 11;</code> 4557 */ 4558 private com.google.protobuf.SingleFieldBuilderV3< 4559 com.google.cloud.discoveryengine.v1beta.PanelInfo, 4560 com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder, 4561 com.google.cloud.discoveryengine.v1beta.PanelInfoOrBuilder> getPanelFieldBuilder()4562 getPanelFieldBuilder() { 4563 if (panelBuilder_ == null) { 4564 panelBuilder_ = 4565 new com.google.protobuf.SingleFieldBuilderV3< 4566 com.google.cloud.discoveryengine.v1beta.PanelInfo, 4567 com.google.cloud.discoveryengine.v1beta.PanelInfo.Builder, 4568 com.google.cloud.discoveryengine.v1beta.PanelInfoOrBuilder>( 4569 getPanel(), getParentForChildren(), isClean()); 4570 panel_ = null; 4571 } 4572 return panelBuilder_; 4573 } 4574 4575 private com.google.cloud.discoveryengine.v1beta.SearchInfo searchInfo_; 4576 private com.google.protobuf.SingleFieldBuilderV3< 4577 com.google.cloud.discoveryengine.v1beta.SearchInfo, 4578 com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder, 4579 com.google.cloud.discoveryengine.v1beta.SearchInfoOrBuilder> 4580 searchInfoBuilder_; 4581 /** 4582 * 4583 * 4584 * <pre> 4585 * Search API details related to the event. 4586 * This field should be set for `search` event. 4587 * </pre> 4588 * 4589 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4590 * 4591 * @return Whether the searchInfo field is set. 4592 */ hasSearchInfo()4593 public boolean hasSearchInfo() { 4594 return ((bitField0_ & 0x00000800) != 0); 4595 } 4596 /** 4597 * 4598 * 4599 * <pre> 4600 * Search API details related to the event. 4601 * This field should be set for `search` event. 4602 * </pre> 4603 * 4604 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4605 * 4606 * @return The searchInfo. 4607 */ getSearchInfo()4608 public com.google.cloud.discoveryengine.v1beta.SearchInfo getSearchInfo() { 4609 if (searchInfoBuilder_ == null) { 4610 return searchInfo_ == null 4611 ? com.google.cloud.discoveryengine.v1beta.SearchInfo.getDefaultInstance() 4612 : searchInfo_; 4613 } else { 4614 return searchInfoBuilder_.getMessage(); 4615 } 4616 } 4617 /** 4618 * 4619 * 4620 * <pre> 4621 * Search API details related to the event. 4622 * This field should be set for `search` event. 4623 * </pre> 4624 * 4625 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4626 */ setSearchInfo(com.google.cloud.discoveryengine.v1beta.SearchInfo value)4627 public Builder setSearchInfo(com.google.cloud.discoveryengine.v1beta.SearchInfo value) { 4628 if (searchInfoBuilder_ == null) { 4629 if (value == null) { 4630 throw new NullPointerException(); 4631 } 4632 searchInfo_ = value; 4633 } else { 4634 searchInfoBuilder_.setMessage(value); 4635 } 4636 bitField0_ |= 0x00000800; 4637 onChanged(); 4638 return this; 4639 } 4640 /** 4641 * 4642 * 4643 * <pre> 4644 * Search API details related to the event. 4645 * This field should be set for `search` event. 4646 * </pre> 4647 * 4648 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4649 */ setSearchInfo( com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder builderForValue)4650 public Builder setSearchInfo( 4651 com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder builderForValue) { 4652 if (searchInfoBuilder_ == null) { 4653 searchInfo_ = builderForValue.build(); 4654 } else { 4655 searchInfoBuilder_.setMessage(builderForValue.build()); 4656 } 4657 bitField0_ |= 0x00000800; 4658 onChanged(); 4659 return this; 4660 } 4661 /** 4662 * 4663 * 4664 * <pre> 4665 * Search API details related to the event. 4666 * This field should be set for `search` event. 4667 * </pre> 4668 * 4669 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4670 */ mergeSearchInfo(com.google.cloud.discoveryengine.v1beta.SearchInfo value)4671 public Builder mergeSearchInfo(com.google.cloud.discoveryengine.v1beta.SearchInfo value) { 4672 if (searchInfoBuilder_ == null) { 4673 if (((bitField0_ & 0x00000800) != 0) 4674 && searchInfo_ != null 4675 && searchInfo_ 4676 != com.google.cloud.discoveryengine.v1beta.SearchInfo.getDefaultInstance()) { 4677 getSearchInfoBuilder().mergeFrom(value); 4678 } else { 4679 searchInfo_ = value; 4680 } 4681 } else { 4682 searchInfoBuilder_.mergeFrom(value); 4683 } 4684 bitField0_ |= 0x00000800; 4685 onChanged(); 4686 return this; 4687 } 4688 /** 4689 * 4690 * 4691 * <pre> 4692 * Search API details related to the event. 4693 * This field should be set for `search` event. 4694 * </pre> 4695 * 4696 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4697 */ clearSearchInfo()4698 public Builder clearSearchInfo() { 4699 bitField0_ = (bitField0_ & ~0x00000800); 4700 searchInfo_ = null; 4701 if (searchInfoBuilder_ != null) { 4702 searchInfoBuilder_.dispose(); 4703 searchInfoBuilder_ = null; 4704 } 4705 onChanged(); 4706 return this; 4707 } 4708 /** 4709 * 4710 * 4711 * <pre> 4712 * Search API details related to the event. 4713 * This field should be set for `search` event. 4714 * </pre> 4715 * 4716 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4717 */ getSearchInfoBuilder()4718 public com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder getSearchInfoBuilder() { 4719 bitField0_ |= 0x00000800; 4720 onChanged(); 4721 return getSearchInfoFieldBuilder().getBuilder(); 4722 } 4723 /** 4724 * 4725 * 4726 * <pre> 4727 * Search API details related to the event. 4728 * This field should be set for `search` event. 4729 * </pre> 4730 * 4731 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4732 */ getSearchInfoOrBuilder()4733 public com.google.cloud.discoveryengine.v1beta.SearchInfoOrBuilder getSearchInfoOrBuilder() { 4734 if (searchInfoBuilder_ != null) { 4735 return searchInfoBuilder_.getMessageOrBuilder(); 4736 } else { 4737 return searchInfo_ == null 4738 ? com.google.cloud.discoveryengine.v1beta.SearchInfo.getDefaultInstance() 4739 : searchInfo_; 4740 } 4741 } 4742 /** 4743 * 4744 * 4745 * <pre> 4746 * Search API details related to the event. 4747 * This field should be set for `search` event. 4748 * </pre> 4749 * 4750 * <code>.google.cloud.discoveryengine.v1beta.SearchInfo search_info = 12;</code> 4751 */ 4752 private com.google.protobuf.SingleFieldBuilderV3< 4753 com.google.cloud.discoveryengine.v1beta.SearchInfo, 4754 com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder, 4755 com.google.cloud.discoveryengine.v1beta.SearchInfoOrBuilder> getSearchInfoFieldBuilder()4756 getSearchInfoFieldBuilder() { 4757 if (searchInfoBuilder_ == null) { 4758 searchInfoBuilder_ = 4759 new com.google.protobuf.SingleFieldBuilderV3< 4760 com.google.cloud.discoveryengine.v1beta.SearchInfo, 4761 com.google.cloud.discoveryengine.v1beta.SearchInfo.Builder, 4762 com.google.cloud.discoveryengine.v1beta.SearchInfoOrBuilder>( 4763 getSearchInfo(), getParentForChildren(), isClean()); 4764 searchInfo_ = null; 4765 } 4766 return searchInfoBuilder_; 4767 } 4768 4769 private com.google.cloud.discoveryengine.v1beta.CompletionInfo completionInfo_; 4770 private com.google.protobuf.SingleFieldBuilderV3< 4771 com.google.cloud.discoveryengine.v1beta.CompletionInfo, 4772 com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder, 4773 com.google.cloud.discoveryengine.v1beta.CompletionInfoOrBuilder> 4774 completionInfoBuilder_; 4775 /** 4776 * 4777 * 4778 * <pre> 4779 * CompleteQuery API details related to the event. 4780 * This field should be set for `search` event when autocomplete function is 4781 * enabled and the user clicks a suggestion for search. 4782 * </pre> 4783 * 4784 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4785 * 4786 * @return Whether the completionInfo field is set. 4787 */ hasCompletionInfo()4788 public boolean hasCompletionInfo() { 4789 return ((bitField0_ & 0x00001000) != 0); 4790 } 4791 /** 4792 * 4793 * 4794 * <pre> 4795 * CompleteQuery API details related to the event. 4796 * This field should be set for `search` event when autocomplete function is 4797 * enabled and the user clicks a suggestion for search. 4798 * </pre> 4799 * 4800 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4801 * 4802 * @return The completionInfo. 4803 */ getCompletionInfo()4804 public com.google.cloud.discoveryengine.v1beta.CompletionInfo getCompletionInfo() { 4805 if (completionInfoBuilder_ == null) { 4806 return completionInfo_ == null 4807 ? com.google.cloud.discoveryengine.v1beta.CompletionInfo.getDefaultInstance() 4808 : completionInfo_; 4809 } else { 4810 return completionInfoBuilder_.getMessage(); 4811 } 4812 } 4813 /** 4814 * 4815 * 4816 * <pre> 4817 * CompleteQuery API details related to the event. 4818 * This field should be set for `search` event when autocomplete function is 4819 * enabled and the user clicks a suggestion for search. 4820 * </pre> 4821 * 4822 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4823 */ setCompletionInfo(com.google.cloud.discoveryengine.v1beta.CompletionInfo value)4824 public Builder setCompletionInfo(com.google.cloud.discoveryengine.v1beta.CompletionInfo value) { 4825 if (completionInfoBuilder_ == null) { 4826 if (value == null) { 4827 throw new NullPointerException(); 4828 } 4829 completionInfo_ = value; 4830 } else { 4831 completionInfoBuilder_.setMessage(value); 4832 } 4833 bitField0_ |= 0x00001000; 4834 onChanged(); 4835 return this; 4836 } 4837 /** 4838 * 4839 * 4840 * <pre> 4841 * CompleteQuery API details related to the event. 4842 * This field should be set for `search` event when autocomplete function is 4843 * enabled and the user clicks a suggestion for search. 4844 * </pre> 4845 * 4846 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4847 */ setCompletionInfo( com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder builderForValue)4848 public Builder setCompletionInfo( 4849 com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder builderForValue) { 4850 if (completionInfoBuilder_ == null) { 4851 completionInfo_ = builderForValue.build(); 4852 } else { 4853 completionInfoBuilder_.setMessage(builderForValue.build()); 4854 } 4855 bitField0_ |= 0x00001000; 4856 onChanged(); 4857 return this; 4858 } 4859 /** 4860 * 4861 * 4862 * <pre> 4863 * CompleteQuery API details related to the event. 4864 * This field should be set for `search` event when autocomplete function is 4865 * enabled and the user clicks a suggestion for search. 4866 * </pre> 4867 * 4868 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4869 */ mergeCompletionInfo( com.google.cloud.discoveryengine.v1beta.CompletionInfo value)4870 public Builder mergeCompletionInfo( 4871 com.google.cloud.discoveryengine.v1beta.CompletionInfo value) { 4872 if (completionInfoBuilder_ == null) { 4873 if (((bitField0_ & 0x00001000) != 0) 4874 && completionInfo_ != null 4875 && completionInfo_ 4876 != com.google.cloud.discoveryengine.v1beta.CompletionInfo.getDefaultInstance()) { 4877 getCompletionInfoBuilder().mergeFrom(value); 4878 } else { 4879 completionInfo_ = value; 4880 } 4881 } else { 4882 completionInfoBuilder_.mergeFrom(value); 4883 } 4884 bitField0_ |= 0x00001000; 4885 onChanged(); 4886 return this; 4887 } 4888 /** 4889 * 4890 * 4891 * <pre> 4892 * CompleteQuery API details related to the event. 4893 * This field should be set for `search` event when autocomplete function is 4894 * enabled and the user clicks a suggestion for search. 4895 * </pre> 4896 * 4897 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4898 */ clearCompletionInfo()4899 public Builder clearCompletionInfo() { 4900 bitField0_ = (bitField0_ & ~0x00001000); 4901 completionInfo_ = null; 4902 if (completionInfoBuilder_ != null) { 4903 completionInfoBuilder_.dispose(); 4904 completionInfoBuilder_ = null; 4905 } 4906 onChanged(); 4907 return this; 4908 } 4909 /** 4910 * 4911 * 4912 * <pre> 4913 * CompleteQuery API details related to the event. 4914 * This field should be set for `search` event when autocomplete function is 4915 * enabled and the user clicks a suggestion for search. 4916 * </pre> 4917 * 4918 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4919 */ 4920 public com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder getCompletionInfoBuilder()4921 getCompletionInfoBuilder() { 4922 bitField0_ |= 0x00001000; 4923 onChanged(); 4924 return getCompletionInfoFieldBuilder().getBuilder(); 4925 } 4926 /** 4927 * 4928 * 4929 * <pre> 4930 * CompleteQuery API details related to the event. 4931 * This field should be set for `search` event when autocomplete function is 4932 * enabled and the user clicks a suggestion for search. 4933 * </pre> 4934 * 4935 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4936 */ 4937 public com.google.cloud.discoveryengine.v1beta.CompletionInfoOrBuilder getCompletionInfoOrBuilder()4938 getCompletionInfoOrBuilder() { 4939 if (completionInfoBuilder_ != null) { 4940 return completionInfoBuilder_.getMessageOrBuilder(); 4941 } else { 4942 return completionInfo_ == null 4943 ? com.google.cloud.discoveryengine.v1beta.CompletionInfo.getDefaultInstance() 4944 : completionInfo_; 4945 } 4946 } 4947 /** 4948 * 4949 * 4950 * <pre> 4951 * CompleteQuery API details related to the event. 4952 * This field should be set for `search` event when autocomplete function is 4953 * enabled and the user clicks a suggestion for search. 4954 * </pre> 4955 * 4956 * <code>.google.cloud.discoveryengine.v1beta.CompletionInfo completion_info = 13;</code> 4957 */ 4958 private com.google.protobuf.SingleFieldBuilderV3< 4959 com.google.cloud.discoveryengine.v1beta.CompletionInfo, 4960 com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder, 4961 com.google.cloud.discoveryengine.v1beta.CompletionInfoOrBuilder> getCompletionInfoFieldBuilder()4962 getCompletionInfoFieldBuilder() { 4963 if (completionInfoBuilder_ == null) { 4964 completionInfoBuilder_ = 4965 new com.google.protobuf.SingleFieldBuilderV3< 4966 com.google.cloud.discoveryengine.v1beta.CompletionInfo, 4967 com.google.cloud.discoveryengine.v1beta.CompletionInfo.Builder, 4968 com.google.cloud.discoveryengine.v1beta.CompletionInfoOrBuilder>( 4969 getCompletionInfo(), getParentForChildren(), isClean()); 4970 completionInfo_ = null; 4971 } 4972 return completionInfoBuilder_; 4973 } 4974 4975 private com.google.cloud.discoveryengine.v1beta.TransactionInfo transactionInfo_; 4976 private com.google.protobuf.SingleFieldBuilderV3< 4977 com.google.cloud.discoveryengine.v1beta.TransactionInfo, 4978 com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder, 4979 com.google.cloud.discoveryengine.v1beta.TransactionInfoOrBuilder> 4980 transactionInfoBuilder_; 4981 /** 4982 * 4983 * 4984 * <pre> 4985 * The transaction metadata (if any) associated with this user event. 4986 * </pre> 4987 * 4988 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 4989 * 4990 * @return Whether the transactionInfo field is set. 4991 */ hasTransactionInfo()4992 public boolean hasTransactionInfo() { 4993 return ((bitField0_ & 0x00002000) != 0); 4994 } 4995 /** 4996 * 4997 * 4998 * <pre> 4999 * The transaction metadata (if any) associated with this user event. 5000 * </pre> 5001 * 5002 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5003 * 5004 * @return The transactionInfo. 5005 */ getTransactionInfo()5006 public com.google.cloud.discoveryengine.v1beta.TransactionInfo getTransactionInfo() { 5007 if (transactionInfoBuilder_ == null) { 5008 return transactionInfo_ == null 5009 ? com.google.cloud.discoveryengine.v1beta.TransactionInfo.getDefaultInstance() 5010 : transactionInfo_; 5011 } else { 5012 return transactionInfoBuilder_.getMessage(); 5013 } 5014 } 5015 /** 5016 * 5017 * 5018 * <pre> 5019 * The transaction metadata (if any) associated with this user event. 5020 * </pre> 5021 * 5022 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5023 */ setTransactionInfo( com.google.cloud.discoveryengine.v1beta.TransactionInfo value)5024 public Builder setTransactionInfo( 5025 com.google.cloud.discoveryengine.v1beta.TransactionInfo value) { 5026 if (transactionInfoBuilder_ == null) { 5027 if (value == null) { 5028 throw new NullPointerException(); 5029 } 5030 transactionInfo_ = value; 5031 } else { 5032 transactionInfoBuilder_.setMessage(value); 5033 } 5034 bitField0_ |= 0x00002000; 5035 onChanged(); 5036 return this; 5037 } 5038 /** 5039 * 5040 * 5041 * <pre> 5042 * The transaction metadata (if any) associated with this user event. 5043 * </pre> 5044 * 5045 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5046 */ setTransactionInfo( com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder builderForValue)5047 public Builder setTransactionInfo( 5048 com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder builderForValue) { 5049 if (transactionInfoBuilder_ == null) { 5050 transactionInfo_ = builderForValue.build(); 5051 } else { 5052 transactionInfoBuilder_.setMessage(builderForValue.build()); 5053 } 5054 bitField0_ |= 0x00002000; 5055 onChanged(); 5056 return this; 5057 } 5058 /** 5059 * 5060 * 5061 * <pre> 5062 * The transaction metadata (if any) associated with this user event. 5063 * </pre> 5064 * 5065 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5066 */ mergeTransactionInfo( com.google.cloud.discoveryengine.v1beta.TransactionInfo value)5067 public Builder mergeTransactionInfo( 5068 com.google.cloud.discoveryengine.v1beta.TransactionInfo value) { 5069 if (transactionInfoBuilder_ == null) { 5070 if (((bitField0_ & 0x00002000) != 0) 5071 && transactionInfo_ != null 5072 && transactionInfo_ 5073 != com.google.cloud.discoveryengine.v1beta.TransactionInfo.getDefaultInstance()) { 5074 getTransactionInfoBuilder().mergeFrom(value); 5075 } else { 5076 transactionInfo_ = value; 5077 } 5078 } else { 5079 transactionInfoBuilder_.mergeFrom(value); 5080 } 5081 bitField0_ |= 0x00002000; 5082 onChanged(); 5083 return this; 5084 } 5085 /** 5086 * 5087 * 5088 * <pre> 5089 * The transaction metadata (if any) associated with this user event. 5090 * </pre> 5091 * 5092 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5093 */ clearTransactionInfo()5094 public Builder clearTransactionInfo() { 5095 bitField0_ = (bitField0_ & ~0x00002000); 5096 transactionInfo_ = null; 5097 if (transactionInfoBuilder_ != null) { 5098 transactionInfoBuilder_.dispose(); 5099 transactionInfoBuilder_ = null; 5100 } 5101 onChanged(); 5102 return this; 5103 } 5104 /** 5105 * 5106 * 5107 * <pre> 5108 * The transaction metadata (if any) associated with this user event. 5109 * </pre> 5110 * 5111 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5112 */ 5113 public com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder getTransactionInfoBuilder()5114 getTransactionInfoBuilder() { 5115 bitField0_ |= 0x00002000; 5116 onChanged(); 5117 return getTransactionInfoFieldBuilder().getBuilder(); 5118 } 5119 /** 5120 * 5121 * 5122 * <pre> 5123 * The transaction metadata (if any) associated with this user event. 5124 * </pre> 5125 * 5126 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5127 */ 5128 public com.google.cloud.discoveryengine.v1beta.TransactionInfoOrBuilder getTransactionInfoOrBuilder()5129 getTransactionInfoOrBuilder() { 5130 if (transactionInfoBuilder_ != null) { 5131 return transactionInfoBuilder_.getMessageOrBuilder(); 5132 } else { 5133 return transactionInfo_ == null 5134 ? com.google.cloud.discoveryengine.v1beta.TransactionInfo.getDefaultInstance() 5135 : transactionInfo_; 5136 } 5137 } 5138 /** 5139 * 5140 * 5141 * <pre> 5142 * The transaction metadata (if any) associated with this user event. 5143 * </pre> 5144 * 5145 * <code>.google.cloud.discoveryengine.v1beta.TransactionInfo transaction_info = 14;</code> 5146 */ 5147 private com.google.protobuf.SingleFieldBuilderV3< 5148 com.google.cloud.discoveryengine.v1beta.TransactionInfo, 5149 com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder, 5150 com.google.cloud.discoveryengine.v1beta.TransactionInfoOrBuilder> getTransactionInfoFieldBuilder()5151 getTransactionInfoFieldBuilder() { 5152 if (transactionInfoBuilder_ == null) { 5153 transactionInfoBuilder_ = 5154 new com.google.protobuf.SingleFieldBuilderV3< 5155 com.google.cloud.discoveryengine.v1beta.TransactionInfo, 5156 com.google.cloud.discoveryengine.v1beta.TransactionInfo.Builder, 5157 com.google.cloud.discoveryengine.v1beta.TransactionInfoOrBuilder>( 5158 getTransactionInfo(), getParentForChildren(), isClean()); 5159 transactionInfo_ = null; 5160 } 5161 return transactionInfoBuilder_; 5162 } 5163 5164 private com.google.protobuf.LazyStringList tagIds_ = 5165 com.google.protobuf.LazyStringArrayList.EMPTY; 5166 ensureTagIdsIsMutable()5167 private void ensureTagIdsIsMutable() { 5168 if (!((bitField0_ & 0x00004000) != 0)) { 5169 tagIds_ = new com.google.protobuf.LazyStringArrayList(tagIds_); 5170 bitField0_ |= 0x00004000; 5171 } 5172 } 5173 /** 5174 * 5175 * 5176 * <pre> 5177 * A list of identifiers for the independent experiment groups this user event 5178 * belongs to. This is used to distinguish between user events associated with 5179 * different experiment setups on the customer end. 5180 * </pre> 5181 * 5182 * <code>repeated string tag_ids = 15;</code> 5183 * 5184 * @return A list containing the tagIds. 5185 */ getTagIdsList()5186 public com.google.protobuf.ProtocolStringList getTagIdsList() { 5187 return tagIds_.getUnmodifiableView(); 5188 } 5189 /** 5190 * 5191 * 5192 * <pre> 5193 * A list of identifiers for the independent experiment groups this user event 5194 * belongs to. This is used to distinguish between user events associated with 5195 * different experiment setups on the customer end. 5196 * </pre> 5197 * 5198 * <code>repeated string tag_ids = 15;</code> 5199 * 5200 * @return The count of tagIds. 5201 */ getTagIdsCount()5202 public int getTagIdsCount() { 5203 return tagIds_.size(); 5204 } 5205 /** 5206 * 5207 * 5208 * <pre> 5209 * A list of identifiers for the independent experiment groups this user event 5210 * belongs to. This is used to distinguish between user events associated with 5211 * different experiment setups on the customer end. 5212 * </pre> 5213 * 5214 * <code>repeated string tag_ids = 15;</code> 5215 * 5216 * @param index The index of the element to return. 5217 * @return The tagIds at the given index. 5218 */ getTagIds(int index)5219 public java.lang.String getTagIds(int index) { 5220 return tagIds_.get(index); 5221 } 5222 /** 5223 * 5224 * 5225 * <pre> 5226 * A list of identifiers for the independent experiment groups this user event 5227 * belongs to. This is used to distinguish between user events associated with 5228 * different experiment setups on the customer end. 5229 * </pre> 5230 * 5231 * <code>repeated string tag_ids = 15;</code> 5232 * 5233 * @param index The index of the value to return. 5234 * @return The bytes of the tagIds at the given index. 5235 */ getTagIdsBytes(int index)5236 public com.google.protobuf.ByteString getTagIdsBytes(int index) { 5237 return tagIds_.getByteString(index); 5238 } 5239 /** 5240 * 5241 * 5242 * <pre> 5243 * A list of identifiers for the independent experiment groups this user event 5244 * belongs to. This is used to distinguish between user events associated with 5245 * different experiment setups on the customer end. 5246 * </pre> 5247 * 5248 * <code>repeated string tag_ids = 15;</code> 5249 * 5250 * @param index The index to set the value at. 5251 * @param value The tagIds to set. 5252 * @return This builder for chaining. 5253 */ setTagIds(int index, java.lang.String value)5254 public Builder setTagIds(int index, java.lang.String value) { 5255 if (value == null) { 5256 throw new NullPointerException(); 5257 } 5258 ensureTagIdsIsMutable(); 5259 tagIds_.set(index, value); 5260 onChanged(); 5261 return this; 5262 } 5263 /** 5264 * 5265 * 5266 * <pre> 5267 * A list of identifiers for the independent experiment groups this user event 5268 * belongs to. This is used to distinguish between user events associated with 5269 * different experiment setups on the customer end. 5270 * </pre> 5271 * 5272 * <code>repeated string tag_ids = 15;</code> 5273 * 5274 * @param value The tagIds to add. 5275 * @return This builder for chaining. 5276 */ addTagIds(java.lang.String value)5277 public Builder addTagIds(java.lang.String value) { 5278 if (value == null) { 5279 throw new NullPointerException(); 5280 } 5281 ensureTagIdsIsMutable(); 5282 tagIds_.add(value); 5283 onChanged(); 5284 return this; 5285 } 5286 /** 5287 * 5288 * 5289 * <pre> 5290 * A list of identifiers for the independent experiment groups this user event 5291 * belongs to. This is used to distinguish between user events associated with 5292 * different experiment setups on the customer end. 5293 * </pre> 5294 * 5295 * <code>repeated string tag_ids = 15;</code> 5296 * 5297 * @param values The tagIds to add. 5298 * @return This builder for chaining. 5299 */ addAllTagIds(java.lang.Iterable<java.lang.String> values)5300 public Builder addAllTagIds(java.lang.Iterable<java.lang.String> values) { 5301 ensureTagIdsIsMutable(); 5302 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tagIds_); 5303 onChanged(); 5304 return this; 5305 } 5306 /** 5307 * 5308 * 5309 * <pre> 5310 * A list of identifiers for the independent experiment groups this user event 5311 * belongs to. This is used to distinguish between user events associated with 5312 * different experiment setups on the customer end. 5313 * </pre> 5314 * 5315 * <code>repeated string tag_ids = 15;</code> 5316 * 5317 * @return This builder for chaining. 5318 */ clearTagIds()5319 public Builder clearTagIds() { 5320 tagIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 5321 bitField0_ = (bitField0_ & ~0x00004000); 5322 onChanged(); 5323 return this; 5324 } 5325 /** 5326 * 5327 * 5328 * <pre> 5329 * A list of identifiers for the independent experiment groups this user event 5330 * belongs to. This is used to distinguish between user events associated with 5331 * different experiment setups on the customer end. 5332 * </pre> 5333 * 5334 * <code>repeated string tag_ids = 15;</code> 5335 * 5336 * @param value The bytes of the tagIds to add. 5337 * @return This builder for chaining. 5338 */ addTagIdsBytes(com.google.protobuf.ByteString value)5339 public Builder addTagIdsBytes(com.google.protobuf.ByteString value) { 5340 if (value == null) { 5341 throw new NullPointerException(); 5342 } 5343 checkByteStringIsUtf8(value); 5344 ensureTagIdsIsMutable(); 5345 tagIds_.add(value); 5346 onChanged(); 5347 return this; 5348 } 5349 5350 private com.google.protobuf.LazyStringList promotionIds_ = 5351 com.google.protobuf.LazyStringArrayList.EMPTY; 5352 ensurePromotionIdsIsMutable()5353 private void ensurePromotionIdsIsMutable() { 5354 if (!((bitField0_ & 0x00008000) != 0)) { 5355 promotionIds_ = new com.google.protobuf.LazyStringArrayList(promotionIds_); 5356 bitField0_ |= 0x00008000; 5357 } 5358 } 5359 /** 5360 * 5361 * 5362 * <pre> 5363 * The promotion IDs if this is an event associated with promotions. 5364 * Currently, this field is restricted to at most one ID. 5365 * </pre> 5366 * 5367 * <code>repeated string promotion_ids = 16;</code> 5368 * 5369 * @return A list containing the promotionIds. 5370 */ getPromotionIdsList()5371 public com.google.protobuf.ProtocolStringList getPromotionIdsList() { 5372 return promotionIds_.getUnmodifiableView(); 5373 } 5374 /** 5375 * 5376 * 5377 * <pre> 5378 * The promotion IDs if this is an event associated with promotions. 5379 * Currently, this field is restricted to at most one ID. 5380 * </pre> 5381 * 5382 * <code>repeated string promotion_ids = 16;</code> 5383 * 5384 * @return The count of promotionIds. 5385 */ getPromotionIdsCount()5386 public int getPromotionIdsCount() { 5387 return promotionIds_.size(); 5388 } 5389 /** 5390 * 5391 * 5392 * <pre> 5393 * The promotion IDs if this is an event associated with promotions. 5394 * Currently, this field is restricted to at most one ID. 5395 * </pre> 5396 * 5397 * <code>repeated string promotion_ids = 16;</code> 5398 * 5399 * @param index The index of the element to return. 5400 * @return The promotionIds at the given index. 5401 */ getPromotionIds(int index)5402 public java.lang.String getPromotionIds(int index) { 5403 return promotionIds_.get(index); 5404 } 5405 /** 5406 * 5407 * 5408 * <pre> 5409 * The promotion IDs if this is an event associated with promotions. 5410 * Currently, this field is restricted to at most one ID. 5411 * </pre> 5412 * 5413 * <code>repeated string promotion_ids = 16;</code> 5414 * 5415 * @param index The index of the value to return. 5416 * @return The bytes of the promotionIds at the given index. 5417 */ getPromotionIdsBytes(int index)5418 public com.google.protobuf.ByteString getPromotionIdsBytes(int index) { 5419 return promotionIds_.getByteString(index); 5420 } 5421 /** 5422 * 5423 * 5424 * <pre> 5425 * The promotion IDs if this is an event associated with promotions. 5426 * Currently, this field is restricted to at most one ID. 5427 * </pre> 5428 * 5429 * <code>repeated string promotion_ids = 16;</code> 5430 * 5431 * @param index The index to set the value at. 5432 * @param value The promotionIds to set. 5433 * @return This builder for chaining. 5434 */ setPromotionIds(int index, java.lang.String value)5435 public Builder setPromotionIds(int index, java.lang.String value) { 5436 if (value == null) { 5437 throw new NullPointerException(); 5438 } 5439 ensurePromotionIdsIsMutable(); 5440 promotionIds_.set(index, value); 5441 onChanged(); 5442 return this; 5443 } 5444 /** 5445 * 5446 * 5447 * <pre> 5448 * The promotion IDs if this is an event associated with promotions. 5449 * Currently, this field is restricted to at most one ID. 5450 * </pre> 5451 * 5452 * <code>repeated string promotion_ids = 16;</code> 5453 * 5454 * @param value The promotionIds to add. 5455 * @return This builder for chaining. 5456 */ addPromotionIds(java.lang.String value)5457 public Builder addPromotionIds(java.lang.String value) { 5458 if (value == null) { 5459 throw new NullPointerException(); 5460 } 5461 ensurePromotionIdsIsMutable(); 5462 promotionIds_.add(value); 5463 onChanged(); 5464 return this; 5465 } 5466 /** 5467 * 5468 * 5469 * <pre> 5470 * The promotion IDs if this is an event associated with promotions. 5471 * Currently, this field is restricted to at most one ID. 5472 * </pre> 5473 * 5474 * <code>repeated string promotion_ids = 16;</code> 5475 * 5476 * @param values The promotionIds to add. 5477 * @return This builder for chaining. 5478 */ addAllPromotionIds(java.lang.Iterable<java.lang.String> values)5479 public Builder addAllPromotionIds(java.lang.Iterable<java.lang.String> values) { 5480 ensurePromotionIdsIsMutable(); 5481 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, promotionIds_); 5482 onChanged(); 5483 return this; 5484 } 5485 /** 5486 * 5487 * 5488 * <pre> 5489 * The promotion IDs if this is an event associated with promotions. 5490 * Currently, this field is restricted to at most one ID. 5491 * </pre> 5492 * 5493 * <code>repeated string promotion_ids = 16;</code> 5494 * 5495 * @return This builder for chaining. 5496 */ clearPromotionIds()5497 public Builder clearPromotionIds() { 5498 promotionIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; 5499 bitField0_ = (bitField0_ & ~0x00008000); 5500 onChanged(); 5501 return this; 5502 } 5503 /** 5504 * 5505 * 5506 * <pre> 5507 * The promotion IDs if this is an event associated with promotions. 5508 * Currently, this field is restricted to at most one ID. 5509 * </pre> 5510 * 5511 * <code>repeated string promotion_ids = 16;</code> 5512 * 5513 * @param value The bytes of the promotionIds to add. 5514 * @return This builder for chaining. 5515 */ addPromotionIdsBytes(com.google.protobuf.ByteString value)5516 public Builder addPromotionIdsBytes(com.google.protobuf.ByteString value) { 5517 if (value == null) { 5518 throw new NullPointerException(); 5519 } 5520 checkByteStringIsUtf8(value); 5521 ensurePromotionIdsIsMutable(); 5522 promotionIds_.add(value); 5523 onChanged(); 5524 return this; 5525 } 5526 5527 private com.google.protobuf.MapField< 5528 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 5529 attributes_; 5530 5531 private com.google.protobuf.MapField< 5532 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> internalGetAttributes()5533 internalGetAttributes() { 5534 if (attributes_ == null) { 5535 return com.google.protobuf.MapField.emptyMapField( 5536 AttributesDefaultEntryHolder.defaultEntry); 5537 } 5538 return attributes_; 5539 } 5540 5541 private com.google.protobuf.MapField< 5542 java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> internalGetMutableAttributes()5543 internalGetMutableAttributes() { 5544 if (attributes_ == null) { 5545 attributes_ = 5546 com.google.protobuf.MapField.newMapField(AttributesDefaultEntryHolder.defaultEntry); 5547 } 5548 if (!attributes_.isMutable()) { 5549 attributes_ = attributes_.copy(); 5550 } 5551 bitField0_ |= 0x00010000; 5552 onChanged(); 5553 return attributes_; 5554 } 5555 getAttributesCount()5556 public int getAttributesCount() { 5557 return internalGetAttributes().getMap().size(); 5558 } 5559 /** 5560 * 5561 * 5562 * <pre> 5563 * Extra user event features to include in the recommendation model. 5564 * These attributes must NOT contain data that needs to be parsed or processed 5565 * further, e.g. JSON or other encodings. 5566 * If you provide custom attributes for ingested user events, also include 5567 * them in the user events that you associate with prediction requests. Custom 5568 * attribute formatting must be consistent between imported events and events 5569 * provided with prediction requests. This lets the Discovery Engine API use 5570 * those custom attributes when training models and serving predictions, which 5571 * helps improve recommendation quality. 5572 * This field needs to pass all below criteria, otherwise an 5573 * `INVALID_ARGUMENT` error is returned: 5574 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5575 * characters. 5576 * * For text attributes, at most 400 values are allowed. Empty values are not 5577 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5578 * 256 characters. 5579 * * For number attributes, at most 400 values are allowed. 5580 * For product recommendations, an example of extra user information is 5581 * ` traffic_channel`, which is how a user arrives at the site. Users can 5582 * arrive 5583 * at the site by coming to the site directly, coming through Google 5584 * search, or in other ways. 5585 * </pre> 5586 * 5587 * <code> 5588 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5589 * </code> 5590 */ 5591 @java.lang.Override containsAttributes(java.lang.String key)5592 public boolean containsAttributes(java.lang.String key) { 5593 if (key == null) { 5594 throw new NullPointerException("map key"); 5595 } 5596 return internalGetAttributes().getMap().containsKey(key); 5597 } 5598 /** Use {@link #getAttributesMap()} instead. */ 5599 @java.lang.Override 5600 @java.lang.Deprecated 5601 public java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> getAttributes()5602 getAttributes() { 5603 return getAttributesMap(); 5604 } 5605 /** 5606 * 5607 * 5608 * <pre> 5609 * Extra user event features to include in the recommendation model. 5610 * These attributes must NOT contain data that needs to be parsed or processed 5611 * further, e.g. JSON or other encodings. 5612 * If you provide custom attributes for ingested user events, also include 5613 * them in the user events that you associate with prediction requests. Custom 5614 * attribute formatting must be consistent between imported events and events 5615 * provided with prediction requests. This lets the Discovery Engine API use 5616 * those custom attributes when training models and serving predictions, which 5617 * helps improve recommendation quality. 5618 * This field needs to pass all below criteria, otherwise an 5619 * `INVALID_ARGUMENT` error is returned: 5620 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5621 * characters. 5622 * * For text attributes, at most 400 values are allowed. Empty values are not 5623 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5624 * 256 characters. 5625 * * For number attributes, at most 400 values are allowed. 5626 * For product recommendations, an example of extra user information is 5627 * ` traffic_channel`, which is how a user arrives at the site. Users can 5628 * arrive 5629 * at the site by coming to the site directly, coming through Google 5630 * search, or in other ways. 5631 * </pre> 5632 * 5633 * <code> 5634 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5635 * </code> 5636 */ 5637 @java.lang.Override 5638 public java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> getAttributesMap()5639 getAttributesMap() { 5640 return internalGetAttributes().getMap(); 5641 } 5642 /** 5643 * 5644 * 5645 * <pre> 5646 * Extra user event features to include in the recommendation model. 5647 * These attributes must NOT contain data that needs to be parsed or processed 5648 * further, e.g. JSON or other encodings. 5649 * If you provide custom attributes for ingested user events, also include 5650 * them in the user events that you associate with prediction requests. Custom 5651 * attribute formatting must be consistent between imported events and events 5652 * provided with prediction requests. This lets the Discovery Engine API use 5653 * those custom attributes when training models and serving predictions, which 5654 * helps improve recommendation quality. 5655 * This field needs to pass all below criteria, otherwise an 5656 * `INVALID_ARGUMENT` error is returned: 5657 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5658 * characters. 5659 * * For text attributes, at most 400 values are allowed. Empty values are not 5660 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5661 * 256 characters. 5662 * * For number attributes, at most 400 values are allowed. 5663 * For product recommendations, an example of extra user information is 5664 * ` traffic_channel`, which is how a user arrives at the site. Users can 5665 * arrive 5666 * at the site by coming to the site directly, coming through Google 5667 * search, or in other ways. 5668 * </pre> 5669 * 5670 * <code> 5671 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5672 * </code> 5673 */ 5674 @java.lang.Override 5675 public /* nullable */ com.google.cloud.discoveryengine.v1beta.CustomAttribute getAttributesOrDefault( java.lang.String key, com.google.cloud.discoveryengine.v1beta.CustomAttribute defaultValue)5676 getAttributesOrDefault( 5677 java.lang.String key, 5678 /* nullable */ 5679 com.google.cloud.discoveryengine.v1beta.CustomAttribute defaultValue) { 5680 if (key == null) { 5681 throw new NullPointerException("map key"); 5682 } 5683 java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> map = 5684 internalGetAttributes().getMap(); 5685 return map.containsKey(key) ? map.get(key) : defaultValue; 5686 } 5687 /** 5688 * 5689 * 5690 * <pre> 5691 * Extra user event features to include in the recommendation model. 5692 * These attributes must NOT contain data that needs to be parsed or processed 5693 * further, e.g. JSON or other encodings. 5694 * If you provide custom attributes for ingested user events, also include 5695 * them in the user events that you associate with prediction requests. Custom 5696 * attribute formatting must be consistent between imported events and events 5697 * provided with prediction requests. This lets the Discovery Engine API use 5698 * those custom attributes when training models and serving predictions, which 5699 * helps improve recommendation quality. 5700 * This field needs to pass all below criteria, otherwise an 5701 * `INVALID_ARGUMENT` error is returned: 5702 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5703 * characters. 5704 * * For text attributes, at most 400 values are allowed. Empty values are not 5705 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5706 * 256 characters. 5707 * * For number attributes, at most 400 values are allowed. 5708 * For product recommendations, an example of extra user information is 5709 * ` traffic_channel`, which is how a user arrives at the site. Users can 5710 * arrive 5711 * at the site by coming to the site directly, coming through Google 5712 * search, or in other ways. 5713 * </pre> 5714 * 5715 * <code> 5716 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5717 * </code> 5718 */ 5719 @java.lang.Override getAttributesOrThrow( java.lang.String key)5720 public com.google.cloud.discoveryengine.v1beta.CustomAttribute getAttributesOrThrow( 5721 java.lang.String key) { 5722 if (key == null) { 5723 throw new NullPointerException("map key"); 5724 } 5725 java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> map = 5726 internalGetAttributes().getMap(); 5727 if (!map.containsKey(key)) { 5728 throw new java.lang.IllegalArgumentException(); 5729 } 5730 return map.get(key); 5731 } 5732 clearAttributes()5733 public Builder clearAttributes() { 5734 bitField0_ = (bitField0_ & ~0x00010000); 5735 internalGetMutableAttributes().getMutableMap().clear(); 5736 return this; 5737 } 5738 /** 5739 * 5740 * 5741 * <pre> 5742 * Extra user event features to include in the recommendation model. 5743 * These attributes must NOT contain data that needs to be parsed or processed 5744 * further, e.g. JSON or other encodings. 5745 * If you provide custom attributes for ingested user events, also include 5746 * them in the user events that you associate with prediction requests. Custom 5747 * attribute formatting must be consistent between imported events and events 5748 * provided with prediction requests. This lets the Discovery Engine API use 5749 * those custom attributes when training models and serving predictions, which 5750 * helps improve recommendation quality. 5751 * This field needs to pass all below criteria, otherwise an 5752 * `INVALID_ARGUMENT` error is returned: 5753 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5754 * characters. 5755 * * For text attributes, at most 400 values are allowed. Empty values are not 5756 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5757 * 256 characters. 5758 * * For number attributes, at most 400 values are allowed. 5759 * For product recommendations, an example of extra user information is 5760 * ` traffic_channel`, which is how a user arrives at the site. Users can 5761 * arrive 5762 * at the site by coming to the site directly, coming through Google 5763 * search, or in other ways. 5764 * </pre> 5765 * 5766 * <code> 5767 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5768 * </code> 5769 */ removeAttributes(java.lang.String key)5770 public Builder removeAttributes(java.lang.String key) { 5771 if (key == null) { 5772 throw new NullPointerException("map key"); 5773 } 5774 internalGetMutableAttributes().getMutableMap().remove(key); 5775 return this; 5776 } 5777 /** Use alternate mutation accessors instead. */ 5778 @java.lang.Deprecated 5779 public java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> getMutableAttributes()5780 getMutableAttributes() { 5781 bitField0_ |= 0x00010000; 5782 return internalGetMutableAttributes().getMutableMap(); 5783 } 5784 /** 5785 * 5786 * 5787 * <pre> 5788 * Extra user event features to include in the recommendation model. 5789 * These attributes must NOT contain data that needs to be parsed or processed 5790 * further, e.g. JSON or other encodings. 5791 * If you provide custom attributes for ingested user events, also include 5792 * them in the user events that you associate with prediction requests. Custom 5793 * attribute formatting must be consistent between imported events and events 5794 * provided with prediction requests. This lets the Discovery Engine API use 5795 * those custom attributes when training models and serving predictions, which 5796 * helps improve recommendation quality. 5797 * This field needs to pass all below criteria, otherwise an 5798 * `INVALID_ARGUMENT` error is returned: 5799 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5800 * characters. 5801 * * For text attributes, at most 400 values are allowed. Empty values are not 5802 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5803 * 256 characters. 5804 * * For number attributes, at most 400 values are allowed. 5805 * For product recommendations, an example of extra user information is 5806 * ` traffic_channel`, which is how a user arrives at the site. Users can 5807 * arrive 5808 * at the site by coming to the site directly, coming through Google 5809 * search, or in other ways. 5810 * </pre> 5811 * 5812 * <code> 5813 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5814 * </code> 5815 */ putAttributes( java.lang.String key, com.google.cloud.discoveryengine.v1beta.CustomAttribute value)5816 public Builder putAttributes( 5817 java.lang.String key, com.google.cloud.discoveryengine.v1beta.CustomAttribute value) { 5818 if (key == null) { 5819 throw new NullPointerException("map key"); 5820 } 5821 if (value == null) { 5822 throw new NullPointerException("map value"); 5823 } 5824 internalGetMutableAttributes().getMutableMap().put(key, value); 5825 bitField0_ |= 0x00010000; 5826 return this; 5827 } 5828 /** 5829 * 5830 * 5831 * <pre> 5832 * Extra user event features to include in the recommendation model. 5833 * These attributes must NOT contain data that needs to be parsed or processed 5834 * further, e.g. JSON or other encodings. 5835 * If you provide custom attributes for ingested user events, also include 5836 * them in the user events that you associate with prediction requests. Custom 5837 * attribute formatting must be consistent between imported events and events 5838 * provided with prediction requests. This lets the Discovery Engine API use 5839 * those custom attributes when training models and serving predictions, which 5840 * helps improve recommendation quality. 5841 * This field needs to pass all below criteria, otherwise an 5842 * `INVALID_ARGUMENT` error is returned: 5843 * * The key must be a UTF-8 encoded string with a length limit of 5,000 5844 * characters. 5845 * * For text attributes, at most 400 values are allowed. Empty values are not 5846 * allowed. Each value must be a UTF-8 encoded string with a length limit of 5847 * 256 characters. 5848 * * For number attributes, at most 400 values are allowed. 5849 * For product recommendations, an example of extra user information is 5850 * ` traffic_channel`, which is how a user arrives at the site. Users can 5851 * arrive 5852 * at the site by coming to the site directly, coming through Google 5853 * search, or in other ways. 5854 * </pre> 5855 * 5856 * <code> 5857 * map<string, .google.cloud.discoveryengine.v1beta.CustomAttribute> attributes = 17; 5858 * </code> 5859 */ putAllAttributes( java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> values)5860 public Builder putAllAttributes( 5861 java.util.Map<java.lang.String, com.google.cloud.discoveryengine.v1beta.CustomAttribute> 5862 values) { 5863 internalGetMutableAttributes().getMutableMap().putAll(values); 5864 bitField0_ |= 0x00010000; 5865 return this; 5866 } 5867 5868 private com.google.cloud.discoveryengine.v1beta.MediaInfo mediaInfo_; 5869 private com.google.protobuf.SingleFieldBuilderV3< 5870 com.google.cloud.discoveryengine.v1beta.MediaInfo, 5871 com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder, 5872 com.google.cloud.discoveryengine.v1beta.MediaInfoOrBuilder> 5873 mediaInfoBuilder_; 5874 /** 5875 * 5876 * 5877 * <pre> 5878 * Media-specific info. 5879 * </pre> 5880 * 5881 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5882 * 5883 * @return Whether the mediaInfo field is set. 5884 */ hasMediaInfo()5885 public boolean hasMediaInfo() { 5886 return ((bitField0_ & 0x00020000) != 0); 5887 } 5888 /** 5889 * 5890 * 5891 * <pre> 5892 * Media-specific info. 5893 * </pre> 5894 * 5895 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5896 * 5897 * @return The mediaInfo. 5898 */ getMediaInfo()5899 public com.google.cloud.discoveryengine.v1beta.MediaInfo getMediaInfo() { 5900 if (mediaInfoBuilder_ == null) { 5901 return mediaInfo_ == null 5902 ? com.google.cloud.discoveryengine.v1beta.MediaInfo.getDefaultInstance() 5903 : mediaInfo_; 5904 } else { 5905 return mediaInfoBuilder_.getMessage(); 5906 } 5907 } 5908 /** 5909 * 5910 * 5911 * <pre> 5912 * Media-specific info. 5913 * </pre> 5914 * 5915 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5916 */ setMediaInfo(com.google.cloud.discoveryengine.v1beta.MediaInfo value)5917 public Builder setMediaInfo(com.google.cloud.discoveryengine.v1beta.MediaInfo value) { 5918 if (mediaInfoBuilder_ == null) { 5919 if (value == null) { 5920 throw new NullPointerException(); 5921 } 5922 mediaInfo_ = value; 5923 } else { 5924 mediaInfoBuilder_.setMessage(value); 5925 } 5926 bitField0_ |= 0x00020000; 5927 onChanged(); 5928 return this; 5929 } 5930 /** 5931 * 5932 * 5933 * <pre> 5934 * Media-specific info. 5935 * </pre> 5936 * 5937 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5938 */ setMediaInfo( com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder builderForValue)5939 public Builder setMediaInfo( 5940 com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder builderForValue) { 5941 if (mediaInfoBuilder_ == null) { 5942 mediaInfo_ = builderForValue.build(); 5943 } else { 5944 mediaInfoBuilder_.setMessage(builderForValue.build()); 5945 } 5946 bitField0_ |= 0x00020000; 5947 onChanged(); 5948 return this; 5949 } 5950 /** 5951 * 5952 * 5953 * <pre> 5954 * Media-specific info. 5955 * </pre> 5956 * 5957 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5958 */ mergeMediaInfo(com.google.cloud.discoveryengine.v1beta.MediaInfo value)5959 public Builder mergeMediaInfo(com.google.cloud.discoveryengine.v1beta.MediaInfo value) { 5960 if (mediaInfoBuilder_ == null) { 5961 if (((bitField0_ & 0x00020000) != 0) 5962 && mediaInfo_ != null 5963 && mediaInfo_ 5964 != com.google.cloud.discoveryengine.v1beta.MediaInfo.getDefaultInstance()) { 5965 getMediaInfoBuilder().mergeFrom(value); 5966 } else { 5967 mediaInfo_ = value; 5968 } 5969 } else { 5970 mediaInfoBuilder_.mergeFrom(value); 5971 } 5972 bitField0_ |= 0x00020000; 5973 onChanged(); 5974 return this; 5975 } 5976 /** 5977 * 5978 * 5979 * <pre> 5980 * Media-specific info. 5981 * </pre> 5982 * 5983 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 5984 */ clearMediaInfo()5985 public Builder clearMediaInfo() { 5986 bitField0_ = (bitField0_ & ~0x00020000); 5987 mediaInfo_ = null; 5988 if (mediaInfoBuilder_ != null) { 5989 mediaInfoBuilder_.dispose(); 5990 mediaInfoBuilder_ = null; 5991 } 5992 onChanged(); 5993 return this; 5994 } 5995 /** 5996 * 5997 * 5998 * <pre> 5999 * Media-specific info. 6000 * </pre> 6001 * 6002 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 6003 */ getMediaInfoBuilder()6004 public com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder getMediaInfoBuilder() { 6005 bitField0_ |= 0x00020000; 6006 onChanged(); 6007 return getMediaInfoFieldBuilder().getBuilder(); 6008 } 6009 /** 6010 * 6011 * 6012 * <pre> 6013 * Media-specific info. 6014 * </pre> 6015 * 6016 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 6017 */ getMediaInfoOrBuilder()6018 public com.google.cloud.discoveryengine.v1beta.MediaInfoOrBuilder getMediaInfoOrBuilder() { 6019 if (mediaInfoBuilder_ != null) { 6020 return mediaInfoBuilder_.getMessageOrBuilder(); 6021 } else { 6022 return mediaInfo_ == null 6023 ? com.google.cloud.discoveryengine.v1beta.MediaInfo.getDefaultInstance() 6024 : mediaInfo_; 6025 } 6026 } 6027 /** 6028 * 6029 * 6030 * <pre> 6031 * Media-specific info. 6032 * </pre> 6033 * 6034 * <code>.google.cloud.discoveryengine.v1beta.MediaInfo media_info = 18;</code> 6035 */ 6036 private com.google.protobuf.SingleFieldBuilderV3< 6037 com.google.cloud.discoveryengine.v1beta.MediaInfo, 6038 com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder, 6039 com.google.cloud.discoveryengine.v1beta.MediaInfoOrBuilder> getMediaInfoFieldBuilder()6040 getMediaInfoFieldBuilder() { 6041 if (mediaInfoBuilder_ == null) { 6042 mediaInfoBuilder_ = 6043 new com.google.protobuf.SingleFieldBuilderV3< 6044 com.google.cloud.discoveryengine.v1beta.MediaInfo, 6045 com.google.cloud.discoveryengine.v1beta.MediaInfo.Builder, 6046 com.google.cloud.discoveryengine.v1beta.MediaInfoOrBuilder>( 6047 getMediaInfo(), getParentForChildren(), isClean()); 6048 mediaInfo_ = null; 6049 } 6050 return mediaInfoBuilder_; 6051 } 6052 6053 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)6054 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 6055 return super.setUnknownFields(unknownFields); 6056 } 6057 6058 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)6059 public final Builder mergeUnknownFields( 6060 final com.google.protobuf.UnknownFieldSet unknownFields) { 6061 return super.mergeUnknownFields(unknownFields); 6062 } 6063 6064 // @@protoc_insertion_point(builder_scope:google.cloud.discoveryengine.v1beta.UserEvent) 6065 } 6066 6067 // @@protoc_insertion_point(class_scope:google.cloud.discoveryengine.v1beta.UserEvent) 6068 private static final com.google.cloud.discoveryengine.v1beta.UserEvent DEFAULT_INSTANCE; 6069 6070 static { 6071 DEFAULT_INSTANCE = new com.google.cloud.discoveryengine.v1beta.UserEvent(); 6072 } 6073 getDefaultInstance()6074 public static com.google.cloud.discoveryengine.v1beta.UserEvent getDefaultInstance() { 6075 return DEFAULT_INSTANCE; 6076 } 6077 6078 private static final com.google.protobuf.Parser<UserEvent> PARSER = 6079 new com.google.protobuf.AbstractParser<UserEvent>() { 6080 @java.lang.Override 6081 public UserEvent parsePartialFrom( 6082 com.google.protobuf.CodedInputStream input, 6083 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 6084 throws com.google.protobuf.InvalidProtocolBufferException { 6085 Builder builder = newBuilder(); 6086 try { 6087 builder.mergeFrom(input, extensionRegistry); 6088 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 6089 throw e.setUnfinishedMessage(builder.buildPartial()); 6090 } catch (com.google.protobuf.UninitializedMessageException e) { 6091 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 6092 } catch (java.io.IOException e) { 6093 throw new com.google.protobuf.InvalidProtocolBufferException(e) 6094 .setUnfinishedMessage(builder.buildPartial()); 6095 } 6096 return builder.buildPartial(); 6097 } 6098 }; 6099 parser()6100 public static com.google.protobuf.Parser<UserEvent> parser() { 6101 return PARSER; 6102 } 6103 6104 @java.lang.Override getParserForType()6105 public com.google.protobuf.Parser<UserEvent> getParserForType() { 6106 return PARSER; 6107 } 6108 6109 @java.lang.Override getDefaultInstanceForType()6110 public com.google.cloud.discoveryengine.v1beta.UserEvent getDefaultInstanceForType() { 6111 return DEFAULT_INSTANCE; 6112 } 6113 } 6114