• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/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