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/analytics/admin/v1alpha/audience.proto 18 19 package com.google.analytics.admin.v1alpha; 20 21 /** 22 * 23 * 24 * <pre> 25 * A resource message representing a GA4 Audience. 26 * </pre> 27 * 28 * Protobuf type {@code google.analytics.admin.v1alpha.Audience} 29 */ 30 public final class Audience extends com.google.protobuf.GeneratedMessageV3 31 implements 32 // @@protoc_insertion_point(message_implements:google.analytics.admin.v1alpha.Audience) 33 AudienceOrBuilder { 34 private static final long serialVersionUID = 0L; 35 // Use Audience.newBuilder() to construct. Audience(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)36 private Audience(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) { 37 super(builder); 38 } 39 Audience()40 private Audience() { 41 name_ = ""; 42 displayName_ = ""; 43 description_ = ""; 44 exclusionDurationMode_ = 0; 45 filterClauses_ = java.util.Collections.emptyList(); 46 } 47 48 @java.lang.Override 49 @SuppressWarnings({"unused"}) newInstance(UnusedPrivateParameter unused)50 protected java.lang.Object newInstance(UnusedPrivateParameter unused) { 51 return new Audience(); 52 } 53 54 @java.lang.Override getUnknownFields()55 public final com.google.protobuf.UnknownFieldSet getUnknownFields() { 56 return this.unknownFields; 57 } 58 getDescriptor()59 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 60 return com.google.analytics.admin.v1alpha.AudienceProto 61 .internal_static_google_analytics_admin_v1alpha_Audience_descriptor; 62 } 63 64 @java.lang.Override 65 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()66 internalGetFieldAccessorTable() { 67 return com.google.analytics.admin.v1alpha.AudienceProto 68 .internal_static_google_analytics_admin_v1alpha_Audience_fieldAccessorTable 69 .ensureFieldAccessorsInitialized( 70 com.google.analytics.admin.v1alpha.Audience.class, 71 com.google.analytics.admin.v1alpha.Audience.Builder.class); 72 } 73 74 /** 75 * 76 * 77 * <pre> 78 * Specifies how long an exclusion lasts for users that meet the exclusion 79 * filter. 80 * </pre> 81 * 82 * Protobuf enum {@code google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode} 83 */ 84 public enum AudienceExclusionDurationMode implements com.google.protobuf.ProtocolMessageEnum { 85 /** 86 * 87 * 88 * <pre> 89 * Not specified. 90 * </pre> 91 * 92 * <code>AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED = 0;</code> 93 */ 94 AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED(0), 95 /** 96 * 97 * 98 * <pre> 99 * Exclude users from the Audience during periods when they meet the 100 * filter clause. 101 * </pre> 102 * 103 * <code>EXCLUDE_TEMPORARILY = 1;</code> 104 */ 105 EXCLUDE_TEMPORARILY(1), 106 /** 107 * 108 * 109 * <pre> 110 * Exclude users from the Audience if they've ever met the filter clause. 111 * </pre> 112 * 113 * <code>EXCLUDE_PERMANENTLY = 2;</code> 114 */ 115 EXCLUDE_PERMANENTLY(2), 116 UNRECOGNIZED(-1), 117 ; 118 119 /** 120 * 121 * 122 * <pre> 123 * Not specified. 124 * </pre> 125 * 126 * <code>AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED = 0;</code> 127 */ 128 public static final int AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED_VALUE = 0; 129 /** 130 * 131 * 132 * <pre> 133 * Exclude users from the Audience during periods when they meet the 134 * filter clause. 135 * </pre> 136 * 137 * <code>EXCLUDE_TEMPORARILY = 1;</code> 138 */ 139 public static final int EXCLUDE_TEMPORARILY_VALUE = 1; 140 /** 141 * 142 * 143 * <pre> 144 * Exclude users from the Audience if they've ever met the filter clause. 145 * </pre> 146 * 147 * <code>EXCLUDE_PERMANENTLY = 2;</code> 148 */ 149 public static final int EXCLUDE_PERMANENTLY_VALUE = 2; 150 getNumber()151 public final int getNumber() { 152 if (this == UNRECOGNIZED) { 153 throw new java.lang.IllegalArgumentException( 154 "Can't get the number of an unknown enum value."); 155 } 156 return value; 157 } 158 159 /** 160 * @param value The numeric wire value of the corresponding enum entry. 161 * @return The enum associated with the given numeric wire value. 162 * @deprecated Use {@link #forNumber(int)} instead. 163 */ 164 @java.lang.Deprecated valueOf(int value)165 public static AudienceExclusionDurationMode valueOf(int value) { 166 return forNumber(value); 167 } 168 169 /** 170 * @param value The numeric wire value of the corresponding enum entry. 171 * @return The enum associated with the given numeric wire value. 172 */ forNumber(int value)173 public static AudienceExclusionDurationMode forNumber(int value) { 174 switch (value) { 175 case 0: 176 return AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED; 177 case 1: 178 return EXCLUDE_TEMPORARILY; 179 case 2: 180 return EXCLUDE_PERMANENTLY; 181 default: 182 return null; 183 } 184 } 185 186 public static com.google.protobuf.Internal.EnumLiteMap<AudienceExclusionDurationMode> internalGetValueMap()187 internalGetValueMap() { 188 return internalValueMap; 189 } 190 191 private static final com.google.protobuf.Internal.EnumLiteMap<AudienceExclusionDurationMode> 192 internalValueMap = 193 new com.google.protobuf.Internal.EnumLiteMap<AudienceExclusionDurationMode>() { 194 public AudienceExclusionDurationMode findValueByNumber(int number) { 195 return AudienceExclusionDurationMode.forNumber(number); 196 } 197 }; 198 getValueDescriptor()199 public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() { 200 if (this == UNRECOGNIZED) { 201 throw new java.lang.IllegalStateException( 202 "Can't get the descriptor of an unrecognized enum value."); 203 } 204 return getDescriptor().getValues().get(ordinal()); 205 } 206 getDescriptorForType()207 public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() { 208 return getDescriptor(); 209 } 210 getDescriptor()211 public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() { 212 return com.google.analytics.admin.v1alpha.Audience.getDescriptor().getEnumTypes().get(0); 213 } 214 215 private static final AudienceExclusionDurationMode[] VALUES = values(); 216 valueOf( com.google.protobuf.Descriptors.EnumValueDescriptor desc)217 public static AudienceExclusionDurationMode valueOf( 218 com.google.protobuf.Descriptors.EnumValueDescriptor desc) { 219 if (desc.getType() != getDescriptor()) { 220 throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type."); 221 } 222 if (desc.getIndex() == -1) { 223 return UNRECOGNIZED; 224 } 225 return VALUES[desc.getIndex()]; 226 } 227 228 private final int value; 229 AudienceExclusionDurationMode(int value)230 private AudienceExclusionDurationMode(int value) { 231 this.value = value; 232 } 233 234 // @@protoc_insertion_point(enum_scope:google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode) 235 } 236 237 public static final int NAME_FIELD_NUMBER = 1; 238 239 @SuppressWarnings("serial") 240 private volatile java.lang.Object name_ = ""; 241 /** 242 * 243 * 244 * <pre> 245 * Output only. The resource name for this Audience resource. 246 * Format: properties/{propertyId}/audiences/{audienceId} 247 * </pre> 248 * 249 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 250 * 251 * @return The name. 252 */ 253 @java.lang.Override getName()254 public java.lang.String getName() { 255 java.lang.Object ref = name_; 256 if (ref instanceof java.lang.String) { 257 return (java.lang.String) ref; 258 } else { 259 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 260 java.lang.String s = bs.toStringUtf8(); 261 name_ = s; 262 return s; 263 } 264 } 265 /** 266 * 267 * 268 * <pre> 269 * Output only. The resource name for this Audience resource. 270 * Format: properties/{propertyId}/audiences/{audienceId} 271 * </pre> 272 * 273 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 274 * 275 * @return The bytes for name. 276 */ 277 @java.lang.Override getNameBytes()278 public com.google.protobuf.ByteString getNameBytes() { 279 java.lang.Object ref = name_; 280 if (ref instanceof java.lang.String) { 281 com.google.protobuf.ByteString b = 282 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 283 name_ = b; 284 return b; 285 } else { 286 return (com.google.protobuf.ByteString) ref; 287 } 288 } 289 290 public static final int DISPLAY_NAME_FIELD_NUMBER = 2; 291 292 @SuppressWarnings("serial") 293 private volatile java.lang.Object displayName_ = ""; 294 /** 295 * 296 * 297 * <pre> 298 * Required. The display name of the Audience. 299 * </pre> 300 * 301 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 302 * 303 * @return The displayName. 304 */ 305 @java.lang.Override getDisplayName()306 public java.lang.String getDisplayName() { 307 java.lang.Object ref = displayName_; 308 if (ref instanceof java.lang.String) { 309 return (java.lang.String) ref; 310 } else { 311 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 312 java.lang.String s = bs.toStringUtf8(); 313 displayName_ = s; 314 return s; 315 } 316 } 317 /** 318 * 319 * 320 * <pre> 321 * Required. The display name of the Audience. 322 * </pre> 323 * 324 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 325 * 326 * @return The bytes for displayName. 327 */ 328 @java.lang.Override getDisplayNameBytes()329 public com.google.protobuf.ByteString getDisplayNameBytes() { 330 java.lang.Object ref = displayName_; 331 if (ref instanceof java.lang.String) { 332 com.google.protobuf.ByteString b = 333 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 334 displayName_ = b; 335 return b; 336 } else { 337 return (com.google.protobuf.ByteString) ref; 338 } 339 } 340 341 public static final int DESCRIPTION_FIELD_NUMBER = 3; 342 343 @SuppressWarnings("serial") 344 private volatile java.lang.Object description_ = ""; 345 /** 346 * 347 * 348 * <pre> 349 * Required. The description of the Audience. 350 * </pre> 351 * 352 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 353 * 354 * @return The description. 355 */ 356 @java.lang.Override getDescription()357 public java.lang.String getDescription() { 358 java.lang.Object ref = description_; 359 if (ref instanceof java.lang.String) { 360 return (java.lang.String) ref; 361 } else { 362 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 363 java.lang.String s = bs.toStringUtf8(); 364 description_ = s; 365 return s; 366 } 367 } 368 /** 369 * 370 * 371 * <pre> 372 * Required. The description of the Audience. 373 * </pre> 374 * 375 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 376 * 377 * @return The bytes for description. 378 */ 379 @java.lang.Override getDescriptionBytes()380 public com.google.protobuf.ByteString getDescriptionBytes() { 381 java.lang.Object ref = description_; 382 if (ref instanceof java.lang.String) { 383 com.google.protobuf.ByteString b = 384 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 385 description_ = b; 386 return b; 387 } else { 388 return (com.google.protobuf.ByteString) ref; 389 } 390 } 391 392 public static final int MEMBERSHIP_DURATION_DAYS_FIELD_NUMBER = 4; 393 private int membershipDurationDays_ = 0; 394 /** 395 * 396 * 397 * <pre> 398 * Required. Immutable. The duration a user should stay in an Audience. It 399 * cannot be set to more than 540 days. 400 * </pre> 401 * 402 * <code> 403 * int32 membership_duration_days = 4 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE]; 404 * </code> 405 * 406 * @return The membershipDurationDays. 407 */ 408 @java.lang.Override getMembershipDurationDays()409 public int getMembershipDurationDays() { 410 return membershipDurationDays_; 411 } 412 413 public static final int ADS_PERSONALIZATION_ENABLED_FIELD_NUMBER = 5; 414 private boolean adsPersonalizationEnabled_ = false; 415 /** 416 * 417 * 418 * <pre> 419 * Output only. It is automatically set by GA to false if this is an NPA 420 * Audience and is excluded from ads personalization. 421 * </pre> 422 * 423 * <code>bool ads_personalization_enabled = 5 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 424 * 425 * @return The adsPersonalizationEnabled. 426 */ 427 @java.lang.Override getAdsPersonalizationEnabled()428 public boolean getAdsPersonalizationEnabled() { 429 return adsPersonalizationEnabled_; 430 } 431 432 public static final int EVENT_TRIGGER_FIELD_NUMBER = 6; 433 private com.google.analytics.admin.v1alpha.AudienceEventTrigger eventTrigger_; 434 /** 435 * 436 * 437 * <pre> 438 * Optional. Specifies an event to log when a user joins the Audience. If not 439 * set, no event is logged when a user joins the Audience. 440 * </pre> 441 * 442 * <code> 443 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 444 * </code> 445 * 446 * @return Whether the eventTrigger field is set. 447 */ 448 @java.lang.Override hasEventTrigger()449 public boolean hasEventTrigger() { 450 return eventTrigger_ != null; 451 } 452 /** 453 * 454 * 455 * <pre> 456 * Optional. Specifies an event to log when a user joins the Audience. If not 457 * set, no event is logged when a user joins the Audience. 458 * </pre> 459 * 460 * <code> 461 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 462 * </code> 463 * 464 * @return The eventTrigger. 465 */ 466 @java.lang.Override getEventTrigger()467 public com.google.analytics.admin.v1alpha.AudienceEventTrigger getEventTrigger() { 468 return eventTrigger_ == null 469 ? com.google.analytics.admin.v1alpha.AudienceEventTrigger.getDefaultInstance() 470 : eventTrigger_; 471 } 472 /** 473 * 474 * 475 * <pre> 476 * Optional. Specifies an event to log when a user joins the Audience. If not 477 * set, no event is logged when a user joins the Audience. 478 * </pre> 479 * 480 * <code> 481 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 482 * </code> 483 */ 484 @java.lang.Override 485 public com.google.analytics.admin.v1alpha.AudienceEventTriggerOrBuilder getEventTriggerOrBuilder()486 getEventTriggerOrBuilder() { 487 return eventTrigger_ == null 488 ? com.google.analytics.admin.v1alpha.AudienceEventTrigger.getDefaultInstance() 489 : eventTrigger_; 490 } 491 492 public static final int EXCLUSION_DURATION_MODE_FIELD_NUMBER = 7; 493 private int exclusionDurationMode_ = 0; 494 /** 495 * 496 * 497 * <pre> 498 * Immutable. Specifies how long an exclusion lasts for users that meet the 499 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 500 * ignored when there is no EXCLUDE filter clause in the Audience. 501 * </pre> 502 * 503 * <code> 504 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 505 * </code> 506 * 507 * @return The enum numeric value on the wire for exclusionDurationMode. 508 */ 509 @java.lang.Override getExclusionDurationModeValue()510 public int getExclusionDurationModeValue() { 511 return exclusionDurationMode_; 512 } 513 /** 514 * 515 * 516 * <pre> 517 * Immutable. Specifies how long an exclusion lasts for users that meet the 518 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 519 * ignored when there is no EXCLUDE filter clause in the Audience. 520 * </pre> 521 * 522 * <code> 523 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 524 * </code> 525 * 526 * @return The exclusionDurationMode. 527 */ 528 @java.lang.Override 529 public com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode getExclusionDurationMode()530 getExclusionDurationMode() { 531 com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode result = 532 com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode.forNumber( 533 exclusionDurationMode_); 534 return result == null 535 ? com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode.UNRECOGNIZED 536 : result; 537 } 538 539 public static final int FILTER_CLAUSES_FIELD_NUMBER = 8; 540 541 @SuppressWarnings("serial") 542 private java.util.List<com.google.analytics.admin.v1alpha.AudienceFilterClause> filterClauses_; 543 /** 544 * 545 * 546 * <pre> 547 * Required. Immutable. Unordered list. Filter clauses that define the 548 * Audience. All clauses will be AND’ed together. 549 * </pre> 550 * 551 * <code> 552 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 553 * </code> 554 */ 555 @java.lang.Override 556 public java.util.List<com.google.analytics.admin.v1alpha.AudienceFilterClause> getFilterClausesList()557 getFilterClausesList() { 558 return filterClauses_; 559 } 560 /** 561 * 562 * 563 * <pre> 564 * Required. Immutable. Unordered list. Filter clauses that define the 565 * Audience. All clauses will be AND’ed together. 566 * </pre> 567 * 568 * <code> 569 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 570 * </code> 571 */ 572 @java.lang.Override 573 public java.util.List<? extends com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder> getFilterClausesOrBuilderList()574 getFilterClausesOrBuilderList() { 575 return filterClauses_; 576 } 577 /** 578 * 579 * 580 * <pre> 581 * Required. Immutable. Unordered list. Filter clauses that define the 582 * Audience. All clauses will be AND’ed together. 583 * </pre> 584 * 585 * <code> 586 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 587 * </code> 588 */ 589 @java.lang.Override getFilterClausesCount()590 public int getFilterClausesCount() { 591 return filterClauses_.size(); 592 } 593 /** 594 * 595 * 596 * <pre> 597 * Required. Immutable. Unordered list. Filter clauses that define the 598 * Audience. All clauses will be AND’ed together. 599 * </pre> 600 * 601 * <code> 602 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 603 * </code> 604 */ 605 @java.lang.Override getFilterClauses(int index)606 public com.google.analytics.admin.v1alpha.AudienceFilterClause getFilterClauses(int index) { 607 return filterClauses_.get(index); 608 } 609 /** 610 * 611 * 612 * <pre> 613 * Required. Immutable. Unordered list. Filter clauses that define the 614 * Audience. All clauses will be AND’ed together. 615 * </pre> 616 * 617 * <code> 618 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 619 * </code> 620 */ 621 @java.lang.Override getFilterClausesOrBuilder( int index)622 public com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder getFilterClausesOrBuilder( 623 int index) { 624 return filterClauses_.get(index); 625 } 626 627 private byte memoizedIsInitialized = -1; 628 629 @java.lang.Override isInitialized()630 public final boolean isInitialized() { 631 byte isInitialized = memoizedIsInitialized; 632 if (isInitialized == 1) return true; 633 if (isInitialized == 0) return false; 634 635 memoizedIsInitialized = 1; 636 return true; 637 } 638 639 @java.lang.Override writeTo(com.google.protobuf.CodedOutputStream output)640 public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { 641 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { 642 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); 643 } 644 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) { 645 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, displayName_); 646 } 647 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { 648 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_); 649 } 650 if (membershipDurationDays_ != 0) { 651 output.writeInt32(4, membershipDurationDays_); 652 } 653 if (adsPersonalizationEnabled_ != false) { 654 output.writeBool(5, adsPersonalizationEnabled_); 655 } 656 if (eventTrigger_ != null) { 657 output.writeMessage(6, getEventTrigger()); 658 } 659 if (exclusionDurationMode_ 660 != com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode 661 .AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED 662 .getNumber()) { 663 output.writeEnum(7, exclusionDurationMode_); 664 } 665 for (int i = 0; i < filterClauses_.size(); i++) { 666 output.writeMessage(8, filterClauses_.get(i)); 667 } 668 getUnknownFields().writeTo(output); 669 } 670 671 @java.lang.Override getSerializedSize()672 public int getSerializedSize() { 673 int size = memoizedSize; 674 if (size != -1) return size; 675 676 size = 0; 677 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { 678 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); 679 } 680 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(displayName_)) { 681 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, displayName_); 682 } 683 if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { 684 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_); 685 } 686 if (membershipDurationDays_ != 0) { 687 size += com.google.protobuf.CodedOutputStream.computeInt32Size(4, membershipDurationDays_); 688 } 689 if (adsPersonalizationEnabled_ != false) { 690 size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, adsPersonalizationEnabled_); 691 } 692 if (eventTrigger_ != null) { 693 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getEventTrigger()); 694 } 695 if (exclusionDurationMode_ 696 != com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode 697 .AUDIENCE_EXCLUSION_DURATION_MODE_UNSPECIFIED 698 .getNumber()) { 699 size += com.google.protobuf.CodedOutputStream.computeEnumSize(7, exclusionDurationMode_); 700 } 701 for (int i = 0; i < filterClauses_.size(); i++) { 702 size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, filterClauses_.get(i)); 703 } 704 size += getUnknownFields().getSerializedSize(); 705 memoizedSize = size; 706 return size; 707 } 708 709 @java.lang.Override equals(final java.lang.Object obj)710 public boolean equals(final java.lang.Object obj) { 711 if (obj == this) { 712 return true; 713 } 714 if (!(obj instanceof com.google.analytics.admin.v1alpha.Audience)) { 715 return super.equals(obj); 716 } 717 com.google.analytics.admin.v1alpha.Audience other = 718 (com.google.analytics.admin.v1alpha.Audience) obj; 719 720 if (!getName().equals(other.getName())) return false; 721 if (!getDisplayName().equals(other.getDisplayName())) return false; 722 if (!getDescription().equals(other.getDescription())) return false; 723 if (getMembershipDurationDays() != other.getMembershipDurationDays()) return false; 724 if (getAdsPersonalizationEnabled() != other.getAdsPersonalizationEnabled()) return false; 725 if (hasEventTrigger() != other.hasEventTrigger()) return false; 726 if (hasEventTrigger()) { 727 if (!getEventTrigger().equals(other.getEventTrigger())) return false; 728 } 729 if (exclusionDurationMode_ != other.exclusionDurationMode_) return false; 730 if (!getFilterClausesList().equals(other.getFilterClausesList())) return false; 731 if (!getUnknownFields().equals(other.getUnknownFields())) return false; 732 return true; 733 } 734 735 @java.lang.Override hashCode()736 public int hashCode() { 737 if (memoizedHashCode != 0) { 738 return memoizedHashCode; 739 } 740 int hash = 41; 741 hash = (19 * hash) + getDescriptor().hashCode(); 742 hash = (37 * hash) + NAME_FIELD_NUMBER; 743 hash = (53 * hash) + getName().hashCode(); 744 hash = (37 * hash) + DISPLAY_NAME_FIELD_NUMBER; 745 hash = (53 * hash) + getDisplayName().hashCode(); 746 hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; 747 hash = (53 * hash) + getDescription().hashCode(); 748 hash = (37 * hash) + MEMBERSHIP_DURATION_DAYS_FIELD_NUMBER; 749 hash = (53 * hash) + getMembershipDurationDays(); 750 hash = (37 * hash) + ADS_PERSONALIZATION_ENABLED_FIELD_NUMBER; 751 hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAdsPersonalizationEnabled()); 752 if (hasEventTrigger()) { 753 hash = (37 * hash) + EVENT_TRIGGER_FIELD_NUMBER; 754 hash = (53 * hash) + getEventTrigger().hashCode(); 755 } 756 hash = (37 * hash) + EXCLUSION_DURATION_MODE_FIELD_NUMBER; 757 hash = (53 * hash) + exclusionDurationMode_; 758 if (getFilterClausesCount() > 0) { 759 hash = (37 * hash) + FILTER_CLAUSES_FIELD_NUMBER; 760 hash = (53 * hash) + getFilterClausesList().hashCode(); 761 } 762 hash = (29 * hash) + getUnknownFields().hashCode(); 763 memoizedHashCode = hash; 764 return hash; 765 } 766 parseFrom(java.nio.ByteBuffer data)767 public static com.google.analytics.admin.v1alpha.Audience parseFrom(java.nio.ByteBuffer data) 768 throws com.google.protobuf.InvalidProtocolBufferException { 769 return PARSER.parseFrom(data); 770 } 771 parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)772 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 773 java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 774 throws com.google.protobuf.InvalidProtocolBufferException { 775 return PARSER.parseFrom(data, extensionRegistry); 776 } 777 parseFrom( com.google.protobuf.ByteString data)778 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 779 com.google.protobuf.ByteString data) 780 throws com.google.protobuf.InvalidProtocolBufferException { 781 return PARSER.parseFrom(data); 782 } 783 parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)784 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 785 com.google.protobuf.ByteString data, 786 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 787 throws com.google.protobuf.InvalidProtocolBufferException { 788 return PARSER.parseFrom(data, extensionRegistry); 789 } 790 parseFrom(byte[] data)791 public static com.google.analytics.admin.v1alpha.Audience parseFrom(byte[] data) 792 throws com.google.protobuf.InvalidProtocolBufferException { 793 return PARSER.parseFrom(data); 794 } 795 parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)796 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 797 byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 798 throws com.google.protobuf.InvalidProtocolBufferException { 799 return PARSER.parseFrom(data, extensionRegistry); 800 } 801 parseFrom(java.io.InputStream input)802 public static com.google.analytics.admin.v1alpha.Audience parseFrom(java.io.InputStream input) 803 throws java.io.IOException { 804 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 805 } 806 parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)807 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 808 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 809 throws java.io.IOException { 810 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 811 PARSER, input, extensionRegistry); 812 } 813 parseDelimitedFrom( java.io.InputStream input)814 public static com.google.analytics.admin.v1alpha.Audience parseDelimitedFrom( 815 java.io.InputStream input) throws java.io.IOException { 816 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); 817 } 818 parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)819 public static com.google.analytics.admin.v1alpha.Audience parseDelimitedFrom( 820 java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) 821 throws java.io.IOException { 822 return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( 823 PARSER, input, extensionRegistry); 824 } 825 parseFrom( com.google.protobuf.CodedInputStream input)826 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 827 com.google.protobuf.CodedInputStream input) throws java.io.IOException { 828 return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); 829 } 830 parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)831 public static com.google.analytics.admin.v1alpha.Audience parseFrom( 832 com.google.protobuf.CodedInputStream input, 833 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 834 throws java.io.IOException { 835 return com.google.protobuf.GeneratedMessageV3.parseWithIOException( 836 PARSER, input, extensionRegistry); 837 } 838 839 @java.lang.Override newBuilderForType()840 public Builder newBuilderForType() { 841 return newBuilder(); 842 } 843 newBuilder()844 public static Builder newBuilder() { 845 return DEFAULT_INSTANCE.toBuilder(); 846 } 847 newBuilder(com.google.analytics.admin.v1alpha.Audience prototype)848 public static Builder newBuilder(com.google.analytics.admin.v1alpha.Audience prototype) { 849 return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); 850 } 851 852 @java.lang.Override toBuilder()853 public Builder toBuilder() { 854 return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); 855 } 856 857 @java.lang.Override newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)858 protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 859 Builder builder = new Builder(parent); 860 return builder; 861 } 862 /** 863 * 864 * 865 * <pre> 866 * A resource message representing a GA4 Audience. 867 * </pre> 868 * 869 * Protobuf type {@code google.analytics.admin.v1alpha.Audience} 870 */ 871 public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder> 872 implements 873 // @@protoc_insertion_point(builder_implements:google.analytics.admin.v1alpha.Audience) 874 com.google.analytics.admin.v1alpha.AudienceOrBuilder { getDescriptor()875 public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { 876 return com.google.analytics.admin.v1alpha.AudienceProto 877 .internal_static_google_analytics_admin_v1alpha_Audience_descriptor; 878 } 879 880 @java.lang.Override 881 protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()882 internalGetFieldAccessorTable() { 883 return com.google.analytics.admin.v1alpha.AudienceProto 884 .internal_static_google_analytics_admin_v1alpha_Audience_fieldAccessorTable 885 .ensureFieldAccessorsInitialized( 886 com.google.analytics.admin.v1alpha.Audience.class, 887 com.google.analytics.admin.v1alpha.Audience.Builder.class); 888 } 889 890 // Construct using com.google.analytics.admin.v1alpha.Audience.newBuilder() Builder()891 private Builder() {} 892 Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)893 private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { 894 super(parent); 895 } 896 897 @java.lang.Override clear()898 public Builder clear() { 899 super.clear(); 900 bitField0_ = 0; 901 name_ = ""; 902 displayName_ = ""; 903 description_ = ""; 904 membershipDurationDays_ = 0; 905 adsPersonalizationEnabled_ = false; 906 eventTrigger_ = null; 907 if (eventTriggerBuilder_ != null) { 908 eventTriggerBuilder_.dispose(); 909 eventTriggerBuilder_ = null; 910 } 911 exclusionDurationMode_ = 0; 912 if (filterClausesBuilder_ == null) { 913 filterClauses_ = java.util.Collections.emptyList(); 914 } else { 915 filterClauses_ = null; 916 filterClausesBuilder_.clear(); 917 } 918 bitField0_ = (bitField0_ & ~0x00000080); 919 return this; 920 } 921 922 @java.lang.Override getDescriptorForType()923 public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { 924 return com.google.analytics.admin.v1alpha.AudienceProto 925 .internal_static_google_analytics_admin_v1alpha_Audience_descriptor; 926 } 927 928 @java.lang.Override getDefaultInstanceForType()929 public com.google.analytics.admin.v1alpha.Audience getDefaultInstanceForType() { 930 return com.google.analytics.admin.v1alpha.Audience.getDefaultInstance(); 931 } 932 933 @java.lang.Override build()934 public com.google.analytics.admin.v1alpha.Audience build() { 935 com.google.analytics.admin.v1alpha.Audience result = buildPartial(); 936 if (!result.isInitialized()) { 937 throw newUninitializedMessageException(result); 938 } 939 return result; 940 } 941 942 @java.lang.Override buildPartial()943 public com.google.analytics.admin.v1alpha.Audience buildPartial() { 944 com.google.analytics.admin.v1alpha.Audience result = 945 new com.google.analytics.admin.v1alpha.Audience(this); 946 buildPartialRepeatedFields(result); 947 if (bitField0_ != 0) { 948 buildPartial0(result); 949 } 950 onBuilt(); 951 return result; 952 } 953 buildPartialRepeatedFields(com.google.analytics.admin.v1alpha.Audience result)954 private void buildPartialRepeatedFields(com.google.analytics.admin.v1alpha.Audience result) { 955 if (filterClausesBuilder_ == null) { 956 if (((bitField0_ & 0x00000080) != 0)) { 957 filterClauses_ = java.util.Collections.unmodifiableList(filterClauses_); 958 bitField0_ = (bitField0_ & ~0x00000080); 959 } 960 result.filterClauses_ = filterClauses_; 961 } else { 962 result.filterClauses_ = filterClausesBuilder_.build(); 963 } 964 } 965 buildPartial0(com.google.analytics.admin.v1alpha.Audience result)966 private void buildPartial0(com.google.analytics.admin.v1alpha.Audience result) { 967 int from_bitField0_ = bitField0_; 968 if (((from_bitField0_ & 0x00000001) != 0)) { 969 result.name_ = name_; 970 } 971 if (((from_bitField0_ & 0x00000002) != 0)) { 972 result.displayName_ = displayName_; 973 } 974 if (((from_bitField0_ & 0x00000004) != 0)) { 975 result.description_ = description_; 976 } 977 if (((from_bitField0_ & 0x00000008) != 0)) { 978 result.membershipDurationDays_ = membershipDurationDays_; 979 } 980 if (((from_bitField0_ & 0x00000010) != 0)) { 981 result.adsPersonalizationEnabled_ = adsPersonalizationEnabled_; 982 } 983 if (((from_bitField0_ & 0x00000020) != 0)) { 984 result.eventTrigger_ = 985 eventTriggerBuilder_ == null ? eventTrigger_ : eventTriggerBuilder_.build(); 986 } 987 if (((from_bitField0_ & 0x00000040) != 0)) { 988 result.exclusionDurationMode_ = exclusionDurationMode_; 989 } 990 } 991 992 @java.lang.Override clone()993 public Builder clone() { 994 return super.clone(); 995 } 996 997 @java.lang.Override setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)998 public Builder setField( 999 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 1000 return super.setField(field, value); 1001 } 1002 1003 @java.lang.Override clearField(com.google.protobuf.Descriptors.FieldDescriptor field)1004 public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { 1005 return super.clearField(field); 1006 } 1007 1008 @java.lang.Override clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)1009 public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { 1010 return super.clearOneof(oneof); 1011 } 1012 1013 @java.lang.Override setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)1014 public Builder setRepeatedField( 1015 com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { 1016 return super.setRepeatedField(field, index, value); 1017 } 1018 1019 @java.lang.Override addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)1020 public Builder addRepeatedField( 1021 com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { 1022 return super.addRepeatedField(field, value); 1023 } 1024 1025 @java.lang.Override mergeFrom(com.google.protobuf.Message other)1026 public Builder mergeFrom(com.google.protobuf.Message other) { 1027 if (other instanceof com.google.analytics.admin.v1alpha.Audience) { 1028 return mergeFrom((com.google.analytics.admin.v1alpha.Audience) other); 1029 } else { 1030 super.mergeFrom(other); 1031 return this; 1032 } 1033 } 1034 mergeFrom(com.google.analytics.admin.v1alpha.Audience other)1035 public Builder mergeFrom(com.google.analytics.admin.v1alpha.Audience other) { 1036 if (other == com.google.analytics.admin.v1alpha.Audience.getDefaultInstance()) return this; 1037 if (!other.getName().isEmpty()) { 1038 name_ = other.name_; 1039 bitField0_ |= 0x00000001; 1040 onChanged(); 1041 } 1042 if (!other.getDisplayName().isEmpty()) { 1043 displayName_ = other.displayName_; 1044 bitField0_ |= 0x00000002; 1045 onChanged(); 1046 } 1047 if (!other.getDescription().isEmpty()) { 1048 description_ = other.description_; 1049 bitField0_ |= 0x00000004; 1050 onChanged(); 1051 } 1052 if (other.getMembershipDurationDays() != 0) { 1053 setMembershipDurationDays(other.getMembershipDurationDays()); 1054 } 1055 if (other.getAdsPersonalizationEnabled() != false) { 1056 setAdsPersonalizationEnabled(other.getAdsPersonalizationEnabled()); 1057 } 1058 if (other.hasEventTrigger()) { 1059 mergeEventTrigger(other.getEventTrigger()); 1060 } 1061 if (other.exclusionDurationMode_ != 0) { 1062 setExclusionDurationModeValue(other.getExclusionDurationModeValue()); 1063 } 1064 if (filterClausesBuilder_ == null) { 1065 if (!other.filterClauses_.isEmpty()) { 1066 if (filterClauses_.isEmpty()) { 1067 filterClauses_ = other.filterClauses_; 1068 bitField0_ = (bitField0_ & ~0x00000080); 1069 } else { 1070 ensureFilterClausesIsMutable(); 1071 filterClauses_.addAll(other.filterClauses_); 1072 } 1073 onChanged(); 1074 } 1075 } else { 1076 if (!other.filterClauses_.isEmpty()) { 1077 if (filterClausesBuilder_.isEmpty()) { 1078 filterClausesBuilder_.dispose(); 1079 filterClausesBuilder_ = null; 1080 filterClauses_ = other.filterClauses_; 1081 bitField0_ = (bitField0_ & ~0x00000080); 1082 filterClausesBuilder_ = 1083 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders 1084 ? getFilterClausesFieldBuilder() 1085 : null; 1086 } else { 1087 filterClausesBuilder_.addAllMessages(other.filterClauses_); 1088 } 1089 } 1090 } 1091 this.mergeUnknownFields(other.getUnknownFields()); 1092 onChanged(); 1093 return this; 1094 } 1095 1096 @java.lang.Override isInitialized()1097 public final boolean isInitialized() { 1098 return true; 1099 } 1100 1101 @java.lang.Override mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1102 public Builder mergeFrom( 1103 com.google.protobuf.CodedInputStream input, 1104 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 1105 throws java.io.IOException { 1106 if (extensionRegistry == null) { 1107 throw new java.lang.NullPointerException(); 1108 } 1109 try { 1110 boolean done = false; 1111 while (!done) { 1112 int tag = input.readTag(); 1113 switch (tag) { 1114 case 0: 1115 done = true; 1116 break; 1117 case 10: 1118 { 1119 name_ = input.readStringRequireUtf8(); 1120 bitField0_ |= 0x00000001; 1121 break; 1122 } // case 10 1123 case 18: 1124 { 1125 displayName_ = input.readStringRequireUtf8(); 1126 bitField0_ |= 0x00000002; 1127 break; 1128 } // case 18 1129 case 26: 1130 { 1131 description_ = input.readStringRequireUtf8(); 1132 bitField0_ |= 0x00000004; 1133 break; 1134 } // case 26 1135 case 32: 1136 { 1137 membershipDurationDays_ = input.readInt32(); 1138 bitField0_ |= 0x00000008; 1139 break; 1140 } // case 32 1141 case 40: 1142 { 1143 adsPersonalizationEnabled_ = input.readBool(); 1144 bitField0_ |= 0x00000010; 1145 break; 1146 } // case 40 1147 case 50: 1148 { 1149 input.readMessage(getEventTriggerFieldBuilder().getBuilder(), extensionRegistry); 1150 bitField0_ |= 0x00000020; 1151 break; 1152 } // case 50 1153 case 56: 1154 { 1155 exclusionDurationMode_ = input.readEnum(); 1156 bitField0_ |= 0x00000040; 1157 break; 1158 } // case 56 1159 case 66: 1160 { 1161 com.google.analytics.admin.v1alpha.AudienceFilterClause m = 1162 input.readMessage( 1163 com.google.analytics.admin.v1alpha.AudienceFilterClause.parser(), 1164 extensionRegistry); 1165 if (filterClausesBuilder_ == null) { 1166 ensureFilterClausesIsMutable(); 1167 filterClauses_.add(m); 1168 } else { 1169 filterClausesBuilder_.addMessage(m); 1170 } 1171 break; 1172 } // case 66 1173 default: 1174 { 1175 if (!super.parseUnknownField(input, extensionRegistry, tag)) { 1176 done = true; // was an endgroup tag 1177 } 1178 break; 1179 } // default: 1180 } // switch (tag) 1181 } // while (!done) 1182 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 1183 throw e.unwrapIOException(); 1184 } finally { 1185 onChanged(); 1186 } // finally 1187 return this; 1188 } 1189 1190 private int bitField0_; 1191 1192 private java.lang.Object name_ = ""; 1193 /** 1194 * 1195 * 1196 * <pre> 1197 * Output only. The resource name for this Audience resource. 1198 * Format: properties/{propertyId}/audiences/{audienceId} 1199 * </pre> 1200 * 1201 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 1202 * 1203 * @return The name. 1204 */ getName()1205 public java.lang.String getName() { 1206 java.lang.Object ref = name_; 1207 if (!(ref instanceof java.lang.String)) { 1208 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1209 java.lang.String s = bs.toStringUtf8(); 1210 name_ = s; 1211 return s; 1212 } else { 1213 return (java.lang.String) ref; 1214 } 1215 } 1216 /** 1217 * 1218 * 1219 * <pre> 1220 * Output only. The resource name for this Audience resource. 1221 * Format: properties/{propertyId}/audiences/{audienceId} 1222 * </pre> 1223 * 1224 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 1225 * 1226 * @return The bytes for name. 1227 */ getNameBytes()1228 public com.google.protobuf.ByteString getNameBytes() { 1229 java.lang.Object ref = name_; 1230 if (ref instanceof String) { 1231 com.google.protobuf.ByteString b = 1232 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 1233 name_ = b; 1234 return b; 1235 } else { 1236 return (com.google.protobuf.ByteString) ref; 1237 } 1238 } 1239 /** 1240 * 1241 * 1242 * <pre> 1243 * Output only. The resource name for this Audience resource. 1244 * Format: properties/{propertyId}/audiences/{audienceId} 1245 * </pre> 1246 * 1247 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 1248 * 1249 * @param value The name to set. 1250 * @return This builder for chaining. 1251 */ setName(java.lang.String value)1252 public Builder setName(java.lang.String value) { 1253 if (value == null) { 1254 throw new NullPointerException(); 1255 } 1256 name_ = value; 1257 bitField0_ |= 0x00000001; 1258 onChanged(); 1259 return this; 1260 } 1261 /** 1262 * 1263 * 1264 * <pre> 1265 * Output only. The resource name for this Audience resource. 1266 * Format: properties/{propertyId}/audiences/{audienceId} 1267 * </pre> 1268 * 1269 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 1270 * 1271 * @return This builder for chaining. 1272 */ clearName()1273 public Builder clearName() { 1274 name_ = getDefaultInstance().getName(); 1275 bitField0_ = (bitField0_ & ~0x00000001); 1276 onChanged(); 1277 return this; 1278 } 1279 /** 1280 * 1281 * 1282 * <pre> 1283 * Output only. The resource name for this Audience resource. 1284 * Format: properties/{propertyId}/audiences/{audienceId} 1285 * </pre> 1286 * 1287 * <code>string name = 1 [(.google.api.field_behavior) = OUTPUT_ONLY];</code> 1288 * 1289 * @param value The bytes for name to set. 1290 * @return This builder for chaining. 1291 */ setNameBytes(com.google.protobuf.ByteString value)1292 public Builder setNameBytes(com.google.protobuf.ByteString value) { 1293 if (value == null) { 1294 throw new NullPointerException(); 1295 } 1296 checkByteStringIsUtf8(value); 1297 name_ = value; 1298 bitField0_ |= 0x00000001; 1299 onChanged(); 1300 return this; 1301 } 1302 1303 private java.lang.Object displayName_ = ""; 1304 /** 1305 * 1306 * 1307 * <pre> 1308 * Required. The display name of the Audience. 1309 * </pre> 1310 * 1311 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 1312 * 1313 * @return The displayName. 1314 */ getDisplayName()1315 public java.lang.String getDisplayName() { 1316 java.lang.Object ref = displayName_; 1317 if (!(ref instanceof java.lang.String)) { 1318 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1319 java.lang.String s = bs.toStringUtf8(); 1320 displayName_ = s; 1321 return s; 1322 } else { 1323 return (java.lang.String) ref; 1324 } 1325 } 1326 /** 1327 * 1328 * 1329 * <pre> 1330 * Required. The display name of the Audience. 1331 * </pre> 1332 * 1333 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 1334 * 1335 * @return The bytes for displayName. 1336 */ getDisplayNameBytes()1337 public com.google.protobuf.ByteString getDisplayNameBytes() { 1338 java.lang.Object ref = displayName_; 1339 if (ref instanceof String) { 1340 com.google.protobuf.ByteString b = 1341 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 1342 displayName_ = b; 1343 return b; 1344 } else { 1345 return (com.google.protobuf.ByteString) ref; 1346 } 1347 } 1348 /** 1349 * 1350 * 1351 * <pre> 1352 * Required. The display name of the Audience. 1353 * </pre> 1354 * 1355 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 1356 * 1357 * @param value The displayName to set. 1358 * @return This builder for chaining. 1359 */ setDisplayName(java.lang.String value)1360 public Builder setDisplayName(java.lang.String value) { 1361 if (value == null) { 1362 throw new NullPointerException(); 1363 } 1364 displayName_ = value; 1365 bitField0_ |= 0x00000002; 1366 onChanged(); 1367 return this; 1368 } 1369 /** 1370 * 1371 * 1372 * <pre> 1373 * Required. The display name of the Audience. 1374 * </pre> 1375 * 1376 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 1377 * 1378 * @return This builder for chaining. 1379 */ clearDisplayName()1380 public Builder clearDisplayName() { 1381 displayName_ = getDefaultInstance().getDisplayName(); 1382 bitField0_ = (bitField0_ & ~0x00000002); 1383 onChanged(); 1384 return this; 1385 } 1386 /** 1387 * 1388 * 1389 * <pre> 1390 * Required. The display name of the Audience. 1391 * </pre> 1392 * 1393 * <code>string display_name = 2 [(.google.api.field_behavior) = REQUIRED];</code> 1394 * 1395 * @param value The bytes for displayName to set. 1396 * @return This builder for chaining. 1397 */ setDisplayNameBytes(com.google.protobuf.ByteString value)1398 public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) { 1399 if (value == null) { 1400 throw new NullPointerException(); 1401 } 1402 checkByteStringIsUtf8(value); 1403 displayName_ = value; 1404 bitField0_ |= 0x00000002; 1405 onChanged(); 1406 return this; 1407 } 1408 1409 private java.lang.Object description_ = ""; 1410 /** 1411 * 1412 * 1413 * <pre> 1414 * Required. The description of the Audience. 1415 * </pre> 1416 * 1417 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 1418 * 1419 * @return The description. 1420 */ getDescription()1421 public java.lang.String getDescription() { 1422 java.lang.Object ref = description_; 1423 if (!(ref instanceof java.lang.String)) { 1424 com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; 1425 java.lang.String s = bs.toStringUtf8(); 1426 description_ = s; 1427 return s; 1428 } else { 1429 return (java.lang.String) ref; 1430 } 1431 } 1432 /** 1433 * 1434 * 1435 * <pre> 1436 * Required. The description of the Audience. 1437 * </pre> 1438 * 1439 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 1440 * 1441 * @return The bytes for description. 1442 */ getDescriptionBytes()1443 public com.google.protobuf.ByteString getDescriptionBytes() { 1444 java.lang.Object ref = description_; 1445 if (ref instanceof String) { 1446 com.google.protobuf.ByteString b = 1447 com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); 1448 description_ = b; 1449 return b; 1450 } else { 1451 return (com.google.protobuf.ByteString) ref; 1452 } 1453 } 1454 /** 1455 * 1456 * 1457 * <pre> 1458 * Required. The description of the Audience. 1459 * </pre> 1460 * 1461 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 1462 * 1463 * @param value The description to set. 1464 * @return This builder for chaining. 1465 */ setDescription(java.lang.String value)1466 public Builder setDescription(java.lang.String value) { 1467 if (value == null) { 1468 throw new NullPointerException(); 1469 } 1470 description_ = value; 1471 bitField0_ |= 0x00000004; 1472 onChanged(); 1473 return this; 1474 } 1475 /** 1476 * 1477 * 1478 * <pre> 1479 * Required. The description of the Audience. 1480 * </pre> 1481 * 1482 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 1483 * 1484 * @return This builder for chaining. 1485 */ clearDescription()1486 public Builder clearDescription() { 1487 description_ = getDefaultInstance().getDescription(); 1488 bitField0_ = (bitField0_ & ~0x00000004); 1489 onChanged(); 1490 return this; 1491 } 1492 /** 1493 * 1494 * 1495 * <pre> 1496 * Required. The description of the Audience. 1497 * </pre> 1498 * 1499 * <code>string description = 3 [(.google.api.field_behavior) = REQUIRED];</code> 1500 * 1501 * @param value The bytes for description to set. 1502 * @return This builder for chaining. 1503 */ setDescriptionBytes(com.google.protobuf.ByteString value)1504 public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { 1505 if (value == null) { 1506 throw new NullPointerException(); 1507 } 1508 checkByteStringIsUtf8(value); 1509 description_ = value; 1510 bitField0_ |= 0x00000004; 1511 onChanged(); 1512 return this; 1513 } 1514 1515 private int membershipDurationDays_; 1516 /** 1517 * 1518 * 1519 * <pre> 1520 * Required. Immutable. The duration a user should stay in an Audience. It 1521 * cannot be set to more than 540 days. 1522 * </pre> 1523 * 1524 * <code> 1525 * int32 membership_duration_days = 4 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE]; 1526 * </code> 1527 * 1528 * @return The membershipDurationDays. 1529 */ 1530 @java.lang.Override getMembershipDurationDays()1531 public int getMembershipDurationDays() { 1532 return membershipDurationDays_; 1533 } 1534 /** 1535 * 1536 * 1537 * <pre> 1538 * Required. Immutable. The duration a user should stay in an Audience. It 1539 * cannot be set to more than 540 days. 1540 * </pre> 1541 * 1542 * <code> 1543 * int32 membership_duration_days = 4 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE]; 1544 * </code> 1545 * 1546 * @param value The membershipDurationDays to set. 1547 * @return This builder for chaining. 1548 */ setMembershipDurationDays(int value)1549 public Builder setMembershipDurationDays(int value) { 1550 1551 membershipDurationDays_ = value; 1552 bitField0_ |= 0x00000008; 1553 onChanged(); 1554 return this; 1555 } 1556 /** 1557 * 1558 * 1559 * <pre> 1560 * Required. Immutable. The duration a user should stay in an Audience. It 1561 * cannot be set to more than 540 days. 1562 * </pre> 1563 * 1564 * <code> 1565 * int32 membership_duration_days = 4 [(.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = IMMUTABLE]; 1566 * </code> 1567 * 1568 * @return This builder for chaining. 1569 */ clearMembershipDurationDays()1570 public Builder clearMembershipDurationDays() { 1571 bitField0_ = (bitField0_ & ~0x00000008); 1572 membershipDurationDays_ = 0; 1573 onChanged(); 1574 return this; 1575 } 1576 1577 private boolean adsPersonalizationEnabled_; 1578 /** 1579 * 1580 * 1581 * <pre> 1582 * Output only. It is automatically set by GA to false if this is an NPA 1583 * Audience and is excluded from ads personalization. 1584 * </pre> 1585 * 1586 * <code>bool ads_personalization_enabled = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 1587 * </code> 1588 * 1589 * @return The adsPersonalizationEnabled. 1590 */ 1591 @java.lang.Override getAdsPersonalizationEnabled()1592 public boolean getAdsPersonalizationEnabled() { 1593 return adsPersonalizationEnabled_; 1594 } 1595 /** 1596 * 1597 * 1598 * <pre> 1599 * Output only. It is automatically set by GA to false if this is an NPA 1600 * Audience and is excluded from ads personalization. 1601 * </pre> 1602 * 1603 * <code>bool ads_personalization_enabled = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 1604 * </code> 1605 * 1606 * @param value The adsPersonalizationEnabled to set. 1607 * @return This builder for chaining. 1608 */ setAdsPersonalizationEnabled(boolean value)1609 public Builder setAdsPersonalizationEnabled(boolean value) { 1610 1611 adsPersonalizationEnabled_ = value; 1612 bitField0_ |= 0x00000010; 1613 onChanged(); 1614 return this; 1615 } 1616 /** 1617 * 1618 * 1619 * <pre> 1620 * Output only. It is automatically set by GA to false if this is an NPA 1621 * Audience and is excluded from ads personalization. 1622 * </pre> 1623 * 1624 * <code>bool ads_personalization_enabled = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; 1625 * </code> 1626 * 1627 * @return This builder for chaining. 1628 */ clearAdsPersonalizationEnabled()1629 public Builder clearAdsPersonalizationEnabled() { 1630 bitField0_ = (bitField0_ & ~0x00000010); 1631 adsPersonalizationEnabled_ = false; 1632 onChanged(); 1633 return this; 1634 } 1635 1636 private com.google.analytics.admin.v1alpha.AudienceEventTrigger eventTrigger_; 1637 private com.google.protobuf.SingleFieldBuilderV3< 1638 com.google.analytics.admin.v1alpha.AudienceEventTrigger, 1639 com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder, 1640 com.google.analytics.admin.v1alpha.AudienceEventTriggerOrBuilder> 1641 eventTriggerBuilder_; 1642 /** 1643 * 1644 * 1645 * <pre> 1646 * Optional. Specifies an event to log when a user joins the Audience. If not 1647 * set, no event is logged when a user joins the Audience. 1648 * </pre> 1649 * 1650 * <code> 1651 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1652 * </code> 1653 * 1654 * @return Whether the eventTrigger field is set. 1655 */ hasEventTrigger()1656 public boolean hasEventTrigger() { 1657 return ((bitField0_ & 0x00000020) != 0); 1658 } 1659 /** 1660 * 1661 * 1662 * <pre> 1663 * Optional. Specifies an event to log when a user joins the Audience. If not 1664 * set, no event is logged when a user joins the Audience. 1665 * </pre> 1666 * 1667 * <code> 1668 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1669 * </code> 1670 * 1671 * @return The eventTrigger. 1672 */ getEventTrigger()1673 public com.google.analytics.admin.v1alpha.AudienceEventTrigger getEventTrigger() { 1674 if (eventTriggerBuilder_ == null) { 1675 return eventTrigger_ == null 1676 ? com.google.analytics.admin.v1alpha.AudienceEventTrigger.getDefaultInstance() 1677 : eventTrigger_; 1678 } else { 1679 return eventTriggerBuilder_.getMessage(); 1680 } 1681 } 1682 /** 1683 * 1684 * 1685 * <pre> 1686 * Optional. Specifies an event to log when a user joins the Audience. If not 1687 * set, no event is logged when a user joins the Audience. 1688 * </pre> 1689 * 1690 * <code> 1691 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1692 * </code> 1693 */ setEventTrigger(com.google.analytics.admin.v1alpha.AudienceEventTrigger value)1694 public Builder setEventTrigger(com.google.analytics.admin.v1alpha.AudienceEventTrigger value) { 1695 if (eventTriggerBuilder_ == null) { 1696 if (value == null) { 1697 throw new NullPointerException(); 1698 } 1699 eventTrigger_ = value; 1700 } else { 1701 eventTriggerBuilder_.setMessage(value); 1702 } 1703 bitField0_ |= 0x00000020; 1704 onChanged(); 1705 return this; 1706 } 1707 /** 1708 * 1709 * 1710 * <pre> 1711 * Optional. Specifies an event to log when a user joins the Audience. If not 1712 * set, no event is logged when a user joins the Audience. 1713 * </pre> 1714 * 1715 * <code> 1716 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1717 * </code> 1718 */ setEventTrigger( com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder builderForValue)1719 public Builder setEventTrigger( 1720 com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder builderForValue) { 1721 if (eventTriggerBuilder_ == null) { 1722 eventTrigger_ = builderForValue.build(); 1723 } else { 1724 eventTriggerBuilder_.setMessage(builderForValue.build()); 1725 } 1726 bitField0_ |= 0x00000020; 1727 onChanged(); 1728 return this; 1729 } 1730 /** 1731 * 1732 * 1733 * <pre> 1734 * Optional. Specifies an event to log when a user joins the Audience. If not 1735 * set, no event is logged when a user joins the Audience. 1736 * </pre> 1737 * 1738 * <code> 1739 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1740 * </code> 1741 */ mergeEventTrigger( com.google.analytics.admin.v1alpha.AudienceEventTrigger value)1742 public Builder mergeEventTrigger( 1743 com.google.analytics.admin.v1alpha.AudienceEventTrigger value) { 1744 if (eventTriggerBuilder_ == null) { 1745 if (((bitField0_ & 0x00000020) != 0) 1746 && eventTrigger_ != null 1747 && eventTrigger_ 1748 != com.google.analytics.admin.v1alpha.AudienceEventTrigger.getDefaultInstance()) { 1749 getEventTriggerBuilder().mergeFrom(value); 1750 } else { 1751 eventTrigger_ = value; 1752 } 1753 } else { 1754 eventTriggerBuilder_.mergeFrom(value); 1755 } 1756 bitField0_ |= 0x00000020; 1757 onChanged(); 1758 return this; 1759 } 1760 /** 1761 * 1762 * 1763 * <pre> 1764 * Optional. Specifies an event to log when a user joins the Audience. If not 1765 * set, no event is logged when a user joins the Audience. 1766 * </pre> 1767 * 1768 * <code> 1769 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1770 * </code> 1771 */ clearEventTrigger()1772 public Builder clearEventTrigger() { 1773 bitField0_ = (bitField0_ & ~0x00000020); 1774 eventTrigger_ = null; 1775 if (eventTriggerBuilder_ != null) { 1776 eventTriggerBuilder_.dispose(); 1777 eventTriggerBuilder_ = null; 1778 } 1779 onChanged(); 1780 return this; 1781 } 1782 /** 1783 * 1784 * 1785 * <pre> 1786 * Optional. Specifies an event to log when a user joins the Audience. If not 1787 * set, no event is logged when a user joins the Audience. 1788 * </pre> 1789 * 1790 * <code> 1791 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1792 * </code> 1793 */ 1794 public com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder getEventTriggerBuilder()1795 getEventTriggerBuilder() { 1796 bitField0_ |= 0x00000020; 1797 onChanged(); 1798 return getEventTriggerFieldBuilder().getBuilder(); 1799 } 1800 /** 1801 * 1802 * 1803 * <pre> 1804 * Optional. Specifies an event to log when a user joins the Audience. If not 1805 * set, no event is logged when a user joins the Audience. 1806 * </pre> 1807 * 1808 * <code> 1809 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1810 * </code> 1811 */ 1812 public com.google.analytics.admin.v1alpha.AudienceEventTriggerOrBuilder getEventTriggerOrBuilder()1813 getEventTriggerOrBuilder() { 1814 if (eventTriggerBuilder_ != null) { 1815 return eventTriggerBuilder_.getMessageOrBuilder(); 1816 } else { 1817 return eventTrigger_ == null 1818 ? com.google.analytics.admin.v1alpha.AudienceEventTrigger.getDefaultInstance() 1819 : eventTrigger_; 1820 } 1821 } 1822 /** 1823 * 1824 * 1825 * <pre> 1826 * Optional. Specifies an event to log when a user joins the Audience. If not 1827 * set, no event is logged when a user joins the Audience. 1828 * </pre> 1829 * 1830 * <code> 1831 * .google.analytics.admin.v1alpha.AudienceEventTrigger event_trigger = 6 [(.google.api.field_behavior) = OPTIONAL]; 1832 * </code> 1833 */ 1834 private com.google.protobuf.SingleFieldBuilderV3< 1835 com.google.analytics.admin.v1alpha.AudienceEventTrigger, 1836 com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder, 1837 com.google.analytics.admin.v1alpha.AudienceEventTriggerOrBuilder> getEventTriggerFieldBuilder()1838 getEventTriggerFieldBuilder() { 1839 if (eventTriggerBuilder_ == null) { 1840 eventTriggerBuilder_ = 1841 new com.google.protobuf.SingleFieldBuilderV3< 1842 com.google.analytics.admin.v1alpha.AudienceEventTrigger, 1843 com.google.analytics.admin.v1alpha.AudienceEventTrigger.Builder, 1844 com.google.analytics.admin.v1alpha.AudienceEventTriggerOrBuilder>( 1845 getEventTrigger(), getParentForChildren(), isClean()); 1846 eventTrigger_ = null; 1847 } 1848 return eventTriggerBuilder_; 1849 } 1850 1851 private int exclusionDurationMode_ = 0; 1852 /** 1853 * 1854 * 1855 * <pre> 1856 * Immutable. Specifies how long an exclusion lasts for users that meet the 1857 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 1858 * ignored when there is no EXCLUDE filter clause in the Audience. 1859 * </pre> 1860 * 1861 * <code> 1862 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 1863 * </code> 1864 * 1865 * @return The enum numeric value on the wire for exclusionDurationMode. 1866 */ 1867 @java.lang.Override getExclusionDurationModeValue()1868 public int getExclusionDurationModeValue() { 1869 return exclusionDurationMode_; 1870 } 1871 /** 1872 * 1873 * 1874 * <pre> 1875 * Immutable. Specifies how long an exclusion lasts for users that meet the 1876 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 1877 * ignored when there is no EXCLUDE filter clause in the Audience. 1878 * </pre> 1879 * 1880 * <code> 1881 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 1882 * </code> 1883 * 1884 * @param value The enum numeric value on the wire for exclusionDurationMode to set. 1885 * @return This builder for chaining. 1886 */ setExclusionDurationModeValue(int value)1887 public Builder setExclusionDurationModeValue(int value) { 1888 exclusionDurationMode_ = value; 1889 bitField0_ |= 0x00000040; 1890 onChanged(); 1891 return this; 1892 } 1893 /** 1894 * 1895 * 1896 * <pre> 1897 * Immutable. Specifies how long an exclusion lasts for users that meet the 1898 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 1899 * ignored when there is no EXCLUDE filter clause in the Audience. 1900 * </pre> 1901 * 1902 * <code> 1903 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 1904 * </code> 1905 * 1906 * @return The exclusionDurationMode. 1907 */ 1908 @java.lang.Override 1909 public com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode getExclusionDurationMode()1910 getExclusionDurationMode() { 1911 com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode result = 1912 com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode.forNumber( 1913 exclusionDurationMode_); 1914 return result == null 1915 ? com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode.UNRECOGNIZED 1916 : result; 1917 } 1918 /** 1919 * 1920 * 1921 * <pre> 1922 * Immutable. Specifies how long an exclusion lasts for users that meet the 1923 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 1924 * ignored when there is no EXCLUDE filter clause in the Audience. 1925 * </pre> 1926 * 1927 * <code> 1928 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 1929 * </code> 1930 * 1931 * @param value The exclusionDurationMode to set. 1932 * @return This builder for chaining. 1933 */ setExclusionDurationMode( com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode value)1934 public Builder setExclusionDurationMode( 1935 com.google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode value) { 1936 if (value == null) { 1937 throw new NullPointerException(); 1938 } 1939 bitField0_ |= 0x00000040; 1940 exclusionDurationMode_ = value.getNumber(); 1941 onChanged(); 1942 return this; 1943 } 1944 /** 1945 * 1946 * 1947 * <pre> 1948 * Immutable. Specifies how long an exclusion lasts for users that meet the 1949 * exclusion filter. It is applied to all EXCLUDE filter clauses and is 1950 * ignored when there is no EXCLUDE filter clause in the Audience. 1951 * </pre> 1952 * 1953 * <code> 1954 * .google.analytics.admin.v1alpha.Audience.AudienceExclusionDurationMode exclusion_duration_mode = 7 [(.google.api.field_behavior) = IMMUTABLE]; 1955 * </code> 1956 * 1957 * @return This builder for chaining. 1958 */ clearExclusionDurationMode()1959 public Builder clearExclusionDurationMode() { 1960 bitField0_ = (bitField0_ & ~0x00000040); 1961 exclusionDurationMode_ = 0; 1962 onChanged(); 1963 return this; 1964 } 1965 1966 private java.util.List<com.google.analytics.admin.v1alpha.AudienceFilterClause> filterClauses_ = 1967 java.util.Collections.emptyList(); 1968 ensureFilterClausesIsMutable()1969 private void ensureFilterClausesIsMutable() { 1970 if (!((bitField0_ & 0x00000080) != 0)) { 1971 filterClauses_ = 1972 new java.util.ArrayList<com.google.analytics.admin.v1alpha.AudienceFilterClause>( 1973 filterClauses_); 1974 bitField0_ |= 0x00000080; 1975 } 1976 } 1977 1978 private com.google.protobuf.RepeatedFieldBuilderV3< 1979 com.google.analytics.admin.v1alpha.AudienceFilterClause, 1980 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder, 1981 com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder> 1982 filterClausesBuilder_; 1983 1984 /** 1985 * 1986 * 1987 * <pre> 1988 * Required. Immutable. Unordered list. Filter clauses that define the 1989 * Audience. All clauses will be AND’ed together. 1990 * </pre> 1991 * 1992 * <code> 1993 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 1994 * </code> 1995 */ 1996 public java.util.List<com.google.analytics.admin.v1alpha.AudienceFilterClause> getFilterClausesList()1997 getFilterClausesList() { 1998 if (filterClausesBuilder_ == null) { 1999 return java.util.Collections.unmodifiableList(filterClauses_); 2000 } else { 2001 return filterClausesBuilder_.getMessageList(); 2002 } 2003 } 2004 /** 2005 * 2006 * 2007 * <pre> 2008 * Required. Immutable. Unordered list. Filter clauses that define the 2009 * Audience. All clauses will be AND’ed together. 2010 * </pre> 2011 * 2012 * <code> 2013 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2014 * </code> 2015 */ getFilterClausesCount()2016 public int getFilterClausesCount() { 2017 if (filterClausesBuilder_ == null) { 2018 return filterClauses_.size(); 2019 } else { 2020 return filterClausesBuilder_.getCount(); 2021 } 2022 } 2023 /** 2024 * 2025 * 2026 * <pre> 2027 * Required. Immutable. Unordered list. Filter clauses that define the 2028 * Audience. All clauses will be AND’ed together. 2029 * </pre> 2030 * 2031 * <code> 2032 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2033 * </code> 2034 */ getFilterClauses(int index)2035 public com.google.analytics.admin.v1alpha.AudienceFilterClause getFilterClauses(int index) { 2036 if (filterClausesBuilder_ == null) { 2037 return filterClauses_.get(index); 2038 } else { 2039 return filterClausesBuilder_.getMessage(index); 2040 } 2041 } 2042 /** 2043 * 2044 * 2045 * <pre> 2046 * Required. Immutable. Unordered list. Filter clauses that define the 2047 * Audience. All clauses will be AND’ed together. 2048 * </pre> 2049 * 2050 * <code> 2051 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2052 * </code> 2053 */ setFilterClauses( int index, com.google.analytics.admin.v1alpha.AudienceFilterClause value)2054 public Builder setFilterClauses( 2055 int index, com.google.analytics.admin.v1alpha.AudienceFilterClause value) { 2056 if (filterClausesBuilder_ == null) { 2057 if (value == null) { 2058 throw new NullPointerException(); 2059 } 2060 ensureFilterClausesIsMutable(); 2061 filterClauses_.set(index, value); 2062 onChanged(); 2063 } else { 2064 filterClausesBuilder_.setMessage(index, value); 2065 } 2066 return this; 2067 } 2068 /** 2069 * 2070 * 2071 * <pre> 2072 * Required. Immutable. Unordered list. Filter clauses that define the 2073 * Audience. All clauses will be AND’ed together. 2074 * </pre> 2075 * 2076 * <code> 2077 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2078 * </code> 2079 */ setFilterClauses( int index, com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue)2080 public Builder setFilterClauses( 2081 int index, 2082 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue) { 2083 if (filterClausesBuilder_ == null) { 2084 ensureFilterClausesIsMutable(); 2085 filterClauses_.set(index, builderForValue.build()); 2086 onChanged(); 2087 } else { 2088 filterClausesBuilder_.setMessage(index, builderForValue.build()); 2089 } 2090 return this; 2091 } 2092 /** 2093 * 2094 * 2095 * <pre> 2096 * Required. Immutable. Unordered list. Filter clauses that define the 2097 * Audience. All clauses will be AND’ed together. 2098 * </pre> 2099 * 2100 * <code> 2101 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2102 * </code> 2103 */ addFilterClauses(com.google.analytics.admin.v1alpha.AudienceFilterClause value)2104 public Builder addFilterClauses(com.google.analytics.admin.v1alpha.AudienceFilterClause value) { 2105 if (filterClausesBuilder_ == null) { 2106 if (value == null) { 2107 throw new NullPointerException(); 2108 } 2109 ensureFilterClausesIsMutable(); 2110 filterClauses_.add(value); 2111 onChanged(); 2112 } else { 2113 filterClausesBuilder_.addMessage(value); 2114 } 2115 return this; 2116 } 2117 /** 2118 * 2119 * 2120 * <pre> 2121 * Required. Immutable. Unordered list. Filter clauses that define the 2122 * Audience. All clauses will be AND’ed together. 2123 * </pre> 2124 * 2125 * <code> 2126 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2127 * </code> 2128 */ addFilterClauses( int index, com.google.analytics.admin.v1alpha.AudienceFilterClause value)2129 public Builder addFilterClauses( 2130 int index, com.google.analytics.admin.v1alpha.AudienceFilterClause value) { 2131 if (filterClausesBuilder_ == null) { 2132 if (value == null) { 2133 throw new NullPointerException(); 2134 } 2135 ensureFilterClausesIsMutable(); 2136 filterClauses_.add(index, value); 2137 onChanged(); 2138 } else { 2139 filterClausesBuilder_.addMessage(index, value); 2140 } 2141 return this; 2142 } 2143 /** 2144 * 2145 * 2146 * <pre> 2147 * Required. Immutable. Unordered list. Filter clauses that define the 2148 * Audience. All clauses will be AND’ed together. 2149 * </pre> 2150 * 2151 * <code> 2152 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2153 * </code> 2154 */ addFilterClauses( com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue)2155 public Builder addFilterClauses( 2156 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue) { 2157 if (filterClausesBuilder_ == null) { 2158 ensureFilterClausesIsMutable(); 2159 filterClauses_.add(builderForValue.build()); 2160 onChanged(); 2161 } else { 2162 filterClausesBuilder_.addMessage(builderForValue.build()); 2163 } 2164 return this; 2165 } 2166 /** 2167 * 2168 * 2169 * <pre> 2170 * Required. Immutable. Unordered list. Filter clauses that define the 2171 * Audience. All clauses will be AND’ed together. 2172 * </pre> 2173 * 2174 * <code> 2175 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2176 * </code> 2177 */ addFilterClauses( int index, com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue)2178 public Builder addFilterClauses( 2179 int index, 2180 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder builderForValue) { 2181 if (filterClausesBuilder_ == null) { 2182 ensureFilterClausesIsMutable(); 2183 filterClauses_.add(index, builderForValue.build()); 2184 onChanged(); 2185 } else { 2186 filterClausesBuilder_.addMessage(index, builderForValue.build()); 2187 } 2188 return this; 2189 } 2190 /** 2191 * 2192 * 2193 * <pre> 2194 * Required. Immutable. Unordered list. Filter clauses that define the 2195 * Audience. All clauses will be AND’ed together. 2196 * </pre> 2197 * 2198 * <code> 2199 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2200 * </code> 2201 */ addAllFilterClauses( java.lang.Iterable<? extends com.google.analytics.admin.v1alpha.AudienceFilterClause> values)2202 public Builder addAllFilterClauses( 2203 java.lang.Iterable<? extends com.google.analytics.admin.v1alpha.AudienceFilterClause> 2204 values) { 2205 if (filterClausesBuilder_ == null) { 2206 ensureFilterClausesIsMutable(); 2207 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, filterClauses_); 2208 onChanged(); 2209 } else { 2210 filterClausesBuilder_.addAllMessages(values); 2211 } 2212 return this; 2213 } 2214 /** 2215 * 2216 * 2217 * <pre> 2218 * Required. Immutable. Unordered list. Filter clauses that define the 2219 * Audience. All clauses will be AND’ed together. 2220 * </pre> 2221 * 2222 * <code> 2223 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2224 * </code> 2225 */ clearFilterClauses()2226 public Builder clearFilterClauses() { 2227 if (filterClausesBuilder_ == null) { 2228 filterClauses_ = java.util.Collections.emptyList(); 2229 bitField0_ = (bitField0_ & ~0x00000080); 2230 onChanged(); 2231 } else { 2232 filterClausesBuilder_.clear(); 2233 } 2234 return this; 2235 } 2236 /** 2237 * 2238 * 2239 * <pre> 2240 * Required. Immutable. Unordered list. Filter clauses that define the 2241 * Audience. All clauses will be AND’ed together. 2242 * </pre> 2243 * 2244 * <code> 2245 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2246 * </code> 2247 */ removeFilterClauses(int index)2248 public Builder removeFilterClauses(int index) { 2249 if (filterClausesBuilder_ == null) { 2250 ensureFilterClausesIsMutable(); 2251 filterClauses_.remove(index); 2252 onChanged(); 2253 } else { 2254 filterClausesBuilder_.remove(index); 2255 } 2256 return this; 2257 } 2258 /** 2259 * 2260 * 2261 * <pre> 2262 * Required. Immutable. Unordered list. Filter clauses that define the 2263 * Audience. All clauses will be AND’ed together. 2264 * </pre> 2265 * 2266 * <code> 2267 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2268 * </code> 2269 */ getFilterClausesBuilder( int index)2270 public com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder getFilterClausesBuilder( 2271 int index) { 2272 return getFilterClausesFieldBuilder().getBuilder(index); 2273 } 2274 /** 2275 * 2276 * 2277 * <pre> 2278 * Required. Immutable. Unordered list. Filter clauses that define the 2279 * Audience. All clauses will be AND’ed together. 2280 * </pre> 2281 * 2282 * <code> 2283 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2284 * </code> 2285 */ 2286 public com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder getFilterClausesOrBuilder(int index)2287 getFilterClausesOrBuilder(int index) { 2288 if (filterClausesBuilder_ == null) { 2289 return filterClauses_.get(index); 2290 } else { 2291 return filterClausesBuilder_.getMessageOrBuilder(index); 2292 } 2293 } 2294 /** 2295 * 2296 * 2297 * <pre> 2298 * Required. Immutable. Unordered list. Filter clauses that define the 2299 * Audience. All clauses will be AND’ed together. 2300 * </pre> 2301 * 2302 * <code> 2303 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2304 * </code> 2305 */ 2306 public java.util.List< 2307 ? extends com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder> getFilterClausesOrBuilderList()2308 getFilterClausesOrBuilderList() { 2309 if (filterClausesBuilder_ != null) { 2310 return filterClausesBuilder_.getMessageOrBuilderList(); 2311 } else { 2312 return java.util.Collections.unmodifiableList(filterClauses_); 2313 } 2314 } 2315 /** 2316 * 2317 * 2318 * <pre> 2319 * Required. Immutable. Unordered list. Filter clauses that define the 2320 * Audience. All clauses will be AND’ed together. 2321 * </pre> 2322 * 2323 * <code> 2324 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2325 * </code> 2326 */ 2327 public com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder addFilterClausesBuilder()2328 addFilterClausesBuilder() { 2329 return getFilterClausesFieldBuilder() 2330 .addBuilder(com.google.analytics.admin.v1alpha.AudienceFilterClause.getDefaultInstance()); 2331 } 2332 /** 2333 * 2334 * 2335 * <pre> 2336 * Required. Immutable. Unordered list. Filter clauses that define the 2337 * Audience. All clauses will be AND’ed together. 2338 * </pre> 2339 * 2340 * <code> 2341 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2342 * </code> 2343 */ addFilterClausesBuilder( int index)2344 public com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder addFilterClausesBuilder( 2345 int index) { 2346 return getFilterClausesFieldBuilder() 2347 .addBuilder( 2348 index, com.google.analytics.admin.v1alpha.AudienceFilterClause.getDefaultInstance()); 2349 } 2350 /** 2351 * 2352 * 2353 * <pre> 2354 * Required. Immutable. Unordered list. Filter clauses that define the 2355 * Audience. All clauses will be AND’ed together. 2356 * </pre> 2357 * 2358 * <code> 2359 * repeated .google.analytics.admin.v1alpha.AudienceFilterClause filter_clauses = 8 [(.google.api.field_behavior) = IMMUTABLE, (.google.api.field_behavior) = REQUIRED, (.google.api.field_behavior) = UNORDERED_LIST]; 2360 * </code> 2361 */ 2362 public java.util.List<com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder> getFilterClausesBuilderList()2363 getFilterClausesBuilderList() { 2364 return getFilterClausesFieldBuilder().getBuilderList(); 2365 } 2366 2367 private com.google.protobuf.RepeatedFieldBuilderV3< 2368 com.google.analytics.admin.v1alpha.AudienceFilterClause, 2369 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder, 2370 com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder> getFilterClausesFieldBuilder()2371 getFilterClausesFieldBuilder() { 2372 if (filterClausesBuilder_ == null) { 2373 filterClausesBuilder_ = 2374 new com.google.protobuf.RepeatedFieldBuilderV3< 2375 com.google.analytics.admin.v1alpha.AudienceFilterClause, 2376 com.google.analytics.admin.v1alpha.AudienceFilterClause.Builder, 2377 com.google.analytics.admin.v1alpha.AudienceFilterClauseOrBuilder>( 2378 filterClauses_, 2379 ((bitField0_ & 0x00000080) != 0), 2380 getParentForChildren(), 2381 isClean()); 2382 filterClauses_ = null; 2383 } 2384 return filterClausesBuilder_; 2385 } 2386 2387 @java.lang.Override setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)2388 public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { 2389 return super.setUnknownFields(unknownFields); 2390 } 2391 2392 @java.lang.Override mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)2393 public final Builder mergeUnknownFields( 2394 final com.google.protobuf.UnknownFieldSet unknownFields) { 2395 return super.mergeUnknownFields(unknownFields); 2396 } 2397 2398 // @@protoc_insertion_point(builder_scope:google.analytics.admin.v1alpha.Audience) 2399 } 2400 2401 // @@protoc_insertion_point(class_scope:google.analytics.admin.v1alpha.Audience) 2402 private static final com.google.analytics.admin.v1alpha.Audience DEFAULT_INSTANCE; 2403 2404 static { 2405 DEFAULT_INSTANCE = new com.google.analytics.admin.v1alpha.Audience(); 2406 } 2407 getDefaultInstance()2408 public static com.google.analytics.admin.v1alpha.Audience getDefaultInstance() { 2409 return DEFAULT_INSTANCE; 2410 } 2411 2412 private static final com.google.protobuf.Parser<Audience> PARSER = 2413 new com.google.protobuf.AbstractParser<Audience>() { 2414 @java.lang.Override 2415 public Audience parsePartialFrom( 2416 com.google.protobuf.CodedInputStream input, 2417 com.google.protobuf.ExtensionRegistryLite extensionRegistry) 2418 throws com.google.protobuf.InvalidProtocolBufferException { 2419 Builder builder = newBuilder(); 2420 try { 2421 builder.mergeFrom(input, extensionRegistry); 2422 } catch (com.google.protobuf.InvalidProtocolBufferException e) { 2423 throw e.setUnfinishedMessage(builder.buildPartial()); 2424 } catch (com.google.protobuf.UninitializedMessageException e) { 2425 throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); 2426 } catch (java.io.IOException e) { 2427 throw new com.google.protobuf.InvalidProtocolBufferException(e) 2428 .setUnfinishedMessage(builder.buildPartial()); 2429 } 2430 return builder.buildPartial(); 2431 } 2432 }; 2433 parser()2434 public static com.google.protobuf.Parser<Audience> parser() { 2435 return PARSER; 2436 } 2437 2438 @java.lang.Override getParserForType()2439 public com.google.protobuf.Parser<Audience> getParserForType() { 2440 return PARSER; 2441 } 2442 2443 @java.lang.Override getDefaultInstanceForType()2444 public com.google.analytics.admin.v1alpha.Audience getDefaultInstanceForType() { 2445 return DEFAULT_INSTANCE; 2446 } 2447 } 2448