• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2020 Google LLC
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     https://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 // Generated by the protocol buffer compiler.  DO NOT EDIT!
17 // source: google/cloud/recommender/v1/recommendation.proto
18 
19 package com.google.cloud.recommender.v1;
20 
21 /**
22  *
23  *
24  * <pre>
25  * A recommendation along with a suggested action. E.g., a rightsizing
26  * recommendation for an underutilized VM, IAM role recommendations, etc
27  * </pre>
28  *
29  * Protobuf type {@code google.cloud.recommender.v1.Recommendation}
30  */
31 public final class Recommendation extends com.google.protobuf.GeneratedMessageV3
32     implements
33     // @@protoc_insertion_point(message_implements:google.cloud.recommender.v1.Recommendation)
34     RecommendationOrBuilder {
35   private static final long serialVersionUID = 0L;
36   // Use Recommendation.newBuilder() to construct.
Recommendation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)37   private Recommendation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
38     super(builder);
39   }
40 
Recommendation()41   private Recommendation() {
42     name_ = "";
43     description_ = "";
44     recommenderSubtype_ = "";
45     additionalImpact_ = java.util.Collections.emptyList();
46     priority_ = 0;
47     etag_ = "";
48     associatedInsights_ = java.util.Collections.emptyList();
49     xorGroupId_ = "";
50   }
51 
52   @java.lang.Override
53   @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)54   protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
55     return new Recommendation();
56   }
57 
58   @java.lang.Override
getUnknownFields()59   public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
60     return this.unknownFields;
61   }
62 
getDescriptor()63   public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
64     return com.google.cloud.recommender.v1.RecommendationOuterClass
65         .internal_static_google_cloud_recommender_v1_Recommendation_descriptor;
66   }
67 
68   @java.lang.Override
69   protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()70       internalGetFieldAccessorTable() {
71     return com.google.cloud.recommender.v1.RecommendationOuterClass
72         .internal_static_google_cloud_recommender_v1_Recommendation_fieldAccessorTable
73         .ensureFieldAccessorsInitialized(
74             com.google.cloud.recommender.v1.Recommendation.class,
75             com.google.cloud.recommender.v1.Recommendation.Builder.class);
76   }
77 
78   /**
79    *
80    *
81    * <pre>
82    * Recommendation priority levels.
83    * </pre>
84    *
85    * Protobuf enum {@code google.cloud.recommender.v1.Recommendation.Priority}
86    */
87   public enum Priority implements com.google.protobuf.ProtocolMessageEnum {
88     /**
89      *
90      *
91      * <pre>
92      * Recommendation has unspecified priority.
93      * </pre>
94      *
95      * <code>PRIORITY_UNSPECIFIED = 0;</code>
96      */
97     PRIORITY_UNSPECIFIED(0),
98     /**
99      *
100      *
101      * <pre>
102      * Recommendation has P4 priority (lowest priority).
103      * </pre>
104      *
105      * <code>P4 = 1;</code>
106      */
107     P4(1),
108     /**
109      *
110      *
111      * <pre>
112      * Recommendation has P3 priority (second lowest priority).
113      * </pre>
114      *
115      * <code>P3 = 2;</code>
116      */
117     P3(2),
118     /**
119      *
120      *
121      * <pre>
122      * Recommendation has P2 priority (second highest priority).
123      * </pre>
124      *
125      * <code>P2 = 3;</code>
126      */
127     P2(3),
128     /**
129      *
130      *
131      * <pre>
132      * Recommendation has P1 priority (highest priority).
133      * </pre>
134      *
135      * <code>P1 = 4;</code>
136      */
137     P1(4),
138     UNRECOGNIZED(-1),
139     ;
140 
141     /**
142      *
143      *
144      * <pre>
145      * Recommendation has unspecified priority.
146      * </pre>
147      *
148      * <code>PRIORITY_UNSPECIFIED = 0;</code>
149      */
150     public static final int PRIORITY_UNSPECIFIED_VALUE = 0;
151     /**
152      *
153      *
154      * <pre>
155      * Recommendation has P4 priority (lowest priority).
156      * </pre>
157      *
158      * <code>P4 = 1;</code>
159      */
160     public static final int P4_VALUE = 1;
161     /**
162      *
163      *
164      * <pre>
165      * Recommendation has P3 priority (second lowest priority).
166      * </pre>
167      *
168      * <code>P3 = 2;</code>
169      */
170     public static final int P3_VALUE = 2;
171     /**
172      *
173      *
174      * <pre>
175      * Recommendation has P2 priority (second highest priority).
176      * </pre>
177      *
178      * <code>P2 = 3;</code>
179      */
180     public static final int P2_VALUE = 3;
181     /**
182      *
183      *
184      * <pre>
185      * Recommendation has P1 priority (highest priority).
186      * </pre>
187      *
188      * <code>P1 = 4;</code>
189      */
190     public static final int P1_VALUE = 4;
191 
getNumber()192     public final int getNumber() {
193       if (this == UNRECOGNIZED) {
194         throw new java.lang.IllegalArgumentException(
195             "Can't get the number of an unknown enum value.");
196       }
197       return value;
198     }
199 
200     /**
201      * @param value The numeric wire value of the corresponding enum entry.
202      * @return The enum associated with the given numeric wire value.
203      * @deprecated Use {@link #forNumber(int)} instead.
204      */
205     @java.lang.Deprecated
valueOf(int value)206     public static Priority valueOf(int value) {
207       return forNumber(value);
208     }
209 
210     /**
211      * @param value The numeric wire value of the corresponding enum entry.
212      * @return The enum associated with the given numeric wire value.
213      */
forNumber(int value)214     public static Priority forNumber(int value) {
215       switch (value) {
216         case 0:
217           return PRIORITY_UNSPECIFIED;
218         case 1:
219           return P4;
220         case 2:
221           return P3;
222         case 3:
223           return P2;
224         case 4:
225           return P1;
226         default:
227           return null;
228       }
229     }
230 
internalGetValueMap()231     public static com.google.protobuf.Internal.EnumLiteMap<Priority> internalGetValueMap() {
232       return internalValueMap;
233     }
234 
235     private static final com.google.protobuf.Internal.EnumLiteMap<Priority> internalValueMap =
236         new com.google.protobuf.Internal.EnumLiteMap<Priority>() {
237           public Priority findValueByNumber(int number) {
238             return Priority.forNumber(number);
239           }
240         };
241 
getValueDescriptor()242     public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
243       if (this == UNRECOGNIZED) {
244         throw new java.lang.IllegalStateException(
245             "Can't get the descriptor of an unrecognized enum value.");
246       }
247       return getDescriptor().getValues().get(ordinal());
248     }
249 
getDescriptorForType()250     public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
251       return getDescriptor();
252     }
253 
getDescriptor()254     public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
255       return com.google.cloud.recommender.v1.Recommendation.getDescriptor().getEnumTypes().get(0);
256     }
257 
258     private static final Priority[] VALUES = values();
259 
valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc)260     public static Priority valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
261       if (desc.getType() != getDescriptor()) {
262         throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
263       }
264       if (desc.getIndex() == -1) {
265         return UNRECOGNIZED;
266       }
267       return VALUES[desc.getIndex()];
268     }
269 
270     private final int value;
271 
Priority(int value)272     private Priority(int value) {
273       this.value = value;
274     }
275 
276     // @@protoc_insertion_point(enum_scope:google.cloud.recommender.v1.Recommendation.Priority)
277   }
278 
279   public interface InsightReferenceOrBuilder
280       extends
281       // @@protoc_insertion_point(interface_extends:google.cloud.recommender.v1.Recommendation.InsightReference)
282       com.google.protobuf.MessageOrBuilder {
283 
284     /**
285      *
286      *
287      * <pre>
288      * Insight resource name, e.g.
289      * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
290      * </pre>
291      *
292      * <code>string insight = 1;</code>
293      *
294      * @return The insight.
295      */
getInsight()296     java.lang.String getInsight();
297     /**
298      *
299      *
300      * <pre>
301      * Insight resource name, e.g.
302      * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
303      * </pre>
304      *
305      * <code>string insight = 1;</code>
306      *
307      * @return The bytes for insight.
308      */
getInsightBytes()309     com.google.protobuf.ByteString getInsightBytes();
310   }
311   /**
312    *
313    *
314    * <pre>
315    * Reference to an associated insight.
316    * </pre>
317    *
318    * Protobuf type {@code google.cloud.recommender.v1.Recommendation.InsightReference}
319    */
320   public static final class InsightReference extends com.google.protobuf.GeneratedMessageV3
321       implements
322       // @@protoc_insertion_point(message_implements:google.cloud.recommender.v1.Recommendation.InsightReference)
323       InsightReferenceOrBuilder {
324     private static final long serialVersionUID = 0L;
325     // Use InsightReference.newBuilder() to construct.
InsightReference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder)326     private InsightReference(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
327       super(builder);
328     }
329 
InsightReference()330     private InsightReference() {
331       insight_ = "";
332     }
333 
334     @java.lang.Override
335     @SuppressWarnings({"unused"})
newInstance(UnusedPrivateParameter unused)336     protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
337       return new InsightReference();
338     }
339 
340     @java.lang.Override
getUnknownFields()341     public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
342       return this.unknownFields;
343     }
344 
getDescriptor()345     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
346       return com.google.cloud.recommender.v1.RecommendationOuterClass
347           .internal_static_google_cloud_recommender_v1_Recommendation_InsightReference_descriptor;
348     }
349 
350     @java.lang.Override
351     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()352         internalGetFieldAccessorTable() {
353       return com.google.cloud.recommender.v1.RecommendationOuterClass
354           .internal_static_google_cloud_recommender_v1_Recommendation_InsightReference_fieldAccessorTable
355           .ensureFieldAccessorsInitialized(
356               com.google.cloud.recommender.v1.Recommendation.InsightReference.class,
357               com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder.class);
358     }
359 
360     public static final int INSIGHT_FIELD_NUMBER = 1;
361 
362     @SuppressWarnings("serial")
363     private volatile java.lang.Object insight_ = "";
364     /**
365      *
366      *
367      * <pre>
368      * Insight resource name, e.g.
369      * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
370      * </pre>
371      *
372      * <code>string insight = 1;</code>
373      *
374      * @return The insight.
375      */
376     @java.lang.Override
getInsight()377     public java.lang.String getInsight() {
378       java.lang.Object ref = insight_;
379       if (ref instanceof java.lang.String) {
380         return (java.lang.String) ref;
381       } else {
382         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
383         java.lang.String s = bs.toStringUtf8();
384         insight_ = s;
385         return s;
386       }
387     }
388     /**
389      *
390      *
391      * <pre>
392      * Insight resource name, e.g.
393      * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
394      * </pre>
395      *
396      * <code>string insight = 1;</code>
397      *
398      * @return The bytes for insight.
399      */
400     @java.lang.Override
getInsightBytes()401     public com.google.protobuf.ByteString getInsightBytes() {
402       java.lang.Object ref = insight_;
403       if (ref instanceof java.lang.String) {
404         com.google.protobuf.ByteString b =
405             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
406         insight_ = b;
407         return b;
408       } else {
409         return (com.google.protobuf.ByteString) ref;
410       }
411     }
412 
413     private byte memoizedIsInitialized = -1;
414 
415     @java.lang.Override
isInitialized()416     public final boolean isInitialized() {
417       byte isInitialized = memoizedIsInitialized;
418       if (isInitialized == 1) return true;
419       if (isInitialized == 0) return false;
420 
421       memoizedIsInitialized = 1;
422       return true;
423     }
424 
425     @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)426     public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
427       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(insight_)) {
428         com.google.protobuf.GeneratedMessageV3.writeString(output, 1, insight_);
429       }
430       getUnknownFields().writeTo(output);
431     }
432 
433     @java.lang.Override
getSerializedSize()434     public int getSerializedSize() {
435       int size = memoizedSize;
436       if (size != -1) return size;
437 
438       size = 0;
439       if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(insight_)) {
440         size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, insight_);
441       }
442       size += getUnknownFields().getSerializedSize();
443       memoizedSize = size;
444       return size;
445     }
446 
447     @java.lang.Override
equals(final java.lang.Object obj)448     public boolean equals(final java.lang.Object obj) {
449       if (obj == this) {
450         return true;
451       }
452       if (!(obj instanceof com.google.cloud.recommender.v1.Recommendation.InsightReference)) {
453         return super.equals(obj);
454       }
455       com.google.cloud.recommender.v1.Recommendation.InsightReference other =
456           (com.google.cloud.recommender.v1.Recommendation.InsightReference) obj;
457 
458       if (!getInsight().equals(other.getInsight())) return false;
459       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
460       return true;
461     }
462 
463     @java.lang.Override
hashCode()464     public int hashCode() {
465       if (memoizedHashCode != 0) {
466         return memoizedHashCode;
467       }
468       int hash = 41;
469       hash = (19 * hash) + getDescriptor().hashCode();
470       hash = (37 * hash) + INSIGHT_FIELD_NUMBER;
471       hash = (53 * hash) + getInsight().hashCode();
472       hash = (29 * hash) + getUnknownFields().hashCode();
473       memoizedHashCode = hash;
474       return hash;
475     }
476 
parseFrom( java.nio.ByteBuffer data)477     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
478         java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException {
479       return PARSER.parseFrom(data);
480     }
481 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)482     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
483         java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
484         throws com.google.protobuf.InvalidProtocolBufferException {
485       return PARSER.parseFrom(data, extensionRegistry);
486     }
487 
parseFrom( com.google.protobuf.ByteString data)488     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
489         com.google.protobuf.ByteString data)
490         throws com.google.protobuf.InvalidProtocolBufferException {
491       return PARSER.parseFrom(data);
492     }
493 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)494     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
495         com.google.protobuf.ByteString data,
496         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
497         throws com.google.protobuf.InvalidProtocolBufferException {
498       return PARSER.parseFrom(data, extensionRegistry);
499     }
500 
parseFrom( byte[] data)501     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
502         byte[] data) throws com.google.protobuf.InvalidProtocolBufferException {
503       return PARSER.parseFrom(data);
504     }
505 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)506     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
507         byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
508         throws com.google.protobuf.InvalidProtocolBufferException {
509       return PARSER.parseFrom(data, extensionRegistry);
510     }
511 
parseFrom( java.io.InputStream input)512     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
513         java.io.InputStream input) throws java.io.IOException {
514       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
515     }
516 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)517     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
518         java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
519         throws java.io.IOException {
520       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
521           PARSER, input, extensionRegistry);
522     }
523 
524     public static com.google.cloud.recommender.v1.Recommendation.InsightReference
parseDelimitedFrom(java.io.InputStream input)525         parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException {
526       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
527     }
528 
529     public static com.google.cloud.recommender.v1.Recommendation.InsightReference
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)530         parseDelimitedFrom(
531             java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
532             throws java.io.IOException {
533       return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
534           PARSER, input, extensionRegistry);
535     }
536 
parseFrom( com.google.protobuf.CodedInputStream input)537     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
538         com.google.protobuf.CodedInputStream input) throws java.io.IOException {
539       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
540     }
541 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)542     public static com.google.cloud.recommender.v1.Recommendation.InsightReference parseFrom(
543         com.google.protobuf.CodedInputStream input,
544         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
545         throws java.io.IOException {
546       return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
547           PARSER, input, extensionRegistry);
548     }
549 
550     @java.lang.Override
newBuilderForType()551     public Builder newBuilderForType() {
552       return newBuilder();
553     }
554 
newBuilder()555     public static Builder newBuilder() {
556       return DEFAULT_INSTANCE.toBuilder();
557     }
558 
newBuilder( com.google.cloud.recommender.v1.Recommendation.InsightReference prototype)559     public static Builder newBuilder(
560         com.google.cloud.recommender.v1.Recommendation.InsightReference prototype) {
561       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
562     }
563 
564     @java.lang.Override
toBuilder()565     public Builder toBuilder() {
566       return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
567     }
568 
569     @java.lang.Override
newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent)570     protected Builder newBuilderForType(
571         com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
572       Builder builder = new Builder(parent);
573       return builder;
574     }
575     /**
576      *
577      *
578      * <pre>
579      * Reference to an associated insight.
580      * </pre>
581      *
582      * Protobuf type {@code google.cloud.recommender.v1.Recommendation.InsightReference}
583      */
584     public static final class Builder
585         extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
586         implements
587         // @@protoc_insertion_point(builder_implements:google.cloud.recommender.v1.Recommendation.InsightReference)
588         com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder {
getDescriptor()589       public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
590         return com.google.cloud.recommender.v1.RecommendationOuterClass
591             .internal_static_google_cloud_recommender_v1_Recommendation_InsightReference_descriptor;
592       }
593 
594       @java.lang.Override
595       protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()596           internalGetFieldAccessorTable() {
597         return com.google.cloud.recommender.v1.RecommendationOuterClass
598             .internal_static_google_cloud_recommender_v1_Recommendation_InsightReference_fieldAccessorTable
599             .ensureFieldAccessorsInitialized(
600                 com.google.cloud.recommender.v1.Recommendation.InsightReference.class,
601                 com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder.class);
602       }
603 
604       // Construct using
605       // com.google.cloud.recommender.v1.Recommendation.InsightReference.newBuilder()
Builder()606       private Builder() {}
607 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)608       private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
609         super(parent);
610       }
611 
612       @java.lang.Override
clear()613       public Builder clear() {
614         super.clear();
615         bitField0_ = 0;
616         insight_ = "";
617         return this;
618       }
619 
620       @java.lang.Override
getDescriptorForType()621       public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
622         return com.google.cloud.recommender.v1.RecommendationOuterClass
623             .internal_static_google_cloud_recommender_v1_Recommendation_InsightReference_descriptor;
624       }
625 
626       @java.lang.Override
627       public com.google.cloud.recommender.v1.Recommendation.InsightReference
getDefaultInstanceForType()628           getDefaultInstanceForType() {
629         return com.google.cloud.recommender.v1.Recommendation.InsightReference.getDefaultInstance();
630       }
631 
632       @java.lang.Override
build()633       public com.google.cloud.recommender.v1.Recommendation.InsightReference build() {
634         com.google.cloud.recommender.v1.Recommendation.InsightReference result = buildPartial();
635         if (!result.isInitialized()) {
636           throw newUninitializedMessageException(result);
637         }
638         return result;
639       }
640 
641       @java.lang.Override
buildPartial()642       public com.google.cloud.recommender.v1.Recommendation.InsightReference buildPartial() {
643         com.google.cloud.recommender.v1.Recommendation.InsightReference result =
644             new com.google.cloud.recommender.v1.Recommendation.InsightReference(this);
645         if (bitField0_ != 0) {
646           buildPartial0(result);
647         }
648         onBuilt();
649         return result;
650       }
651 
buildPartial0( com.google.cloud.recommender.v1.Recommendation.InsightReference result)652       private void buildPartial0(
653           com.google.cloud.recommender.v1.Recommendation.InsightReference result) {
654         int from_bitField0_ = bitField0_;
655         if (((from_bitField0_ & 0x00000001) != 0)) {
656           result.insight_ = insight_;
657         }
658       }
659 
660       @java.lang.Override
clone()661       public Builder clone() {
662         return super.clone();
663       }
664 
665       @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)666       public Builder setField(
667           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
668         return super.setField(field, value);
669       }
670 
671       @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)672       public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
673         return super.clearField(field);
674       }
675 
676       @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)677       public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
678         return super.clearOneof(oneof);
679       }
680 
681       @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)682       public Builder setRepeatedField(
683           com.google.protobuf.Descriptors.FieldDescriptor field,
684           int index,
685           java.lang.Object value) {
686         return super.setRepeatedField(field, index, value);
687       }
688 
689       @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)690       public Builder addRepeatedField(
691           com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
692         return super.addRepeatedField(field, value);
693       }
694 
695       @java.lang.Override
mergeFrom(com.google.protobuf.Message other)696       public Builder mergeFrom(com.google.protobuf.Message other) {
697         if (other instanceof com.google.cloud.recommender.v1.Recommendation.InsightReference) {
698           return mergeFrom((com.google.cloud.recommender.v1.Recommendation.InsightReference) other);
699         } else {
700           super.mergeFrom(other);
701           return this;
702         }
703       }
704 
mergeFrom( com.google.cloud.recommender.v1.Recommendation.InsightReference other)705       public Builder mergeFrom(
706           com.google.cloud.recommender.v1.Recommendation.InsightReference other) {
707         if (other
708             == com.google.cloud.recommender.v1.Recommendation.InsightReference.getDefaultInstance())
709           return this;
710         if (!other.getInsight().isEmpty()) {
711           insight_ = other.insight_;
712           bitField0_ |= 0x00000001;
713           onChanged();
714         }
715         this.mergeUnknownFields(other.getUnknownFields());
716         onChanged();
717         return this;
718       }
719 
720       @java.lang.Override
isInitialized()721       public final boolean isInitialized() {
722         return true;
723       }
724 
725       @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)726       public Builder mergeFrom(
727           com.google.protobuf.CodedInputStream input,
728           com.google.protobuf.ExtensionRegistryLite extensionRegistry)
729           throws java.io.IOException {
730         if (extensionRegistry == null) {
731           throw new java.lang.NullPointerException();
732         }
733         try {
734           boolean done = false;
735           while (!done) {
736             int tag = input.readTag();
737             switch (tag) {
738               case 0:
739                 done = true;
740                 break;
741               case 10:
742                 {
743                   insight_ = input.readStringRequireUtf8();
744                   bitField0_ |= 0x00000001;
745                   break;
746                 } // case 10
747               default:
748                 {
749                   if (!super.parseUnknownField(input, extensionRegistry, tag)) {
750                     done = true; // was an endgroup tag
751                   }
752                   break;
753                 } // default:
754             } // switch (tag)
755           } // while (!done)
756         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
757           throw e.unwrapIOException();
758         } finally {
759           onChanged();
760         } // finally
761         return this;
762       }
763 
764       private int bitField0_;
765 
766       private java.lang.Object insight_ = "";
767       /**
768        *
769        *
770        * <pre>
771        * Insight resource name, e.g.
772        * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
773        * </pre>
774        *
775        * <code>string insight = 1;</code>
776        *
777        * @return The insight.
778        */
getInsight()779       public java.lang.String getInsight() {
780         java.lang.Object ref = insight_;
781         if (!(ref instanceof java.lang.String)) {
782           com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
783           java.lang.String s = bs.toStringUtf8();
784           insight_ = s;
785           return s;
786         } else {
787           return (java.lang.String) ref;
788         }
789       }
790       /**
791        *
792        *
793        * <pre>
794        * Insight resource name, e.g.
795        * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
796        * </pre>
797        *
798        * <code>string insight = 1;</code>
799        *
800        * @return The bytes for insight.
801        */
getInsightBytes()802       public com.google.protobuf.ByteString getInsightBytes() {
803         java.lang.Object ref = insight_;
804         if (ref instanceof String) {
805           com.google.protobuf.ByteString b =
806               com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
807           insight_ = b;
808           return b;
809         } else {
810           return (com.google.protobuf.ByteString) ref;
811         }
812       }
813       /**
814        *
815        *
816        * <pre>
817        * Insight resource name, e.g.
818        * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
819        * </pre>
820        *
821        * <code>string insight = 1;</code>
822        *
823        * @param value The insight to set.
824        * @return This builder for chaining.
825        */
setInsight(java.lang.String value)826       public Builder setInsight(java.lang.String value) {
827         if (value == null) {
828           throw new NullPointerException();
829         }
830         insight_ = value;
831         bitField0_ |= 0x00000001;
832         onChanged();
833         return this;
834       }
835       /**
836        *
837        *
838        * <pre>
839        * Insight resource name, e.g.
840        * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
841        * </pre>
842        *
843        * <code>string insight = 1;</code>
844        *
845        * @return This builder for chaining.
846        */
clearInsight()847       public Builder clearInsight() {
848         insight_ = getDefaultInstance().getInsight();
849         bitField0_ = (bitField0_ & ~0x00000001);
850         onChanged();
851         return this;
852       }
853       /**
854        *
855        *
856        * <pre>
857        * Insight resource name, e.g.
858        * projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]/insights/[INSIGHT_ID]
859        * </pre>
860        *
861        * <code>string insight = 1;</code>
862        *
863        * @param value The bytes for insight to set.
864        * @return This builder for chaining.
865        */
setInsightBytes(com.google.protobuf.ByteString value)866       public Builder setInsightBytes(com.google.protobuf.ByteString value) {
867         if (value == null) {
868           throw new NullPointerException();
869         }
870         checkByteStringIsUtf8(value);
871         insight_ = value;
872         bitField0_ |= 0x00000001;
873         onChanged();
874         return this;
875       }
876 
877       @java.lang.Override
setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)878       public final Builder setUnknownFields(
879           final com.google.protobuf.UnknownFieldSet unknownFields) {
880         return super.setUnknownFields(unknownFields);
881       }
882 
883       @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)884       public final Builder mergeUnknownFields(
885           final com.google.protobuf.UnknownFieldSet unknownFields) {
886         return super.mergeUnknownFields(unknownFields);
887       }
888 
889       // @@protoc_insertion_point(builder_scope:google.cloud.recommender.v1.Recommendation.InsightReference)
890     }
891 
892     // @@protoc_insertion_point(class_scope:google.cloud.recommender.v1.Recommendation.InsightReference)
893     private static final com.google.cloud.recommender.v1.Recommendation.InsightReference
894         DEFAULT_INSTANCE;
895 
896     static {
897       DEFAULT_INSTANCE = new com.google.cloud.recommender.v1.Recommendation.InsightReference();
898     }
899 
900     public static com.google.cloud.recommender.v1.Recommendation.InsightReference
getDefaultInstance()901         getDefaultInstance() {
902       return DEFAULT_INSTANCE;
903     }
904 
905     private static final com.google.protobuf.Parser<InsightReference> PARSER =
906         new com.google.protobuf.AbstractParser<InsightReference>() {
907           @java.lang.Override
908           public InsightReference parsePartialFrom(
909               com.google.protobuf.CodedInputStream input,
910               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
911               throws com.google.protobuf.InvalidProtocolBufferException {
912             Builder builder = newBuilder();
913             try {
914               builder.mergeFrom(input, extensionRegistry);
915             } catch (com.google.protobuf.InvalidProtocolBufferException e) {
916               throw e.setUnfinishedMessage(builder.buildPartial());
917             } catch (com.google.protobuf.UninitializedMessageException e) {
918               throw e.asInvalidProtocolBufferException()
919                   .setUnfinishedMessage(builder.buildPartial());
920             } catch (java.io.IOException e) {
921               throw new com.google.protobuf.InvalidProtocolBufferException(e)
922                   .setUnfinishedMessage(builder.buildPartial());
923             }
924             return builder.buildPartial();
925           }
926         };
927 
parser()928     public static com.google.protobuf.Parser<InsightReference> parser() {
929       return PARSER;
930     }
931 
932     @java.lang.Override
getParserForType()933     public com.google.protobuf.Parser<InsightReference> getParserForType() {
934       return PARSER;
935     }
936 
937     @java.lang.Override
938     public com.google.cloud.recommender.v1.Recommendation.InsightReference
getDefaultInstanceForType()939         getDefaultInstanceForType() {
940       return DEFAULT_INSTANCE;
941     }
942   }
943 
944   public static final int NAME_FIELD_NUMBER = 1;
945 
946   @SuppressWarnings("serial")
947   private volatile java.lang.Object name_ = "";
948   /**
949    *
950    *
951    * <pre>
952    * Name of recommendation.
953    * </pre>
954    *
955    * <code>string name = 1;</code>
956    *
957    * @return The name.
958    */
959   @java.lang.Override
getName()960   public java.lang.String getName() {
961     java.lang.Object ref = name_;
962     if (ref instanceof java.lang.String) {
963       return (java.lang.String) ref;
964     } else {
965       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
966       java.lang.String s = bs.toStringUtf8();
967       name_ = s;
968       return s;
969     }
970   }
971   /**
972    *
973    *
974    * <pre>
975    * Name of recommendation.
976    * </pre>
977    *
978    * <code>string name = 1;</code>
979    *
980    * @return The bytes for name.
981    */
982   @java.lang.Override
getNameBytes()983   public com.google.protobuf.ByteString getNameBytes() {
984     java.lang.Object ref = name_;
985     if (ref instanceof java.lang.String) {
986       com.google.protobuf.ByteString b =
987           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
988       name_ = b;
989       return b;
990     } else {
991       return (com.google.protobuf.ByteString) ref;
992     }
993   }
994 
995   public static final int DESCRIPTION_FIELD_NUMBER = 2;
996 
997   @SuppressWarnings("serial")
998   private volatile java.lang.Object description_ = "";
999   /**
1000    *
1001    *
1002    * <pre>
1003    * Free-form human readable summary in English. The maximum length is 500
1004    * characters.
1005    * </pre>
1006    *
1007    * <code>string description = 2;</code>
1008    *
1009    * @return The description.
1010    */
1011   @java.lang.Override
getDescription()1012   public java.lang.String getDescription() {
1013     java.lang.Object ref = description_;
1014     if (ref instanceof java.lang.String) {
1015       return (java.lang.String) ref;
1016     } else {
1017       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1018       java.lang.String s = bs.toStringUtf8();
1019       description_ = s;
1020       return s;
1021     }
1022   }
1023   /**
1024    *
1025    *
1026    * <pre>
1027    * Free-form human readable summary in English. The maximum length is 500
1028    * characters.
1029    * </pre>
1030    *
1031    * <code>string description = 2;</code>
1032    *
1033    * @return The bytes for description.
1034    */
1035   @java.lang.Override
getDescriptionBytes()1036   public com.google.protobuf.ByteString getDescriptionBytes() {
1037     java.lang.Object ref = description_;
1038     if (ref instanceof java.lang.String) {
1039       com.google.protobuf.ByteString b =
1040           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1041       description_ = b;
1042       return b;
1043     } else {
1044       return (com.google.protobuf.ByteString) ref;
1045     }
1046   }
1047 
1048   public static final int RECOMMENDER_SUBTYPE_FIELD_NUMBER = 12;
1049 
1050   @SuppressWarnings("serial")
1051   private volatile java.lang.Object recommenderSubtype_ = "";
1052   /**
1053    *
1054    *
1055    * <pre>
1056    * Contains an identifier for a subtype of recommendations produced for the
1057    * same recommender. Subtype is a function of content and impact, meaning a
1058    * new subtype might be added when significant changes to `content` or
1059    * `primary_impact.category` are introduced. See the Recommenders section
1060    * to see a list of subtypes for a given Recommender.
1061    * Examples:
1062    *   For recommender = "google.iam.policy.Recommender",
1063    *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
1064    * </pre>
1065    *
1066    * <code>string recommender_subtype = 12;</code>
1067    *
1068    * @return The recommenderSubtype.
1069    */
1070   @java.lang.Override
getRecommenderSubtype()1071   public java.lang.String getRecommenderSubtype() {
1072     java.lang.Object ref = recommenderSubtype_;
1073     if (ref instanceof java.lang.String) {
1074       return (java.lang.String) ref;
1075     } else {
1076       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1077       java.lang.String s = bs.toStringUtf8();
1078       recommenderSubtype_ = s;
1079       return s;
1080     }
1081   }
1082   /**
1083    *
1084    *
1085    * <pre>
1086    * Contains an identifier for a subtype of recommendations produced for the
1087    * same recommender. Subtype is a function of content and impact, meaning a
1088    * new subtype might be added when significant changes to `content` or
1089    * `primary_impact.category` are introduced. See the Recommenders section
1090    * to see a list of subtypes for a given Recommender.
1091    * Examples:
1092    *   For recommender = "google.iam.policy.Recommender",
1093    *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
1094    * </pre>
1095    *
1096    * <code>string recommender_subtype = 12;</code>
1097    *
1098    * @return The bytes for recommenderSubtype.
1099    */
1100   @java.lang.Override
getRecommenderSubtypeBytes()1101   public com.google.protobuf.ByteString getRecommenderSubtypeBytes() {
1102     java.lang.Object ref = recommenderSubtype_;
1103     if (ref instanceof java.lang.String) {
1104       com.google.protobuf.ByteString b =
1105           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1106       recommenderSubtype_ = b;
1107       return b;
1108     } else {
1109       return (com.google.protobuf.ByteString) ref;
1110     }
1111   }
1112 
1113   public static final int LAST_REFRESH_TIME_FIELD_NUMBER = 4;
1114   private com.google.protobuf.Timestamp lastRefreshTime_;
1115   /**
1116    *
1117    *
1118    * <pre>
1119    * Last time this recommendation was refreshed by the system that created it
1120    * in the first place.
1121    * </pre>
1122    *
1123    * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
1124    *
1125    * @return Whether the lastRefreshTime field is set.
1126    */
1127   @java.lang.Override
hasLastRefreshTime()1128   public boolean hasLastRefreshTime() {
1129     return lastRefreshTime_ != null;
1130   }
1131   /**
1132    *
1133    *
1134    * <pre>
1135    * Last time this recommendation was refreshed by the system that created it
1136    * in the first place.
1137    * </pre>
1138    *
1139    * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
1140    *
1141    * @return The lastRefreshTime.
1142    */
1143   @java.lang.Override
getLastRefreshTime()1144   public com.google.protobuf.Timestamp getLastRefreshTime() {
1145     return lastRefreshTime_ == null
1146         ? com.google.protobuf.Timestamp.getDefaultInstance()
1147         : lastRefreshTime_;
1148   }
1149   /**
1150    *
1151    *
1152    * <pre>
1153    * Last time this recommendation was refreshed by the system that created it
1154    * in the first place.
1155    * </pre>
1156    *
1157    * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
1158    */
1159   @java.lang.Override
getLastRefreshTimeOrBuilder()1160   public com.google.protobuf.TimestampOrBuilder getLastRefreshTimeOrBuilder() {
1161     return lastRefreshTime_ == null
1162         ? com.google.protobuf.Timestamp.getDefaultInstance()
1163         : lastRefreshTime_;
1164   }
1165 
1166   public static final int PRIMARY_IMPACT_FIELD_NUMBER = 5;
1167   private com.google.cloud.recommender.v1.Impact primaryImpact_;
1168   /**
1169    *
1170    *
1171    * <pre>
1172    * The primary impact that this recommendation can have while trying to
1173    * optimize for one category.
1174    * </pre>
1175    *
1176    * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
1177    *
1178    * @return Whether the primaryImpact field is set.
1179    */
1180   @java.lang.Override
hasPrimaryImpact()1181   public boolean hasPrimaryImpact() {
1182     return primaryImpact_ != null;
1183   }
1184   /**
1185    *
1186    *
1187    * <pre>
1188    * The primary impact that this recommendation can have while trying to
1189    * optimize for one category.
1190    * </pre>
1191    *
1192    * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
1193    *
1194    * @return The primaryImpact.
1195    */
1196   @java.lang.Override
getPrimaryImpact()1197   public com.google.cloud.recommender.v1.Impact getPrimaryImpact() {
1198     return primaryImpact_ == null
1199         ? com.google.cloud.recommender.v1.Impact.getDefaultInstance()
1200         : primaryImpact_;
1201   }
1202   /**
1203    *
1204    *
1205    * <pre>
1206    * The primary impact that this recommendation can have while trying to
1207    * optimize for one category.
1208    * </pre>
1209    *
1210    * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
1211    */
1212   @java.lang.Override
getPrimaryImpactOrBuilder()1213   public com.google.cloud.recommender.v1.ImpactOrBuilder getPrimaryImpactOrBuilder() {
1214     return primaryImpact_ == null
1215         ? com.google.cloud.recommender.v1.Impact.getDefaultInstance()
1216         : primaryImpact_;
1217   }
1218 
1219   public static final int ADDITIONAL_IMPACT_FIELD_NUMBER = 6;
1220 
1221   @SuppressWarnings("serial")
1222   private java.util.List<com.google.cloud.recommender.v1.Impact> additionalImpact_;
1223   /**
1224    *
1225    *
1226    * <pre>
1227    * Optional set of additional impact that this recommendation may have when
1228    * trying to optimize for the primary category. These may be positive
1229    * or negative.
1230    * </pre>
1231    *
1232    * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
1233    */
1234   @java.lang.Override
getAdditionalImpactList()1235   public java.util.List<com.google.cloud.recommender.v1.Impact> getAdditionalImpactList() {
1236     return additionalImpact_;
1237   }
1238   /**
1239    *
1240    *
1241    * <pre>
1242    * Optional set of additional impact that this recommendation may have when
1243    * trying to optimize for the primary category. These may be positive
1244    * or negative.
1245    * </pre>
1246    *
1247    * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
1248    */
1249   @java.lang.Override
1250   public java.util.List<? extends com.google.cloud.recommender.v1.ImpactOrBuilder>
getAdditionalImpactOrBuilderList()1251       getAdditionalImpactOrBuilderList() {
1252     return additionalImpact_;
1253   }
1254   /**
1255    *
1256    *
1257    * <pre>
1258    * Optional set of additional impact that this recommendation may have when
1259    * trying to optimize for the primary category. These may be positive
1260    * or negative.
1261    * </pre>
1262    *
1263    * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
1264    */
1265   @java.lang.Override
getAdditionalImpactCount()1266   public int getAdditionalImpactCount() {
1267     return additionalImpact_.size();
1268   }
1269   /**
1270    *
1271    *
1272    * <pre>
1273    * Optional set of additional impact that this recommendation may have when
1274    * trying to optimize for the primary category. These may be positive
1275    * or negative.
1276    * </pre>
1277    *
1278    * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
1279    */
1280   @java.lang.Override
getAdditionalImpact(int index)1281   public com.google.cloud.recommender.v1.Impact getAdditionalImpact(int index) {
1282     return additionalImpact_.get(index);
1283   }
1284   /**
1285    *
1286    *
1287    * <pre>
1288    * Optional set of additional impact that this recommendation may have when
1289    * trying to optimize for the primary category. These may be positive
1290    * or negative.
1291    * </pre>
1292    *
1293    * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
1294    */
1295   @java.lang.Override
getAdditionalImpactOrBuilder(int index)1296   public com.google.cloud.recommender.v1.ImpactOrBuilder getAdditionalImpactOrBuilder(int index) {
1297     return additionalImpact_.get(index);
1298   }
1299 
1300   public static final int PRIORITY_FIELD_NUMBER = 17;
1301   private int priority_ = 0;
1302   /**
1303    *
1304    *
1305    * <pre>
1306    * Recommendation's priority.
1307    * </pre>
1308    *
1309    * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
1310    *
1311    * @return The enum numeric value on the wire for priority.
1312    */
1313   @java.lang.Override
getPriorityValue()1314   public int getPriorityValue() {
1315     return priority_;
1316   }
1317   /**
1318    *
1319    *
1320    * <pre>
1321    * Recommendation's priority.
1322    * </pre>
1323    *
1324    * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
1325    *
1326    * @return The priority.
1327    */
1328   @java.lang.Override
getPriority()1329   public com.google.cloud.recommender.v1.Recommendation.Priority getPriority() {
1330     com.google.cloud.recommender.v1.Recommendation.Priority result =
1331         com.google.cloud.recommender.v1.Recommendation.Priority.forNumber(priority_);
1332     return result == null
1333         ? com.google.cloud.recommender.v1.Recommendation.Priority.UNRECOGNIZED
1334         : result;
1335   }
1336 
1337   public static final int CONTENT_FIELD_NUMBER = 7;
1338   private com.google.cloud.recommender.v1.RecommendationContent content_;
1339   /**
1340    *
1341    *
1342    * <pre>
1343    * Content of the recommendation describing recommended changes to resources.
1344    * </pre>
1345    *
1346    * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
1347    *
1348    * @return Whether the content field is set.
1349    */
1350   @java.lang.Override
hasContent()1351   public boolean hasContent() {
1352     return content_ != null;
1353   }
1354   /**
1355    *
1356    *
1357    * <pre>
1358    * Content of the recommendation describing recommended changes to resources.
1359    * </pre>
1360    *
1361    * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
1362    *
1363    * @return The content.
1364    */
1365   @java.lang.Override
getContent()1366   public com.google.cloud.recommender.v1.RecommendationContent getContent() {
1367     return content_ == null
1368         ? com.google.cloud.recommender.v1.RecommendationContent.getDefaultInstance()
1369         : content_;
1370   }
1371   /**
1372    *
1373    *
1374    * <pre>
1375    * Content of the recommendation describing recommended changes to resources.
1376    * </pre>
1377    *
1378    * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
1379    */
1380   @java.lang.Override
getContentOrBuilder()1381   public com.google.cloud.recommender.v1.RecommendationContentOrBuilder getContentOrBuilder() {
1382     return content_ == null
1383         ? com.google.cloud.recommender.v1.RecommendationContent.getDefaultInstance()
1384         : content_;
1385   }
1386 
1387   public static final int STATE_INFO_FIELD_NUMBER = 10;
1388   private com.google.cloud.recommender.v1.RecommendationStateInfo stateInfo_;
1389   /**
1390    *
1391    *
1392    * <pre>
1393    * Information for state. Contains state and metadata.
1394    * </pre>
1395    *
1396    * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
1397    *
1398    * @return Whether the stateInfo field is set.
1399    */
1400   @java.lang.Override
hasStateInfo()1401   public boolean hasStateInfo() {
1402     return stateInfo_ != null;
1403   }
1404   /**
1405    *
1406    *
1407    * <pre>
1408    * Information for state. Contains state and metadata.
1409    * </pre>
1410    *
1411    * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
1412    *
1413    * @return The stateInfo.
1414    */
1415   @java.lang.Override
getStateInfo()1416   public com.google.cloud.recommender.v1.RecommendationStateInfo getStateInfo() {
1417     return stateInfo_ == null
1418         ? com.google.cloud.recommender.v1.RecommendationStateInfo.getDefaultInstance()
1419         : stateInfo_;
1420   }
1421   /**
1422    *
1423    *
1424    * <pre>
1425    * Information for state. Contains state and metadata.
1426    * </pre>
1427    *
1428    * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
1429    */
1430   @java.lang.Override
getStateInfoOrBuilder()1431   public com.google.cloud.recommender.v1.RecommendationStateInfoOrBuilder getStateInfoOrBuilder() {
1432     return stateInfo_ == null
1433         ? com.google.cloud.recommender.v1.RecommendationStateInfo.getDefaultInstance()
1434         : stateInfo_;
1435   }
1436 
1437   public static final int ETAG_FIELD_NUMBER = 11;
1438 
1439   @SuppressWarnings("serial")
1440   private volatile java.lang.Object etag_ = "";
1441   /**
1442    *
1443    *
1444    * <pre>
1445    * Fingerprint of the Recommendation. Provides optimistic locking when
1446    * updating states.
1447    * </pre>
1448    *
1449    * <code>string etag = 11;</code>
1450    *
1451    * @return The etag.
1452    */
1453   @java.lang.Override
getEtag()1454   public java.lang.String getEtag() {
1455     java.lang.Object ref = etag_;
1456     if (ref instanceof java.lang.String) {
1457       return (java.lang.String) ref;
1458     } else {
1459       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1460       java.lang.String s = bs.toStringUtf8();
1461       etag_ = s;
1462       return s;
1463     }
1464   }
1465   /**
1466    *
1467    *
1468    * <pre>
1469    * Fingerprint of the Recommendation. Provides optimistic locking when
1470    * updating states.
1471    * </pre>
1472    *
1473    * <code>string etag = 11;</code>
1474    *
1475    * @return The bytes for etag.
1476    */
1477   @java.lang.Override
getEtagBytes()1478   public com.google.protobuf.ByteString getEtagBytes() {
1479     java.lang.Object ref = etag_;
1480     if (ref instanceof java.lang.String) {
1481       com.google.protobuf.ByteString b =
1482           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1483       etag_ = b;
1484       return b;
1485     } else {
1486       return (com.google.protobuf.ByteString) ref;
1487     }
1488   }
1489 
1490   public static final int ASSOCIATED_INSIGHTS_FIELD_NUMBER = 14;
1491 
1492   @SuppressWarnings("serial")
1493   private java.util.List<com.google.cloud.recommender.v1.Recommendation.InsightReference>
1494       associatedInsights_;
1495   /**
1496    *
1497    *
1498    * <pre>
1499    * Insights that led to this recommendation.
1500    * </pre>
1501    *
1502    * <code>
1503    * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
1504    * </code>
1505    */
1506   @java.lang.Override
1507   public java.util.List<com.google.cloud.recommender.v1.Recommendation.InsightReference>
getAssociatedInsightsList()1508       getAssociatedInsightsList() {
1509     return associatedInsights_;
1510   }
1511   /**
1512    *
1513    *
1514    * <pre>
1515    * Insights that led to this recommendation.
1516    * </pre>
1517    *
1518    * <code>
1519    * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
1520    * </code>
1521    */
1522   @java.lang.Override
1523   public java.util.List<
1524           ? extends com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder>
getAssociatedInsightsOrBuilderList()1525       getAssociatedInsightsOrBuilderList() {
1526     return associatedInsights_;
1527   }
1528   /**
1529    *
1530    *
1531    * <pre>
1532    * Insights that led to this recommendation.
1533    * </pre>
1534    *
1535    * <code>
1536    * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
1537    * </code>
1538    */
1539   @java.lang.Override
getAssociatedInsightsCount()1540   public int getAssociatedInsightsCount() {
1541     return associatedInsights_.size();
1542   }
1543   /**
1544    *
1545    *
1546    * <pre>
1547    * Insights that led to this recommendation.
1548    * </pre>
1549    *
1550    * <code>
1551    * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
1552    * </code>
1553    */
1554   @java.lang.Override
getAssociatedInsights( int index)1555   public com.google.cloud.recommender.v1.Recommendation.InsightReference getAssociatedInsights(
1556       int index) {
1557     return associatedInsights_.get(index);
1558   }
1559   /**
1560    *
1561    *
1562    * <pre>
1563    * Insights that led to this recommendation.
1564    * </pre>
1565    *
1566    * <code>
1567    * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
1568    * </code>
1569    */
1570   @java.lang.Override
1571   public com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder
getAssociatedInsightsOrBuilder(int index)1572       getAssociatedInsightsOrBuilder(int index) {
1573     return associatedInsights_.get(index);
1574   }
1575 
1576   public static final int XOR_GROUP_ID_FIELD_NUMBER = 18;
1577 
1578   @SuppressWarnings("serial")
1579   private volatile java.lang.Object xorGroupId_ = "";
1580   /**
1581    *
1582    *
1583    * <pre>
1584    * Corresponds to a mutually exclusive group ID within a recommender.
1585    * A non-empty ID indicates that the recommendation belongs to a mutually
1586    * exclusive group. This means that only one recommendation within the group
1587    * is suggested to be applied.
1588    * </pre>
1589    *
1590    * <code>string xor_group_id = 18;</code>
1591    *
1592    * @return The xorGroupId.
1593    */
1594   @java.lang.Override
getXorGroupId()1595   public java.lang.String getXorGroupId() {
1596     java.lang.Object ref = xorGroupId_;
1597     if (ref instanceof java.lang.String) {
1598       return (java.lang.String) ref;
1599     } else {
1600       com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
1601       java.lang.String s = bs.toStringUtf8();
1602       xorGroupId_ = s;
1603       return s;
1604     }
1605   }
1606   /**
1607    *
1608    *
1609    * <pre>
1610    * Corresponds to a mutually exclusive group ID within a recommender.
1611    * A non-empty ID indicates that the recommendation belongs to a mutually
1612    * exclusive group. This means that only one recommendation within the group
1613    * is suggested to be applied.
1614    * </pre>
1615    *
1616    * <code>string xor_group_id = 18;</code>
1617    *
1618    * @return The bytes for xorGroupId.
1619    */
1620   @java.lang.Override
getXorGroupIdBytes()1621   public com.google.protobuf.ByteString getXorGroupIdBytes() {
1622     java.lang.Object ref = xorGroupId_;
1623     if (ref instanceof java.lang.String) {
1624       com.google.protobuf.ByteString b =
1625           com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
1626       xorGroupId_ = b;
1627       return b;
1628     } else {
1629       return (com.google.protobuf.ByteString) ref;
1630     }
1631   }
1632 
1633   private byte memoizedIsInitialized = -1;
1634 
1635   @java.lang.Override
isInitialized()1636   public final boolean isInitialized() {
1637     byte isInitialized = memoizedIsInitialized;
1638     if (isInitialized == 1) return true;
1639     if (isInitialized == 0) return false;
1640 
1641     memoizedIsInitialized = 1;
1642     return true;
1643   }
1644 
1645   @java.lang.Override
writeTo(com.google.protobuf.CodedOutputStream output)1646   public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
1647     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
1648       com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
1649     }
1650     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
1651       com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_);
1652     }
1653     if (lastRefreshTime_ != null) {
1654       output.writeMessage(4, getLastRefreshTime());
1655     }
1656     if (primaryImpact_ != null) {
1657       output.writeMessage(5, getPrimaryImpact());
1658     }
1659     for (int i = 0; i < additionalImpact_.size(); i++) {
1660       output.writeMessage(6, additionalImpact_.get(i));
1661     }
1662     if (content_ != null) {
1663       output.writeMessage(7, getContent());
1664     }
1665     if (stateInfo_ != null) {
1666       output.writeMessage(10, getStateInfo());
1667     }
1668     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
1669       com.google.protobuf.GeneratedMessageV3.writeString(output, 11, etag_);
1670     }
1671     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(recommenderSubtype_)) {
1672       com.google.protobuf.GeneratedMessageV3.writeString(output, 12, recommenderSubtype_);
1673     }
1674     for (int i = 0; i < associatedInsights_.size(); i++) {
1675       output.writeMessage(14, associatedInsights_.get(i));
1676     }
1677     if (priority_
1678         != com.google.cloud.recommender.v1.Recommendation.Priority.PRIORITY_UNSPECIFIED
1679             .getNumber()) {
1680       output.writeEnum(17, priority_);
1681     }
1682     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(xorGroupId_)) {
1683       com.google.protobuf.GeneratedMessageV3.writeString(output, 18, xorGroupId_);
1684     }
1685     getUnknownFields().writeTo(output);
1686   }
1687 
1688   @java.lang.Override
getSerializedSize()1689   public int getSerializedSize() {
1690     int size = memoizedSize;
1691     if (size != -1) return size;
1692 
1693     size = 0;
1694     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
1695       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
1696     }
1697     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
1698       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_);
1699     }
1700     if (lastRefreshTime_ != null) {
1701       size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getLastRefreshTime());
1702     }
1703     if (primaryImpact_ != null) {
1704       size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getPrimaryImpact());
1705     }
1706     for (int i = 0; i < additionalImpact_.size(); i++) {
1707       size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, additionalImpact_.get(i));
1708     }
1709     if (content_ != null) {
1710       size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, getContent());
1711     }
1712     if (stateInfo_ != null) {
1713       size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getStateInfo());
1714     }
1715     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
1716       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, etag_);
1717     }
1718     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(recommenderSubtype_)) {
1719       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, recommenderSubtype_);
1720     }
1721     for (int i = 0; i < associatedInsights_.size(); i++) {
1722       size +=
1723           com.google.protobuf.CodedOutputStream.computeMessageSize(14, associatedInsights_.get(i));
1724     }
1725     if (priority_
1726         != com.google.cloud.recommender.v1.Recommendation.Priority.PRIORITY_UNSPECIFIED
1727             .getNumber()) {
1728       size += com.google.protobuf.CodedOutputStream.computeEnumSize(17, priority_);
1729     }
1730     if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(xorGroupId_)) {
1731       size += com.google.protobuf.GeneratedMessageV3.computeStringSize(18, xorGroupId_);
1732     }
1733     size += getUnknownFields().getSerializedSize();
1734     memoizedSize = size;
1735     return size;
1736   }
1737 
1738   @java.lang.Override
equals(final java.lang.Object obj)1739   public boolean equals(final java.lang.Object obj) {
1740     if (obj == this) {
1741       return true;
1742     }
1743     if (!(obj instanceof com.google.cloud.recommender.v1.Recommendation)) {
1744       return super.equals(obj);
1745     }
1746     com.google.cloud.recommender.v1.Recommendation other =
1747         (com.google.cloud.recommender.v1.Recommendation) obj;
1748 
1749     if (!getName().equals(other.getName())) return false;
1750     if (!getDescription().equals(other.getDescription())) return false;
1751     if (!getRecommenderSubtype().equals(other.getRecommenderSubtype())) return false;
1752     if (hasLastRefreshTime() != other.hasLastRefreshTime()) return false;
1753     if (hasLastRefreshTime()) {
1754       if (!getLastRefreshTime().equals(other.getLastRefreshTime())) return false;
1755     }
1756     if (hasPrimaryImpact() != other.hasPrimaryImpact()) return false;
1757     if (hasPrimaryImpact()) {
1758       if (!getPrimaryImpact().equals(other.getPrimaryImpact())) return false;
1759     }
1760     if (!getAdditionalImpactList().equals(other.getAdditionalImpactList())) return false;
1761     if (priority_ != other.priority_) return false;
1762     if (hasContent() != other.hasContent()) return false;
1763     if (hasContent()) {
1764       if (!getContent().equals(other.getContent())) return false;
1765     }
1766     if (hasStateInfo() != other.hasStateInfo()) return false;
1767     if (hasStateInfo()) {
1768       if (!getStateInfo().equals(other.getStateInfo())) return false;
1769     }
1770     if (!getEtag().equals(other.getEtag())) return false;
1771     if (!getAssociatedInsightsList().equals(other.getAssociatedInsightsList())) return false;
1772     if (!getXorGroupId().equals(other.getXorGroupId())) return false;
1773     if (!getUnknownFields().equals(other.getUnknownFields())) return false;
1774     return true;
1775   }
1776 
1777   @java.lang.Override
hashCode()1778   public int hashCode() {
1779     if (memoizedHashCode != 0) {
1780       return memoizedHashCode;
1781     }
1782     int hash = 41;
1783     hash = (19 * hash) + getDescriptor().hashCode();
1784     hash = (37 * hash) + NAME_FIELD_NUMBER;
1785     hash = (53 * hash) + getName().hashCode();
1786     hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
1787     hash = (53 * hash) + getDescription().hashCode();
1788     hash = (37 * hash) + RECOMMENDER_SUBTYPE_FIELD_NUMBER;
1789     hash = (53 * hash) + getRecommenderSubtype().hashCode();
1790     if (hasLastRefreshTime()) {
1791       hash = (37 * hash) + LAST_REFRESH_TIME_FIELD_NUMBER;
1792       hash = (53 * hash) + getLastRefreshTime().hashCode();
1793     }
1794     if (hasPrimaryImpact()) {
1795       hash = (37 * hash) + PRIMARY_IMPACT_FIELD_NUMBER;
1796       hash = (53 * hash) + getPrimaryImpact().hashCode();
1797     }
1798     if (getAdditionalImpactCount() > 0) {
1799       hash = (37 * hash) + ADDITIONAL_IMPACT_FIELD_NUMBER;
1800       hash = (53 * hash) + getAdditionalImpactList().hashCode();
1801     }
1802     hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
1803     hash = (53 * hash) + priority_;
1804     if (hasContent()) {
1805       hash = (37 * hash) + CONTENT_FIELD_NUMBER;
1806       hash = (53 * hash) + getContent().hashCode();
1807     }
1808     if (hasStateInfo()) {
1809       hash = (37 * hash) + STATE_INFO_FIELD_NUMBER;
1810       hash = (53 * hash) + getStateInfo().hashCode();
1811     }
1812     hash = (37 * hash) + ETAG_FIELD_NUMBER;
1813     hash = (53 * hash) + getEtag().hashCode();
1814     if (getAssociatedInsightsCount() > 0) {
1815       hash = (37 * hash) + ASSOCIATED_INSIGHTS_FIELD_NUMBER;
1816       hash = (53 * hash) + getAssociatedInsightsList().hashCode();
1817     }
1818     hash = (37 * hash) + XOR_GROUP_ID_FIELD_NUMBER;
1819     hash = (53 * hash) + getXorGroupId().hashCode();
1820     hash = (29 * hash) + getUnknownFields().hashCode();
1821     memoizedHashCode = hash;
1822     return hash;
1823   }
1824 
parseFrom(java.nio.ByteBuffer data)1825   public static com.google.cloud.recommender.v1.Recommendation parseFrom(java.nio.ByteBuffer data)
1826       throws com.google.protobuf.InvalidProtocolBufferException {
1827     return PARSER.parseFrom(data);
1828   }
1829 
parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1830   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1831       java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1832       throws com.google.protobuf.InvalidProtocolBufferException {
1833     return PARSER.parseFrom(data, extensionRegistry);
1834   }
1835 
parseFrom( com.google.protobuf.ByteString data)1836   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1837       com.google.protobuf.ByteString data)
1838       throws com.google.protobuf.InvalidProtocolBufferException {
1839     return PARSER.parseFrom(data);
1840   }
1841 
parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1842   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1843       com.google.protobuf.ByteString data,
1844       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1845       throws com.google.protobuf.InvalidProtocolBufferException {
1846     return PARSER.parseFrom(data, extensionRegistry);
1847   }
1848 
parseFrom(byte[] data)1849   public static com.google.cloud.recommender.v1.Recommendation parseFrom(byte[] data)
1850       throws com.google.protobuf.InvalidProtocolBufferException {
1851     return PARSER.parseFrom(data);
1852   }
1853 
parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1854   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1855       byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1856       throws com.google.protobuf.InvalidProtocolBufferException {
1857     return PARSER.parseFrom(data, extensionRegistry);
1858   }
1859 
parseFrom(java.io.InputStream input)1860   public static com.google.cloud.recommender.v1.Recommendation parseFrom(java.io.InputStream input)
1861       throws java.io.IOException {
1862     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1863   }
1864 
parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1865   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1866       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1867       throws java.io.IOException {
1868     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1869         PARSER, input, extensionRegistry);
1870   }
1871 
parseDelimitedFrom( java.io.InputStream input)1872   public static com.google.cloud.recommender.v1.Recommendation parseDelimitedFrom(
1873       java.io.InputStream input) throws java.io.IOException {
1874     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
1875   }
1876 
parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1877   public static com.google.cloud.recommender.v1.Recommendation parseDelimitedFrom(
1878       java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1879       throws java.io.IOException {
1880     return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
1881         PARSER, input, extensionRegistry);
1882   }
1883 
parseFrom( com.google.protobuf.CodedInputStream input)1884   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1885       com.google.protobuf.CodedInputStream input) throws java.io.IOException {
1886     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
1887   }
1888 
parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)1889   public static com.google.cloud.recommender.v1.Recommendation parseFrom(
1890       com.google.protobuf.CodedInputStream input,
1891       com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1892       throws java.io.IOException {
1893     return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
1894         PARSER, input, extensionRegistry);
1895   }
1896 
1897   @java.lang.Override
newBuilderForType()1898   public Builder newBuilderForType() {
1899     return newBuilder();
1900   }
1901 
newBuilder()1902   public static Builder newBuilder() {
1903     return DEFAULT_INSTANCE.toBuilder();
1904   }
1905 
newBuilder(com.google.cloud.recommender.v1.Recommendation prototype)1906   public static Builder newBuilder(com.google.cloud.recommender.v1.Recommendation prototype) {
1907     return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
1908   }
1909 
1910   @java.lang.Override
toBuilder()1911   public Builder toBuilder() {
1912     return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
1913   }
1914 
1915   @java.lang.Override
newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1916   protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1917     Builder builder = new Builder(parent);
1918     return builder;
1919   }
1920   /**
1921    *
1922    *
1923    * <pre>
1924    * A recommendation along with a suggested action. E.g., a rightsizing
1925    * recommendation for an underutilized VM, IAM role recommendations, etc
1926    * </pre>
1927    *
1928    * Protobuf type {@code google.cloud.recommender.v1.Recommendation}
1929    */
1930   public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder<Builder>
1931       implements
1932       // @@protoc_insertion_point(builder_implements:google.cloud.recommender.v1.Recommendation)
1933       com.google.cloud.recommender.v1.RecommendationOrBuilder {
getDescriptor()1934     public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
1935       return com.google.cloud.recommender.v1.RecommendationOuterClass
1936           .internal_static_google_cloud_recommender_v1_Recommendation_descriptor;
1937     }
1938 
1939     @java.lang.Override
1940     protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable()1941         internalGetFieldAccessorTable() {
1942       return com.google.cloud.recommender.v1.RecommendationOuterClass
1943           .internal_static_google_cloud_recommender_v1_Recommendation_fieldAccessorTable
1944           .ensureFieldAccessorsInitialized(
1945               com.google.cloud.recommender.v1.Recommendation.class,
1946               com.google.cloud.recommender.v1.Recommendation.Builder.class);
1947     }
1948 
1949     // Construct using com.google.cloud.recommender.v1.Recommendation.newBuilder()
Builder()1950     private Builder() {}
1951 
Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)1952     private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
1953       super(parent);
1954     }
1955 
1956     @java.lang.Override
clear()1957     public Builder clear() {
1958       super.clear();
1959       bitField0_ = 0;
1960       name_ = "";
1961       description_ = "";
1962       recommenderSubtype_ = "";
1963       lastRefreshTime_ = null;
1964       if (lastRefreshTimeBuilder_ != null) {
1965         lastRefreshTimeBuilder_.dispose();
1966         lastRefreshTimeBuilder_ = null;
1967       }
1968       primaryImpact_ = null;
1969       if (primaryImpactBuilder_ != null) {
1970         primaryImpactBuilder_.dispose();
1971         primaryImpactBuilder_ = null;
1972       }
1973       if (additionalImpactBuilder_ == null) {
1974         additionalImpact_ = java.util.Collections.emptyList();
1975       } else {
1976         additionalImpact_ = null;
1977         additionalImpactBuilder_.clear();
1978       }
1979       bitField0_ = (bitField0_ & ~0x00000020);
1980       priority_ = 0;
1981       content_ = null;
1982       if (contentBuilder_ != null) {
1983         contentBuilder_.dispose();
1984         contentBuilder_ = null;
1985       }
1986       stateInfo_ = null;
1987       if (stateInfoBuilder_ != null) {
1988         stateInfoBuilder_.dispose();
1989         stateInfoBuilder_ = null;
1990       }
1991       etag_ = "";
1992       if (associatedInsightsBuilder_ == null) {
1993         associatedInsights_ = java.util.Collections.emptyList();
1994       } else {
1995         associatedInsights_ = null;
1996         associatedInsightsBuilder_.clear();
1997       }
1998       bitField0_ = (bitField0_ & ~0x00000400);
1999       xorGroupId_ = "";
2000       return this;
2001     }
2002 
2003     @java.lang.Override
getDescriptorForType()2004     public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
2005       return com.google.cloud.recommender.v1.RecommendationOuterClass
2006           .internal_static_google_cloud_recommender_v1_Recommendation_descriptor;
2007     }
2008 
2009     @java.lang.Override
getDefaultInstanceForType()2010     public com.google.cloud.recommender.v1.Recommendation getDefaultInstanceForType() {
2011       return com.google.cloud.recommender.v1.Recommendation.getDefaultInstance();
2012     }
2013 
2014     @java.lang.Override
build()2015     public com.google.cloud.recommender.v1.Recommendation build() {
2016       com.google.cloud.recommender.v1.Recommendation result = buildPartial();
2017       if (!result.isInitialized()) {
2018         throw newUninitializedMessageException(result);
2019       }
2020       return result;
2021     }
2022 
2023     @java.lang.Override
buildPartial()2024     public com.google.cloud.recommender.v1.Recommendation buildPartial() {
2025       com.google.cloud.recommender.v1.Recommendation result =
2026           new com.google.cloud.recommender.v1.Recommendation(this);
2027       buildPartialRepeatedFields(result);
2028       if (bitField0_ != 0) {
2029         buildPartial0(result);
2030       }
2031       onBuilt();
2032       return result;
2033     }
2034 
buildPartialRepeatedFields(com.google.cloud.recommender.v1.Recommendation result)2035     private void buildPartialRepeatedFields(com.google.cloud.recommender.v1.Recommendation result) {
2036       if (additionalImpactBuilder_ == null) {
2037         if (((bitField0_ & 0x00000020) != 0)) {
2038           additionalImpact_ = java.util.Collections.unmodifiableList(additionalImpact_);
2039           bitField0_ = (bitField0_ & ~0x00000020);
2040         }
2041         result.additionalImpact_ = additionalImpact_;
2042       } else {
2043         result.additionalImpact_ = additionalImpactBuilder_.build();
2044       }
2045       if (associatedInsightsBuilder_ == null) {
2046         if (((bitField0_ & 0x00000400) != 0)) {
2047           associatedInsights_ = java.util.Collections.unmodifiableList(associatedInsights_);
2048           bitField0_ = (bitField0_ & ~0x00000400);
2049         }
2050         result.associatedInsights_ = associatedInsights_;
2051       } else {
2052         result.associatedInsights_ = associatedInsightsBuilder_.build();
2053       }
2054     }
2055 
buildPartial0(com.google.cloud.recommender.v1.Recommendation result)2056     private void buildPartial0(com.google.cloud.recommender.v1.Recommendation result) {
2057       int from_bitField0_ = bitField0_;
2058       if (((from_bitField0_ & 0x00000001) != 0)) {
2059         result.name_ = name_;
2060       }
2061       if (((from_bitField0_ & 0x00000002) != 0)) {
2062         result.description_ = description_;
2063       }
2064       if (((from_bitField0_ & 0x00000004) != 0)) {
2065         result.recommenderSubtype_ = recommenderSubtype_;
2066       }
2067       if (((from_bitField0_ & 0x00000008) != 0)) {
2068         result.lastRefreshTime_ =
2069             lastRefreshTimeBuilder_ == null ? lastRefreshTime_ : lastRefreshTimeBuilder_.build();
2070       }
2071       if (((from_bitField0_ & 0x00000010) != 0)) {
2072         result.primaryImpact_ =
2073             primaryImpactBuilder_ == null ? primaryImpact_ : primaryImpactBuilder_.build();
2074       }
2075       if (((from_bitField0_ & 0x00000040) != 0)) {
2076         result.priority_ = priority_;
2077       }
2078       if (((from_bitField0_ & 0x00000080) != 0)) {
2079         result.content_ = contentBuilder_ == null ? content_ : contentBuilder_.build();
2080       }
2081       if (((from_bitField0_ & 0x00000100) != 0)) {
2082         result.stateInfo_ = stateInfoBuilder_ == null ? stateInfo_ : stateInfoBuilder_.build();
2083       }
2084       if (((from_bitField0_ & 0x00000200) != 0)) {
2085         result.etag_ = etag_;
2086       }
2087       if (((from_bitField0_ & 0x00000800) != 0)) {
2088         result.xorGroupId_ = xorGroupId_;
2089       }
2090     }
2091 
2092     @java.lang.Override
clone()2093     public Builder clone() {
2094       return super.clone();
2095     }
2096 
2097     @java.lang.Override
setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2098     public Builder setField(
2099         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2100       return super.setField(field, value);
2101     }
2102 
2103     @java.lang.Override
clearField(com.google.protobuf.Descriptors.FieldDescriptor field)2104     public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
2105       return super.clearField(field);
2106     }
2107 
2108     @java.lang.Override
clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof)2109     public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2110       return super.clearOneof(oneof);
2111     }
2112 
2113     @java.lang.Override
setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value)2114     public Builder setRepeatedField(
2115         com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
2116       return super.setRepeatedField(field, index, value);
2117     }
2118 
2119     @java.lang.Override
addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value)2120     public Builder addRepeatedField(
2121         com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
2122       return super.addRepeatedField(field, value);
2123     }
2124 
2125     @java.lang.Override
mergeFrom(com.google.protobuf.Message other)2126     public Builder mergeFrom(com.google.protobuf.Message other) {
2127       if (other instanceof com.google.cloud.recommender.v1.Recommendation) {
2128         return mergeFrom((com.google.cloud.recommender.v1.Recommendation) other);
2129       } else {
2130         super.mergeFrom(other);
2131         return this;
2132       }
2133     }
2134 
mergeFrom(com.google.cloud.recommender.v1.Recommendation other)2135     public Builder mergeFrom(com.google.cloud.recommender.v1.Recommendation other) {
2136       if (other == com.google.cloud.recommender.v1.Recommendation.getDefaultInstance()) return this;
2137       if (!other.getName().isEmpty()) {
2138         name_ = other.name_;
2139         bitField0_ |= 0x00000001;
2140         onChanged();
2141       }
2142       if (!other.getDescription().isEmpty()) {
2143         description_ = other.description_;
2144         bitField0_ |= 0x00000002;
2145         onChanged();
2146       }
2147       if (!other.getRecommenderSubtype().isEmpty()) {
2148         recommenderSubtype_ = other.recommenderSubtype_;
2149         bitField0_ |= 0x00000004;
2150         onChanged();
2151       }
2152       if (other.hasLastRefreshTime()) {
2153         mergeLastRefreshTime(other.getLastRefreshTime());
2154       }
2155       if (other.hasPrimaryImpact()) {
2156         mergePrimaryImpact(other.getPrimaryImpact());
2157       }
2158       if (additionalImpactBuilder_ == null) {
2159         if (!other.additionalImpact_.isEmpty()) {
2160           if (additionalImpact_.isEmpty()) {
2161             additionalImpact_ = other.additionalImpact_;
2162             bitField0_ = (bitField0_ & ~0x00000020);
2163           } else {
2164             ensureAdditionalImpactIsMutable();
2165             additionalImpact_.addAll(other.additionalImpact_);
2166           }
2167           onChanged();
2168         }
2169       } else {
2170         if (!other.additionalImpact_.isEmpty()) {
2171           if (additionalImpactBuilder_.isEmpty()) {
2172             additionalImpactBuilder_.dispose();
2173             additionalImpactBuilder_ = null;
2174             additionalImpact_ = other.additionalImpact_;
2175             bitField0_ = (bitField0_ & ~0x00000020);
2176             additionalImpactBuilder_ =
2177                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2178                     ? getAdditionalImpactFieldBuilder()
2179                     : null;
2180           } else {
2181             additionalImpactBuilder_.addAllMessages(other.additionalImpact_);
2182           }
2183         }
2184       }
2185       if (other.priority_ != 0) {
2186         setPriorityValue(other.getPriorityValue());
2187       }
2188       if (other.hasContent()) {
2189         mergeContent(other.getContent());
2190       }
2191       if (other.hasStateInfo()) {
2192         mergeStateInfo(other.getStateInfo());
2193       }
2194       if (!other.getEtag().isEmpty()) {
2195         etag_ = other.etag_;
2196         bitField0_ |= 0x00000200;
2197         onChanged();
2198       }
2199       if (associatedInsightsBuilder_ == null) {
2200         if (!other.associatedInsights_.isEmpty()) {
2201           if (associatedInsights_.isEmpty()) {
2202             associatedInsights_ = other.associatedInsights_;
2203             bitField0_ = (bitField0_ & ~0x00000400);
2204           } else {
2205             ensureAssociatedInsightsIsMutable();
2206             associatedInsights_.addAll(other.associatedInsights_);
2207           }
2208           onChanged();
2209         }
2210       } else {
2211         if (!other.associatedInsights_.isEmpty()) {
2212           if (associatedInsightsBuilder_.isEmpty()) {
2213             associatedInsightsBuilder_.dispose();
2214             associatedInsightsBuilder_ = null;
2215             associatedInsights_ = other.associatedInsights_;
2216             bitField0_ = (bitField0_ & ~0x00000400);
2217             associatedInsightsBuilder_ =
2218                 com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
2219                     ? getAssociatedInsightsFieldBuilder()
2220                     : null;
2221           } else {
2222             associatedInsightsBuilder_.addAllMessages(other.associatedInsights_);
2223           }
2224         }
2225       }
2226       if (!other.getXorGroupId().isEmpty()) {
2227         xorGroupId_ = other.xorGroupId_;
2228         bitField0_ |= 0x00000800;
2229         onChanged();
2230       }
2231       this.mergeUnknownFields(other.getUnknownFields());
2232       onChanged();
2233       return this;
2234     }
2235 
2236     @java.lang.Override
isInitialized()2237     public final boolean isInitialized() {
2238       return true;
2239     }
2240 
2241     @java.lang.Override
mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)2242     public Builder mergeFrom(
2243         com.google.protobuf.CodedInputStream input,
2244         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2245         throws java.io.IOException {
2246       if (extensionRegistry == null) {
2247         throw new java.lang.NullPointerException();
2248       }
2249       try {
2250         boolean done = false;
2251         while (!done) {
2252           int tag = input.readTag();
2253           switch (tag) {
2254             case 0:
2255               done = true;
2256               break;
2257             case 10:
2258               {
2259                 name_ = input.readStringRequireUtf8();
2260                 bitField0_ |= 0x00000001;
2261                 break;
2262               } // case 10
2263             case 18:
2264               {
2265                 description_ = input.readStringRequireUtf8();
2266                 bitField0_ |= 0x00000002;
2267                 break;
2268               } // case 18
2269             case 34:
2270               {
2271                 input.readMessage(getLastRefreshTimeFieldBuilder().getBuilder(), extensionRegistry);
2272                 bitField0_ |= 0x00000008;
2273                 break;
2274               } // case 34
2275             case 42:
2276               {
2277                 input.readMessage(getPrimaryImpactFieldBuilder().getBuilder(), extensionRegistry);
2278                 bitField0_ |= 0x00000010;
2279                 break;
2280               } // case 42
2281             case 50:
2282               {
2283                 com.google.cloud.recommender.v1.Impact m =
2284                     input.readMessage(
2285                         com.google.cloud.recommender.v1.Impact.parser(), extensionRegistry);
2286                 if (additionalImpactBuilder_ == null) {
2287                   ensureAdditionalImpactIsMutable();
2288                   additionalImpact_.add(m);
2289                 } else {
2290                   additionalImpactBuilder_.addMessage(m);
2291                 }
2292                 break;
2293               } // case 50
2294             case 58:
2295               {
2296                 input.readMessage(getContentFieldBuilder().getBuilder(), extensionRegistry);
2297                 bitField0_ |= 0x00000080;
2298                 break;
2299               } // case 58
2300             case 82:
2301               {
2302                 input.readMessage(getStateInfoFieldBuilder().getBuilder(), extensionRegistry);
2303                 bitField0_ |= 0x00000100;
2304                 break;
2305               } // case 82
2306             case 90:
2307               {
2308                 etag_ = input.readStringRequireUtf8();
2309                 bitField0_ |= 0x00000200;
2310                 break;
2311               } // case 90
2312             case 98:
2313               {
2314                 recommenderSubtype_ = input.readStringRequireUtf8();
2315                 bitField0_ |= 0x00000004;
2316                 break;
2317               } // case 98
2318             case 114:
2319               {
2320                 com.google.cloud.recommender.v1.Recommendation.InsightReference m =
2321                     input.readMessage(
2322                         com.google.cloud.recommender.v1.Recommendation.InsightReference.parser(),
2323                         extensionRegistry);
2324                 if (associatedInsightsBuilder_ == null) {
2325                   ensureAssociatedInsightsIsMutable();
2326                   associatedInsights_.add(m);
2327                 } else {
2328                   associatedInsightsBuilder_.addMessage(m);
2329                 }
2330                 break;
2331               } // case 114
2332             case 136:
2333               {
2334                 priority_ = input.readEnum();
2335                 bitField0_ |= 0x00000040;
2336                 break;
2337               } // case 136
2338             case 146:
2339               {
2340                 xorGroupId_ = input.readStringRequireUtf8();
2341                 bitField0_ |= 0x00000800;
2342                 break;
2343               } // case 146
2344             default:
2345               {
2346                 if (!super.parseUnknownField(input, extensionRegistry, tag)) {
2347                   done = true; // was an endgroup tag
2348                 }
2349                 break;
2350               } // default:
2351           } // switch (tag)
2352         } // while (!done)
2353       } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2354         throw e.unwrapIOException();
2355       } finally {
2356         onChanged();
2357       } // finally
2358       return this;
2359     }
2360 
2361     private int bitField0_;
2362 
2363     private java.lang.Object name_ = "";
2364     /**
2365      *
2366      *
2367      * <pre>
2368      * Name of recommendation.
2369      * </pre>
2370      *
2371      * <code>string name = 1;</code>
2372      *
2373      * @return The name.
2374      */
getName()2375     public java.lang.String getName() {
2376       java.lang.Object ref = name_;
2377       if (!(ref instanceof java.lang.String)) {
2378         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2379         java.lang.String s = bs.toStringUtf8();
2380         name_ = s;
2381         return s;
2382       } else {
2383         return (java.lang.String) ref;
2384       }
2385     }
2386     /**
2387      *
2388      *
2389      * <pre>
2390      * Name of recommendation.
2391      * </pre>
2392      *
2393      * <code>string name = 1;</code>
2394      *
2395      * @return The bytes for name.
2396      */
getNameBytes()2397     public com.google.protobuf.ByteString getNameBytes() {
2398       java.lang.Object ref = name_;
2399       if (ref instanceof String) {
2400         com.google.protobuf.ByteString b =
2401             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2402         name_ = b;
2403         return b;
2404       } else {
2405         return (com.google.protobuf.ByteString) ref;
2406       }
2407     }
2408     /**
2409      *
2410      *
2411      * <pre>
2412      * Name of recommendation.
2413      * </pre>
2414      *
2415      * <code>string name = 1;</code>
2416      *
2417      * @param value The name to set.
2418      * @return This builder for chaining.
2419      */
setName(java.lang.String value)2420     public Builder setName(java.lang.String value) {
2421       if (value == null) {
2422         throw new NullPointerException();
2423       }
2424       name_ = value;
2425       bitField0_ |= 0x00000001;
2426       onChanged();
2427       return this;
2428     }
2429     /**
2430      *
2431      *
2432      * <pre>
2433      * Name of recommendation.
2434      * </pre>
2435      *
2436      * <code>string name = 1;</code>
2437      *
2438      * @return This builder for chaining.
2439      */
clearName()2440     public Builder clearName() {
2441       name_ = getDefaultInstance().getName();
2442       bitField0_ = (bitField0_ & ~0x00000001);
2443       onChanged();
2444       return this;
2445     }
2446     /**
2447      *
2448      *
2449      * <pre>
2450      * Name of recommendation.
2451      * </pre>
2452      *
2453      * <code>string name = 1;</code>
2454      *
2455      * @param value The bytes for name to set.
2456      * @return This builder for chaining.
2457      */
setNameBytes(com.google.protobuf.ByteString value)2458     public Builder setNameBytes(com.google.protobuf.ByteString value) {
2459       if (value == null) {
2460         throw new NullPointerException();
2461       }
2462       checkByteStringIsUtf8(value);
2463       name_ = value;
2464       bitField0_ |= 0x00000001;
2465       onChanged();
2466       return this;
2467     }
2468 
2469     private java.lang.Object description_ = "";
2470     /**
2471      *
2472      *
2473      * <pre>
2474      * Free-form human readable summary in English. The maximum length is 500
2475      * characters.
2476      * </pre>
2477      *
2478      * <code>string description = 2;</code>
2479      *
2480      * @return The description.
2481      */
getDescription()2482     public java.lang.String getDescription() {
2483       java.lang.Object ref = description_;
2484       if (!(ref instanceof java.lang.String)) {
2485         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2486         java.lang.String s = bs.toStringUtf8();
2487         description_ = s;
2488         return s;
2489       } else {
2490         return (java.lang.String) ref;
2491       }
2492     }
2493     /**
2494      *
2495      *
2496      * <pre>
2497      * Free-form human readable summary in English. The maximum length is 500
2498      * characters.
2499      * </pre>
2500      *
2501      * <code>string description = 2;</code>
2502      *
2503      * @return The bytes for description.
2504      */
getDescriptionBytes()2505     public com.google.protobuf.ByteString getDescriptionBytes() {
2506       java.lang.Object ref = description_;
2507       if (ref instanceof String) {
2508         com.google.protobuf.ByteString b =
2509             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2510         description_ = b;
2511         return b;
2512       } else {
2513         return (com.google.protobuf.ByteString) ref;
2514       }
2515     }
2516     /**
2517      *
2518      *
2519      * <pre>
2520      * Free-form human readable summary in English. The maximum length is 500
2521      * characters.
2522      * </pre>
2523      *
2524      * <code>string description = 2;</code>
2525      *
2526      * @param value The description to set.
2527      * @return This builder for chaining.
2528      */
setDescription(java.lang.String value)2529     public Builder setDescription(java.lang.String value) {
2530       if (value == null) {
2531         throw new NullPointerException();
2532       }
2533       description_ = value;
2534       bitField0_ |= 0x00000002;
2535       onChanged();
2536       return this;
2537     }
2538     /**
2539      *
2540      *
2541      * <pre>
2542      * Free-form human readable summary in English. The maximum length is 500
2543      * characters.
2544      * </pre>
2545      *
2546      * <code>string description = 2;</code>
2547      *
2548      * @return This builder for chaining.
2549      */
clearDescription()2550     public Builder clearDescription() {
2551       description_ = getDefaultInstance().getDescription();
2552       bitField0_ = (bitField0_ & ~0x00000002);
2553       onChanged();
2554       return this;
2555     }
2556     /**
2557      *
2558      *
2559      * <pre>
2560      * Free-form human readable summary in English. The maximum length is 500
2561      * characters.
2562      * </pre>
2563      *
2564      * <code>string description = 2;</code>
2565      *
2566      * @param value The bytes for description to set.
2567      * @return This builder for chaining.
2568      */
setDescriptionBytes(com.google.protobuf.ByteString value)2569     public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
2570       if (value == null) {
2571         throw new NullPointerException();
2572       }
2573       checkByteStringIsUtf8(value);
2574       description_ = value;
2575       bitField0_ |= 0x00000002;
2576       onChanged();
2577       return this;
2578     }
2579 
2580     private java.lang.Object recommenderSubtype_ = "";
2581     /**
2582      *
2583      *
2584      * <pre>
2585      * Contains an identifier for a subtype of recommendations produced for the
2586      * same recommender. Subtype is a function of content and impact, meaning a
2587      * new subtype might be added when significant changes to `content` or
2588      * `primary_impact.category` are introduced. See the Recommenders section
2589      * to see a list of subtypes for a given Recommender.
2590      * Examples:
2591      *   For recommender = "google.iam.policy.Recommender",
2592      *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
2593      * </pre>
2594      *
2595      * <code>string recommender_subtype = 12;</code>
2596      *
2597      * @return The recommenderSubtype.
2598      */
getRecommenderSubtype()2599     public java.lang.String getRecommenderSubtype() {
2600       java.lang.Object ref = recommenderSubtype_;
2601       if (!(ref instanceof java.lang.String)) {
2602         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
2603         java.lang.String s = bs.toStringUtf8();
2604         recommenderSubtype_ = s;
2605         return s;
2606       } else {
2607         return (java.lang.String) ref;
2608       }
2609     }
2610     /**
2611      *
2612      *
2613      * <pre>
2614      * Contains an identifier for a subtype of recommendations produced for the
2615      * same recommender. Subtype is a function of content and impact, meaning a
2616      * new subtype might be added when significant changes to `content` or
2617      * `primary_impact.category` are introduced. See the Recommenders section
2618      * to see a list of subtypes for a given Recommender.
2619      * Examples:
2620      *   For recommender = "google.iam.policy.Recommender",
2621      *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
2622      * </pre>
2623      *
2624      * <code>string recommender_subtype = 12;</code>
2625      *
2626      * @return The bytes for recommenderSubtype.
2627      */
getRecommenderSubtypeBytes()2628     public com.google.protobuf.ByteString getRecommenderSubtypeBytes() {
2629       java.lang.Object ref = recommenderSubtype_;
2630       if (ref instanceof String) {
2631         com.google.protobuf.ByteString b =
2632             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
2633         recommenderSubtype_ = b;
2634         return b;
2635       } else {
2636         return (com.google.protobuf.ByteString) ref;
2637       }
2638     }
2639     /**
2640      *
2641      *
2642      * <pre>
2643      * Contains an identifier for a subtype of recommendations produced for the
2644      * same recommender. Subtype is a function of content and impact, meaning a
2645      * new subtype might be added when significant changes to `content` or
2646      * `primary_impact.category` are introduced. See the Recommenders section
2647      * to see a list of subtypes for a given Recommender.
2648      * Examples:
2649      *   For recommender = "google.iam.policy.Recommender",
2650      *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
2651      * </pre>
2652      *
2653      * <code>string recommender_subtype = 12;</code>
2654      *
2655      * @param value The recommenderSubtype to set.
2656      * @return This builder for chaining.
2657      */
setRecommenderSubtype(java.lang.String value)2658     public Builder setRecommenderSubtype(java.lang.String value) {
2659       if (value == null) {
2660         throw new NullPointerException();
2661       }
2662       recommenderSubtype_ = value;
2663       bitField0_ |= 0x00000004;
2664       onChanged();
2665       return this;
2666     }
2667     /**
2668      *
2669      *
2670      * <pre>
2671      * Contains an identifier for a subtype of recommendations produced for the
2672      * same recommender. Subtype is a function of content and impact, meaning a
2673      * new subtype might be added when significant changes to `content` or
2674      * `primary_impact.category` are introduced. See the Recommenders section
2675      * to see a list of subtypes for a given Recommender.
2676      * Examples:
2677      *   For recommender = "google.iam.policy.Recommender",
2678      *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
2679      * </pre>
2680      *
2681      * <code>string recommender_subtype = 12;</code>
2682      *
2683      * @return This builder for chaining.
2684      */
clearRecommenderSubtype()2685     public Builder clearRecommenderSubtype() {
2686       recommenderSubtype_ = getDefaultInstance().getRecommenderSubtype();
2687       bitField0_ = (bitField0_ & ~0x00000004);
2688       onChanged();
2689       return this;
2690     }
2691     /**
2692      *
2693      *
2694      * <pre>
2695      * Contains an identifier for a subtype of recommendations produced for the
2696      * same recommender. Subtype is a function of content and impact, meaning a
2697      * new subtype might be added when significant changes to `content` or
2698      * `primary_impact.category` are introduced. See the Recommenders section
2699      * to see a list of subtypes for a given Recommender.
2700      * Examples:
2701      *   For recommender = "google.iam.policy.Recommender",
2702      *   recommender_subtype can be one of "REMOVE_ROLE"/"REPLACE_ROLE"
2703      * </pre>
2704      *
2705      * <code>string recommender_subtype = 12;</code>
2706      *
2707      * @param value The bytes for recommenderSubtype to set.
2708      * @return This builder for chaining.
2709      */
setRecommenderSubtypeBytes(com.google.protobuf.ByteString value)2710     public Builder setRecommenderSubtypeBytes(com.google.protobuf.ByteString value) {
2711       if (value == null) {
2712         throw new NullPointerException();
2713       }
2714       checkByteStringIsUtf8(value);
2715       recommenderSubtype_ = value;
2716       bitField0_ |= 0x00000004;
2717       onChanged();
2718       return this;
2719     }
2720 
2721     private com.google.protobuf.Timestamp lastRefreshTime_;
2722     private com.google.protobuf.SingleFieldBuilderV3<
2723             com.google.protobuf.Timestamp,
2724             com.google.protobuf.Timestamp.Builder,
2725             com.google.protobuf.TimestampOrBuilder>
2726         lastRefreshTimeBuilder_;
2727     /**
2728      *
2729      *
2730      * <pre>
2731      * Last time this recommendation was refreshed by the system that created it
2732      * in the first place.
2733      * </pre>
2734      *
2735      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2736      *
2737      * @return Whether the lastRefreshTime field is set.
2738      */
hasLastRefreshTime()2739     public boolean hasLastRefreshTime() {
2740       return ((bitField0_ & 0x00000008) != 0);
2741     }
2742     /**
2743      *
2744      *
2745      * <pre>
2746      * Last time this recommendation was refreshed by the system that created it
2747      * in the first place.
2748      * </pre>
2749      *
2750      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2751      *
2752      * @return The lastRefreshTime.
2753      */
getLastRefreshTime()2754     public com.google.protobuf.Timestamp getLastRefreshTime() {
2755       if (lastRefreshTimeBuilder_ == null) {
2756         return lastRefreshTime_ == null
2757             ? com.google.protobuf.Timestamp.getDefaultInstance()
2758             : lastRefreshTime_;
2759       } else {
2760         return lastRefreshTimeBuilder_.getMessage();
2761       }
2762     }
2763     /**
2764      *
2765      *
2766      * <pre>
2767      * Last time this recommendation was refreshed by the system that created it
2768      * in the first place.
2769      * </pre>
2770      *
2771      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2772      */
setLastRefreshTime(com.google.protobuf.Timestamp value)2773     public Builder setLastRefreshTime(com.google.protobuf.Timestamp value) {
2774       if (lastRefreshTimeBuilder_ == null) {
2775         if (value == null) {
2776           throw new NullPointerException();
2777         }
2778         lastRefreshTime_ = value;
2779       } else {
2780         lastRefreshTimeBuilder_.setMessage(value);
2781       }
2782       bitField0_ |= 0x00000008;
2783       onChanged();
2784       return this;
2785     }
2786     /**
2787      *
2788      *
2789      * <pre>
2790      * Last time this recommendation was refreshed by the system that created it
2791      * in the first place.
2792      * </pre>
2793      *
2794      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2795      */
setLastRefreshTime(com.google.protobuf.Timestamp.Builder builderForValue)2796     public Builder setLastRefreshTime(com.google.protobuf.Timestamp.Builder builderForValue) {
2797       if (lastRefreshTimeBuilder_ == null) {
2798         lastRefreshTime_ = builderForValue.build();
2799       } else {
2800         lastRefreshTimeBuilder_.setMessage(builderForValue.build());
2801       }
2802       bitField0_ |= 0x00000008;
2803       onChanged();
2804       return this;
2805     }
2806     /**
2807      *
2808      *
2809      * <pre>
2810      * Last time this recommendation was refreshed by the system that created it
2811      * in the first place.
2812      * </pre>
2813      *
2814      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2815      */
mergeLastRefreshTime(com.google.protobuf.Timestamp value)2816     public Builder mergeLastRefreshTime(com.google.protobuf.Timestamp value) {
2817       if (lastRefreshTimeBuilder_ == null) {
2818         if (((bitField0_ & 0x00000008) != 0)
2819             && lastRefreshTime_ != null
2820             && lastRefreshTime_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
2821           getLastRefreshTimeBuilder().mergeFrom(value);
2822         } else {
2823           lastRefreshTime_ = value;
2824         }
2825       } else {
2826         lastRefreshTimeBuilder_.mergeFrom(value);
2827       }
2828       bitField0_ |= 0x00000008;
2829       onChanged();
2830       return this;
2831     }
2832     /**
2833      *
2834      *
2835      * <pre>
2836      * Last time this recommendation was refreshed by the system that created it
2837      * in the first place.
2838      * </pre>
2839      *
2840      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2841      */
clearLastRefreshTime()2842     public Builder clearLastRefreshTime() {
2843       bitField0_ = (bitField0_ & ~0x00000008);
2844       lastRefreshTime_ = null;
2845       if (lastRefreshTimeBuilder_ != null) {
2846         lastRefreshTimeBuilder_.dispose();
2847         lastRefreshTimeBuilder_ = null;
2848       }
2849       onChanged();
2850       return this;
2851     }
2852     /**
2853      *
2854      *
2855      * <pre>
2856      * Last time this recommendation was refreshed by the system that created it
2857      * in the first place.
2858      * </pre>
2859      *
2860      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2861      */
getLastRefreshTimeBuilder()2862     public com.google.protobuf.Timestamp.Builder getLastRefreshTimeBuilder() {
2863       bitField0_ |= 0x00000008;
2864       onChanged();
2865       return getLastRefreshTimeFieldBuilder().getBuilder();
2866     }
2867     /**
2868      *
2869      *
2870      * <pre>
2871      * Last time this recommendation was refreshed by the system that created it
2872      * in the first place.
2873      * </pre>
2874      *
2875      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2876      */
getLastRefreshTimeOrBuilder()2877     public com.google.protobuf.TimestampOrBuilder getLastRefreshTimeOrBuilder() {
2878       if (lastRefreshTimeBuilder_ != null) {
2879         return lastRefreshTimeBuilder_.getMessageOrBuilder();
2880       } else {
2881         return lastRefreshTime_ == null
2882             ? com.google.protobuf.Timestamp.getDefaultInstance()
2883             : lastRefreshTime_;
2884       }
2885     }
2886     /**
2887      *
2888      *
2889      * <pre>
2890      * Last time this recommendation was refreshed by the system that created it
2891      * in the first place.
2892      * </pre>
2893      *
2894      * <code>.google.protobuf.Timestamp last_refresh_time = 4;</code>
2895      */
2896     private com.google.protobuf.SingleFieldBuilderV3<
2897             com.google.protobuf.Timestamp,
2898             com.google.protobuf.Timestamp.Builder,
2899             com.google.protobuf.TimestampOrBuilder>
getLastRefreshTimeFieldBuilder()2900         getLastRefreshTimeFieldBuilder() {
2901       if (lastRefreshTimeBuilder_ == null) {
2902         lastRefreshTimeBuilder_ =
2903             new com.google.protobuf.SingleFieldBuilderV3<
2904                 com.google.protobuf.Timestamp,
2905                 com.google.protobuf.Timestamp.Builder,
2906                 com.google.protobuf.TimestampOrBuilder>(
2907                 getLastRefreshTime(), getParentForChildren(), isClean());
2908         lastRefreshTime_ = null;
2909       }
2910       return lastRefreshTimeBuilder_;
2911     }
2912 
2913     private com.google.cloud.recommender.v1.Impact primaryImpact_;
2914     private com.google.protobuf.SingleFieldBuilderV3<
2915             com.google.cloud.recommender.v1.Impact,
2916             com.google.cloud.recommender.v1.Impact.Builder,
2917             com.google.cloud.recommender.v1.ImpactOrBuilder>
2918         primaryImpactBuilder_;
2919     /**
2920      *
2921      *
2922      * <pre>
2923      * The primary impact that this recommendation can have while trying to
2924      * optimize for one category.
2925      * </pre>
2926      *
2927      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
2928      *
2929      * @return Whether the primaryImpact field is set.
2930      */
hasPrimaryImpact()2931     public boolean hasPrimaryImpact() {
2932       return ((bitField0_ & 0x00000010) != 0);
2933     }
2934     /**
2935      *
2936      *
2937      * <pre>
2938      * The primary impact that this recommendation can have while trying to
2939      * optimize for one category.
2940      * </pre>
2941      *
2942      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
2943      *
2944      * @return The primaryImpact.
2945      */
getPrimaryImpact()2946     public com.google.cloud.recommender.v1.Impact getPrimaryImpact() {
2947       if (primaryImpactBuilder_ == null) {
2948         return primaryImpact_ == null
2949             ? com.google.cloud.recommender.v1.Impact.getDefaultInstance()
2950             : primaryImpact_;
2951       } else {
2952         return primaryImpactBuilder_.getMessage();
2953       }
2954     }
2955     /**
2956      *
2957      *
2958      * <pre>
2959      * The primary impact that this recommendation can have while trying to
2960      * optimize for one category.
2961      * </pre>
2962      *
2963      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
2964      */
setPrimaryImpact(com.google.cloud.recommender.v1.Impact value)2965     public Builder setPrimaryImpact(com.google.cloud.recommender.v1.Impact value) {
2966       if (primaryImpactBuilder_ == null) {
2967         if (value == null) {
2968           throw new NullPointerException();
2969         }
2970         primaryImpact_ = value;
2971       } else {
2972         primaryImpactBuilder_.setMessage(value);
2973       }
2974       bitField0_ |= 0x00000010;
2975       onChanged();
2976       return this;
2977     }
2978     /**
2979      *
2980      *
2981      * <pre>
2982      * The primary impact that this recommendation can have while trying to
2983      * optimize for one category.
2984      * </pre>
2985      *
2986      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
2987      */
setPrimaryImpact( com.google.cloud.recommender.v1.Impact.Builder builderForValue)2988     public Builder setPrimaryImpact(
2989         com.google.cloud.recommender.v1.Impact.Builder builderForValue) {
2990       if (primaryImpactBuilder_ == null) {
2991         primaryImpact_ = builderForValue.build();
2992       } else {
2993         primaryImpactBuilder_.setMessage(builderForValue.build());
2994       }
2995       bitField0_ |= 0x00000010;
2996       onChanged();
2997       return this;
2998     }
2999     /**
3000      *
3001      *
3002      * <pre>
3003      * The primary impact that this recommendation can have while trying to
3004      * optimize for one category.
3005      * </pre>
3006      *
3007      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
3008      */
mergePrimaryImpact(com.google.cloud.recommender.v1.Impact value)3009     public Builder mergePrimaryImpact(com.google.cloud.recommender.v1.Impact value) {
3010       if (primaryImpactBuilder_ == null) {
3011         if (((bitField0_ & 0x00000010) != 0)
3012             && primaryImpact_ != null
3013             && primaryImpact_ != com.google.cloud.recommender.v1.Impact.getDefaultInstance()) {
3014           getPrimaryImpactBuilder().mergeFrom(value);
3015         } else {
3016           primaryImpact_ = value;
3017         }
3018       } else {
3019         primaryImpactBuilder_.mergeFrom(value);
3020       }
3021       bitField0_ |= 0x00000010;
3022       onChanged();
3023       return this;
3024     }
3025     /**
3026      *
3027      *
3028      * <pre>
3029      * The primary impact that this recommendation can have while trying to
3030      * optimize for one category.
3031      * </pre>
3032      *
3033      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
3034      */
clearPrimaryImpact()3035     public Builder clearPrimaryImpact() {
3036       bitField0_ = (bitField0_ & ~0x00000010);
3037       primaryImpact_ = null;
3038       if (primaryImpactBuilder_ != null) {
3039         primaryImpactBuilder_.dispose();
3040         primaryImpactBuilder_ = null;
3041       }
3042       onChanged();
3043       return this;
3044     }
3045     /**
3046      *
3047      *
3048      * <pre>
3049      * The primary impact that this recommendation can have while trying to
3050      * optimize for one category.
3051      * </pre>
3052      *
3053      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
3054      */
getPrimaryImpactBuilder()3055     public com.google.cloud.recommender.v1.Impact.Builder getPrimaryImpactBuilder() {
3056       bitField0_ |= 0x00000010;
3057       onChanged();
3058       return getPrimaryImpactFieldBuilder().getBuilder();
3059     }
3060     /**
3061      *
3062      *
3063      * <pre>
3064      * The primary impact that this recommendation can have while trying to
3065      * optimize for one category.
3066      * </pre>
3067      *
3068      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
3069      */
getPrimaryImpactOrBuilder()3070     public com.google.cloud.recommender.v1.ImpactOrBuilder getPrimaryImpactOrBuilder() {
3071       if (primaryImpactBuilder_ != null) {
3072         return primaryImpactBuilder_.getMessageOrBuilder();
3073       } else {
3074         return primaryImpact_ == null
3075             ? com.google.cloud.recommender.v1.Impact.getDefaultInstance()
3076             : primaryImpact_;
3077       }
3078     }
3079     /**
3080      *
3081      *
3082      * <pre>
3083      * The primary impact that this recommendation can have while trying to
3084      * optimize for one category.
3085      * </pre>
3086      *
3087      * <code>.google.cloud.recommender.v1.Impact primary_impact = 5;</code>
3088      */
3089     private com.google.protobuf.SingleFieldBuilderV3<
3090             com.google.cloud.recommender.v1.Impact,
3091             com.google.cloud.recommender.v1.Impact.Builder,
3092             com.google.cloud.recommender.v1.ImpactOrBuilder>
getPrimaryImpactFieldBuilder()3093         getPrimaryImpactFieldBuilder() {
3094       if (primaryImpactBuilder_ == null) {
3095         primaryImpactBuilder_ =
3096             new com.google.protobuf.SingleFieldBuilderV3<
3097                 com.google.cloud.recommender.v1.Impact,
3098                 com.google.cloud.recommender.v1.Impact.Builder,
3099                 com.google.cloud.recommender.v1.ImpactOrBuilder>(
3100                 getPrimaryImpact(), getParentForChildren(), isClean());
3101         primaryImpact_ = null;
3102       }
3103       return primaryImpactBuilder_;
3104     }
3105 
3106     private java.util.List<com.google.cloud.recommender.v1.Impact> additionalImpact_ =
3107         java.util.Collections.emptyList();
3108 
ensureAdditionalImpactIsMutable()3109     private void ensureAdditionalImpactIsMutable() {
3110       if (!((bitField0_ & 0x00000020) != 0)) {
3111         additionalImpact_ =
3112             new java.util.ArrayList<com.google.cloud.recommender.v1.Impact>(additionalImpact_);
3113         bitField0_ |= 0x00000020;
3114       }
3115     }
3116 
3117     private com.google.protobuf.RepeatedFieldBuilderV3<
3118             com.google.cloud.recommender.v1.Impact,
3119             com.google.cloud.recommender.v1.Impact.Builder,
3120             com.google.cloud.recommender.v1.ImpactOrBuilder>
3121         additionalImpactBuilder_;
3122 
3123     /**
3124      *
3125      *
3126      * <pre>
3127      * Optional set of additional impact that this recommendation may have when
3128      * trying to optimize for the primary category. These may be positive
3129      * or negative.
3130      * </pre>
3131      *
3132      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3133      */
getAdditionalImpactList()3134     public java.util.List<com.google.cloud.recommender.v1.Impact> getAdditionalImpactList() {
3135       if (additionalImpactBuilder_ == null) {
3136         return java.util.Collections.unmodifiableList(additionalImpact_);
3137       } else {
3138         return additionalImpactBuilder_.getMessageList();
3139       }
3140     }
3141     /**
3142      *
3143      *
3144      * <pre>
3145      * Optional set of additional impact that this recommendation may have when
3146      * trying to optimize for the primary category. These may be positive
3147      * or negative.
3148      * </pre>
3149      *
3150      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3151      */
getAdditionalImpactCount()3152     public int getAdditionalImpactCount() {
3153       if (additionalImpactBuilder_ == null) {
3154         return additionalImpact_.size();
3155       } else {
3156         return additionalImpactBuilder_.getCount();
3157       }
3158     }
3159     /**
3160      *
3161      *
3162      * <pre>
3163      * Optional set of additional impact that this recommendation may have when
3164      * trying to optimize for the primary category. These may be positive
3165      * or negative.
3166      * </pre>
3167      *
3168      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3169      */
getAdditionalImpact(int index)3170     public com.google.cloud.recommender.v1.Impact getAdditionalImpact(int index) {
3171       if (additionalImpactBuilder_ == null) {
3172         return additionalImpact_.get(index);
3173       } else {
3174         return additionalImpactBuilder_.getMessage(index);
3175       }
3176     }
3177     /**
3178      *
3179      *
3180      * <pre>
3181      * Optional set of additional impact that this recommendation may have when
3182      * trying to optimize for the primary category. These may be positive
3183      * or negative.
3184      * </pre>
3185      *
3186      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3187      */
setAdditionalImpact(int index, com.google.cloud.recommender.v1.Impact value)3188     public Builder setAdditionalImpact(int index, com.google.cloud.recommender.v1.Impact value) {
3189       if (additionalImpactBuilder_ == null) {
3190         if (value == null) {
3191           throw new NullPointerException();
3192         }
3193         ensureAdditionalImpactIsMutable();
3194         additionalImpact_.set(index, value);
3195         onChanged();
3196       } else {
3197         additionalImpactBuilder_.setMessage(index, value);
3198       }
3199       return this;
3200     }
3201     /**
3202      *
3203      *
3204      * <pre>
3205      * Optional set of additional impact that this recommendation may have when
3206      * trying to optimize for the primary category. These may be positive
3207      * or negative.
3208      * </pre>
3209      *
3210      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3211      */
setAdditionalImpact( int index, com.google.cloud.recommender.v1.Impact.Builder builderForValue)3212     public Builder setAdditionalImpact(
3213         int index, com.google.cloud.recommender.v1.Impact.Builder builderForValue) {
3214       if (additionalImpactBuilder_ == null) {
3215         ensureAdditionalImpactIsMutable();
3216         additionalImpact_.set(index, builderForValue.build());
3217         onChanged();
3218       } else {
3219         additionalImpactBuilder_.setMessage(index, builderForValue.build());
3220       }
3221       return this;
3222     }
3223     /**
3224      *
3225      *
3226      * <pre>
3227      * Optional set of additional impact that this recommendation may have when
3228      * trying to optimize for the primary category. These may be positive
3229      * or negative.
3230      * </pre>
3231      *
3232      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3233      */
addAdditionalImpact(com.google.cloud.recommender.v1.Impact value)3234     public Builder addAdditionalImpact(com.google.cloud.recommender.v1.Impact value) {
3235       if (additionalImpactBuilder_ == null) {
3236         if (value == null) {
3237           throw new NullPointerException();
3238         }
3239         ensureAdditionalImpactIsMutable();
3240         additionalImpact_.add(value);
3241         onChanged();
3242       } else {
3243         additionalImpactBuilder_.addMessage(value);
3244       }
3245       return this;
3246     }
3247     /**
3248      *
3249      *
3250      * <pre>
3251      * Optional set of additional impact that this recommendation may have when
3252      * trying to optimize for the primary category. These may be positive
3253      * or negative.
3254      * </pre>
3255      *
3256      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3257      */
addAdditionalImpact(int index, com.google.cloud.recommender.v1.Impact value)3258     public Builder addAdditionalImpact(int index, com.google.cloud.recommender.v1.Impact value) {
3259       if (additionalImpactBuilder_ == null) {
3260         if (value == null) {
3261           throw new NullPointerException();
3262         }
3263         ensureAdditionalImpactIsMutable();
3264         additionalImpact_.add(index, value);
3265         onChanged();
3266       } else {
3267         additionalImpactBuilder_.addMessage(index, value);
3268       }
3269       return this;
3270     }
3271     /**
3272      *
3273      *
3274      * <pre>
3275      * Optional set of additional impact that this recommendation may have when
3276      * trying to optimize for the primary category. These may be positive
3277      * or negative.
3278      * </pre>
3279      *
3280      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3281      */
addAdditionalImpact( com.google.cloud.recommender.v1.Impact.Builder builderForValue)3282     public Builder addAdditionalImpact(
3283         com.google.cloud.recommender.v1.Impact.Builder builderForValue) {
3284       if (additionalImpactBuilder_ == null) {
3285         ensureAdditionalImpactIsMutable();
3286         additionalImpact_.add(builderForValue.build());
3287         onChanged();
3288       } else {
3289         additionalImpactBuilder_.addMessage(builderForValue.build());
3290       }
3291       return this;
3292     }
3293     /**
3294      *
3295      *
3296      * <pre>
3297      * Optional set of additional impact that this recommendation may have when
3298      * trying to optimize for the primary category. These may be positive
3299      * or negative.
3300      * </pre>
3301      *
3302      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3303      */
addAdditionalImpact( int index, com.google.cloud.recommender.v1.Impact.Builder builderForValue)3304     public Builder addAdditionalImpact(
3305         int index, com.google.cloud.recommender.v1.Impact.Builder builderForValue) {
3306       if (additionalImpactBuilder_ == null) {
3307         ensureAdditionalImpactIsMutable();
3308         additionalImpact_.add(index, builderForValue.build());
3309         onChanged();
3310       } else {
3311         additionalImpactBuilder_.addMessage(index, builderForValue.build());
3312       }
3313       return this;
3314     }
3315     /**
3316      *
3317      *
3318      * <pre>
3319      * Optional set of additional impact that this recommendation may have when
3320      * trying to optimize for the primary category. These may be positive
3321      * or negative.
3322      * </pre>
3323      *
3324      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3325      */
addAllAdditionalImpact( java.lang.Iterable<? extends com.google.cloud.recommender.v1.Impact> values)3326     public Builder addAllAdditionalImpact(
3327         java.lang.Iterable<? extends com.google.cloud.recommender.v1.Impact> values) {
3328       if (additionalImpactBuilder_ == null) {
3329         ensureAdditionalImpactIsMutable();
3330         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, additionalImpact_);
3331         onChanged();
3332       } else {
3333         additionalImpactBuilder_.addAllMessages(values);
3334       }
3335       return this;
3336     }
3337     /**
3338      *
3339      *
3340      * <pre>
3341      * Optional set of additional impact that this recommendation may have when
3342      * trying to optimize for the primary category. These may be positive
3343      * or negative.
3344      * </pre>
3345      *
3346      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3347      */
clearAdditionalImpact()3348     public Builder clearAdditionalImpact() {
3349       if (additionalImpactBuilder_ == null) {
3350         additionalImpact_ = java.util.Collections.emptyList();
3351         bitField0_ = (bitField0_ & ~0x00000020);
3352         onChanged();
3353       } else {
3354         additionalImpactBuilder_.clear();
3355       }
3356       return this;
3357     }
3358     /**
3359      *
3360      *
3361      * <pre>
3362      * Optional set of additional impact that this recommendation may have when
3363      * trying to optimize for the primary category. These may be positive
3364      * or negative.
3365      * </pre>
3366      *
3367      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3368      */
removeAdditionalImpact(int index)3369     public Builder removeAdditionalImpact(int index) {
3370       if (additionalImpactBuilder_ == null) {
3371         ensureAdditionalImpactIsMutable();
3372         additionalImpact_.remove(index);
3373         onChanged();
3374       } else {
3375         additionalImpactBuilder_.remove(index);
3376       }
3377       return this;
3378     }
3379     /**
3380      *
3381      *
3382      * <pre>
3383      * Optional set of additional impact that this recommendation may have when
3384      * trying to optimize for the primary category. These may be positive
3385      * or negative.
3386      * </pre>
3387      *
3388      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3389      */
getAdditionalImpactBuilder(int index)3390     public com.google.cloud.recommender.v1.Impact.Builder getAdditionalImpactBuilder(int index) {
3391       return getAdditionalImpactFieldBuilder().getBuilder(index);
3392     }
3393     /**
3394      *
3395      *
3396      * <pre>
3397      * Optional set of additional impact that this recommendation may have when
3398      * trying to optimize for the primary category. These may be positive
3399      * or negative.
3400      * </pre>
3401      *
3402      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3403      */
getAdditionalImpactOrBuilder(int index)3404     public com.google.cloud.recommender.v1.ImpactOrBuilder getAdditionalImpactOrBuilder(int index) {
3405       if (additionalImpactBuilder_ == null) {
3406         return additionalImpact_.get(index);
3407       } else {
3408         return additionalImpactBuilder_.getMessageOrBuilder(index);
3409       }
3410     }
3411     /**
3412      *
3413      *
3414      * <pre>
3415      * Optional set of additional impact that this recommendation may have when
3416      * trying to optimize for the primary category. These may be positive
3417      * or negative.
3418      * </pre>
3419      *
3420      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3421      */
3422     public java.util.List<? extends com.google.cloud.recommender.v1.ImpactOrBuilder>
getAdditionalImpactOrBuilderList()3423         getAdditionalImpactOrBuilderList() {
3424       if (additionalImpactBuilder_ != null) {
3425         return additionalImpactBuilder_.getMessageOrBuilderList();
3426       } else {
3427         return java.util.Collections.unmodifiableList(additionalImpact_);
3428       }
3429     }
3430     /**
3431      *
3432      *
3433      * <pre>
3434      * Optional set of additional impact that this recommendation may have when
3435      * trying to optimize for the primary category. These may be positive
3436      * or negative.
3437      * </pre>
3438      *
3439      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3440      */
addAdditionalImpactBuilder()3441     public com.google.cloud.recommender.v1.Impact.Builder addAdditionalImpactBuilder() {
3442       return getAdditionalImpactFieldBuilder()
3443           .addBuilder(com.google.cloud.recommender.v1.Impact.getDefaultInstance());
3444     }
3445     /**
3446      *
3447      *
3448      * <pre>
3449      * Optional set of additional impact that this recommendation may have when
3450      * trying to optimize for the primary category. These may be positive
3451      * or negative.
3452      * </pre>
3453      *
3454      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3455      */
addAdditionalImpactBuilder(int index)3456     public com.google.cloud.recommender.v1.Impact.Builder addAdditionalImpactBuilder(int index) {
3457       return getAdditionalImpactFieldBuilder()
3458           .addBuilder(index, com.google.cloud.recommender.v1.Impact.getDefaultInstance());
3459     }
3460     /**
3461      *
3462      *
3463      * <pre>
3464      * Optional set of additional impact that this recommendation may have when
3465      * trying to optimize for the primary category. These may be positive
3466      * or negative.
3467      * </pre>
3468      *
3469      * <code>repeated .google.cloud.recommender.v1.Impact additional_impact = 6;</code>
3470      */
3471     public java.util.List<com.google.cloud.recommender.v1.Impact.Builder>
getAdditionalImpactBuilderList()3472         getAdditionalImpactBuilderList() {
3473       return getAdditionalImpactFieldBuilder().getBuilderList();
3474     }
3475 
3476     private com.google.protobuf.RepeatedFieldBuilderV3<
3477             com.google.cloud.recommender.v1.Impact,
3478             com.google.cloud.recommender.v1.Impact.Builder,
3479             com.google.cloud.recommender.v1.ImpactOrBuilder>
getAdditionalImpactFieldBuilder()3480         getAdditionalImpactFieldBuilder() {
3481       if (additionalImpactBuilder_ == null) {
3482         additionalImpactBuilder_ =
3483             new com.google.protobuf.RepeatedFieldBuilderV3<
3484                 com.google.cloud.recommender.v1.Impact,
3485                 com.google.cloud.recommender.v1.Impact.Builder,
3486                 com.google.cloud.recommender.v1.ImpactOrBuilder>(
3487                 additionalImpact_,
3488                 ((bitField0_ & 0x00000020) != 0),
3489                 getParentForChildren(),
3490                 isClean());
3491         additionalImpact_ = null;
3492       }
3493       return additionalImpactBuilder_;
3494     }
3495 
3496     private int priority_ = 0;
3497     /**
3498      *
3499      *
3500      * <pre>
3501      * Recommendation's priority.
3502      * </pre>
3503      *
3504      * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
3505      *
3506      * @return The enum numeric value on the wire for priority.
3507      */
3508     @java.lang.Override
getPriorityValue()3509     public int getPriorityValue() {
3510       return priority_;
3511     }
3512     /**
3513      *
3514      *
3515      * <pre>
3516      * Recommendation's priority.
3517      * </pre>
3518      *
3519      * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
3520      *
3521      * @param value The enum numeric value on the wire for priority to set.
3522      * @return This builder for chaining.
3523      */
setPriorityValue(int value)3524     public Builder setPriorityValue(int value) {
3525       priority_ = value;
3526       bitField0_ |= 0x00000040;
3527       onChanged();
3528       return this;
3529     }
3530     /**
3531      *
3532      *
3533      * <pre>
3534      * Recommendation's priority.
3535      * </pre>
3536      *
3537      * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
3538      *
3539      * @return The priority.
3540      */
3541     @java.lang.Override
getPriority()3542     public com.google.cloud.recommender.v1.Recommendation.Priority getPriority() {
3543       com.google.cloud.recommender.v1.Recommendation.Priority result =
3544           com.google.cloud.recommender.v1.Recommendation.Priority.forNumber(priority_);
3545       return result == null
3546           ? com.google.cloud.recommender.v1.Recommendation.Priority.UNRECOGNIZED
3547           : result;
3548     }
3549     /**
3550      *
3551      *
3552      * <pre>
3553      * Recommendation's priority.
3554      * </pre>
3555      *
3556      * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
3557      *
3558      * @param value The priority to set.
3559      * @return This builder for chaining.
3560      */
setPriority(com.google.cloud.recommender.v1.Recommendation.Priority value)3561     public Builder setPriority(com.google.cloud.recommender.v1.Recommendation.Priority value) {
3562       if (value == null) {
3563         throw new NullPointerException();
3564       }
3565       bitField0_ |= 0x00000040;
3566       priority_ = value.getNumber();
3567       onChanged();
3568       return this;
3569     }
3570     /**
3571      *
3572      *
3573      * <pre>
3574      * Recommendation's priority.
3575      * </pre>
3576      *
3577      * <code>.google.cloud.recommender.v1.Recommendation.Priority priority = 17;</code>
3578      *
3579      * @return This builder for chaining.
3580      */
clearPriority()3581     public Builder clearPriority() {
3582       bitField0_ = (bitField0_ & ~0x00000040);
3583       priority_ = 0;
3584       onChanged();
3585       return this;
3586     }
3587 
3588     private com.google.cloud.recommender.v1.RecommendationContent content_;
3589     private com.google.protobuf.SingleFieldBuilderV3<
3590             com.google.cloud.recommender.v1.RecommendationContent,
3591             com.google.cloud.recommender.v1.RecommendationContent.Builder,
3592             com.google.cloud.recommender.v1.RecommendationContentOrBuilder>
3593         contentBuilder_;
3594     /**
3595      *
3596      *
3597      * <pre>
3598      * Content of the recommendation describing recommended changes to resources.
3599      * </pre>
3600      *
3601      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3602      *
3603      * @return Whether the content field is set.
3604      */
hasContent()3605     public boolean hasContent() {
3606       return ((bitField0_ & 0x00000080) != 0);
3607     }
3608     /**
3609      *
3610      *
3611      * <pre>
3612      * Content of the recommendation describing recommended changes to resources.
3613      * </pre>
3614      *
3615      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3616      *
3617      * @return The content.
3618      */
getContent()3619     public com.google.cloud.recommender.v1.RecommendationContent getContent() {
3620       if (contentBuilder_ == null) {
3621         return content_ == null
3622             ? com.google.cloud.recommender.v1.RecommendationContent.getDefaultInstance()
3623             : content_;
3624       } else {
3625         return contentBuilder_.getMessage();
3626       }
3627     }
3628     /**
3629      *
3630      *
3631      * <pre>
3632      * Content of the recommendation describing recommended changes to resources.
3633      * </pre>
3634      *
3635      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3636      */
setContent(com.google.cloud.recommender.v1.RecommendationContent value)3637     public Builder setContent(com.google.cloud.recommender.v1.RecommendationContent value) {
3638       if (contentBuilder_ == null) {
3639         if (value == null) {
3640           throw new NullPointerException();
3641         }
3642         content_ = value;
3643       } else {
3644         contentBuilder_.setMessage(value);
3645       }
3646       bitField0_ |= 0x00000080;
3647       onChanged();
3648       return this;
3649     }
3650     /**
3651      *
3652      *
3653      * <pre>
3654      * Content of the recommendation describing recommended changes to resources.
3655      * </pre>
3656      *
3657      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3658      */
setContent( com.google.cloud.recommender.v1.RecommendationContent.Builder builderForValue)3659     public Builder setContent(
3660         com.google.cloud.recommender.v1.RecommendationContent.Builder builderForValue) {
3661       if (contentBuilder_ == null) {
3662         content_ = builderForValue.build();
3663       } else {
3664         contentBuilder_.setMessage(builderForValue.build());
3665       }
3666       bitField0_ |= 0x00000080;
3667       onChanged();
3668       return this;
3669     }
3670     /**
3671      *
3672      *
3673      * <pre>
3674      * Content of the recommendation describing recommended changes to resources.
3675      * </pre>
3676      *
3677      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3678      */
mergeContent(com.google.cloud.recommender.v1.RecommendationContent value)3679     public Builder mergeContent(com.google.cloud.recommender.v1.RecommendationContent value) {
3680       if (contentBuilder_ == null) {
3681         if (((bitField0_ & 0x00000080) != 0)
3682             && content_ != null
3683             && content_
3684                 != com.google.cloud.recommender.v1.RecommendationContent.getDefaultInstance()) {
3685           getContentBuilder().mergeFrom(value);
3686         } else {
3687           content_ = value;
3688         }
3689       } else {
3690         contentBuilder_.mergeFrom(value);
3691       }
3692       bitField0_ |= 0x00000080;
3693       onChanged();
3694       return this;
3695     }
3696     /**
3697      *
3698      *
3699      * <pre>
3700      * Content of the recommendation describing recommended changes to resources.
3701      * </pre>
3702      *
3703      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3704      */
clearContent()3705     public Builder clearContent() {
3706       bitField0_ = (bitField0_ & ~0x00000080);
3707       content_ = null;
3708       if (contentBuilder_ != null) {
3709         contentBuilder_.dispose();
3710         contentBuilder_ = null;
3711       }
3712       onChanged();
3713       return this;
3714     }
3715     /**
3716      *
3717      *
3718      * <pre>
3719      * Content of the recommendation describing recommended changes to resources.
3720      * </pre>
3721      *
3722      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3723      */
getContentBuilder()3724     public com.google.cloud.recommender.v1.RecommendationContent.Builder getContentBuilder() {
3725       bitField0_ |= 0x00000080;
3726       onChanged();
3727       return getContentFieldBuilder().getBuilder();
3728     }
3729     /**
3730      *
3731      *
3732      * <pre>
3733      * Content of the recommendation describing recommended changes to resources.
3734      * </pre>
3735      *
3736      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3737      */
getContentOrBuilder()3738     public com.google.cloud.recommender.v1.RecommendationContentOrBuilder getContentOrBuilder() {
3739       if (contentBuilder_ != null) {
3740         return contentBuilder_.getMessageOrBuilder();
3741       } else {
3742         return content_ == null
3743             ? com.google.cloud.recommender.v1.RecommendationContent.getDefaultInstance()
3744             : content_;
3745       }
3746     }
3747     /**
3748      *
3749      *
3750      * <pre>
3751      * Content of the recommendation describing recommended changes to resources.
3752      * </pre>
3753      *
3754      * <code>.google.cloud.recommender.v1.RecommendationContent content = 7;</code>
3755      */
3756     private com.google.protobuf.SingleFieldBuilderV3<
3757             com.google.cloud.recommender.v1.RecommendationContent,
3758             com.google.cloud.recommender.v1.RecommendationContent.Builder,
3759             com.google.cloud.recommender.v1.RecommendationContentOrBuilder>
getContentFieldBuilder()3760         getContentFieldBuilder() {
3761       if (contentBuilder_ == null) {
3762         contentBuilder_ =
3763             new com.google.protobuf.SingleFieldBuilderV3<
3764                 com.google.cloud.recommender.v1.RecommendationContent,
3765                 com.google.cloud.recommender.v1.RecommendationContent.Builder,
3766                 com.google.cloud.recommender.v1.RecommendationContentOrBuilder>(
3767                 getContent(), getParentForChildren(), isClean());
3768         content_ = null;
3769       }
3770       return contentBuilder_;
3771     }
3772 
3773     private com.google.cloud.recommender.v1.RecommendationStateInfo stateInfo_;
3774     private com.google.protobuf.SingleFieldBuilderV3<
3775             com.google.cloud.recommender.v1.RecommendationStateInfo,
3776             com.google.cloud.recommender.v1.RecommendationStateInfo.Builder,
3777             com.google.cloud.recommender.v1.RecommendationStateInfoOrBuilder>
3778         stateInfoBuilder_;
3779     /**
3780      *
3781      *
3782      * <pre>
3783      * Information for state. Contains state and metadata.
3784      * </pre>
3785      *
3786      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3787      *
3788      * @return Whether the stateInfo field is set.
3789      */
hasStateInfo()3790     public boolean hasStateInfo() {
3791       return ((bitField0_ & 0x00000100) != 0);
3792     }
3793     /**
3794      *
3795      *
3796      * <pre>
3797      * Information for state. Contains state and metadata.
3798      * </pre>
3799      *
3800      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3801      *
3802      * @return The stateInfo.
3803      */
getStateInfo()3804     public com.google.cloud.recommender.v1.RecommendationStateInfo getStateInfo() {
3805       if (stateInfoBuilder_ == null) {
3806         return stateInfo_ == null
3807             ? com.google.cloud.recommender.v1.RecommendationStateInfo.getDefaultInstance()
3808             : stateInfo_;
3809       } else {
3810         return stateInfoBuilder_.getMessage();
3811       }
3812     }
3813     /**
3814      *
3815      *
3816      * <pre>
3817      * Information for state. Contains state and metadata.
3818      * </pre>
3819      *
3820      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3821      */
setStateInfo(com.google.cloud.recommender.v1.RecommendationStateInfo value)3822     public Builder setStateInfo(com.google.cloud.recommender.v1.RecommendationStateInfo value) {
3823       if (stateInfoBuilder_ == null) {
3824         if (value == null) {
3825           throw new NullPointerException();
3826         }
3827         stateInfo_ = value;
3828       } else {
3829         stateInfoBuilder_.setMessage(value);
3830       }
3831       bitField0_ |= 0x00000100;
3832       onChanged();
3833       return this;
3834     }
3835     /**
3836      *
3837      *
3838      * <pre>
3839      * Information for state. Contains state and metadata.
3840      * </pre>
3841      *
3842      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3843      */
setStateInfo( com.google.cloud.recommender.v1.RecommendationStateInfo.Builder builderForValue)3844     public Builder setStateInfo(
3845         com.google.cloud.recommender.v1.RecommendationStateInfo.Builder builderForValue) {
3846       if (stateInfoBuilder_ == null) {
3847         stateInfo_ = builderForValue.build();
3848       } else {
3849         stateInfoBuilder_.setMessage(builderForValue.build());
3850       }
3851       bitField0_ |= 0x00000100;
3852       onChanged();
3853       return this;
3854     }
3855     /**
3856      *
3857      *
3858      * <pre>
3859      * Information for state. Contains state and metadata.
3860      * </pre>
3861      *
3862      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3863      */
mergeStateInfo(com.google.cloud.recommender.v1.RecommendationStateInfo value)3864     public Builder mergeStateInfo(com.google.cloud.recommender.v1.RecommendationStateInfo value) {
3865       if (stateInfoBuilder_ == null) {
3866         if (((bitField0_ & 0x00000100) != 0)
3867             && stateInfo_ != null
3868             && stateInfo_
3869                 != com.google.cloud.recommender.v1.RecommendationStateInfo.getDefaultInstance()) {
3870           getStateInfoBuilder().mergeFrom(value);
3871         } else {
3872           stateInfo_ = value;
3873         }
3874       } else {
3875         stateInfoBuilder_.mergeFrom(value);
3876       }
3877       bitField0_ |= 0x00000100;
3878       onChanged();
3879       return this;
3880     }
3881     /**
3882      *
3883      *
3884      * <pre>
3885      * Information for state. Contains state and metadata.
3886      * </pre>
3887      *
3888      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3889      */
clearStateInfo()3890     public Builder clearStateInfo() {
3891       bitField0_ = (bitField0_ & ~0x00000100);
3892       stateInfo_ = null;
3893       if (stateInfoBuilder_ != null) {
3894         stateInfoBuilder_.dispose();
3895         stateInfoBuilder_ = null;
3896       }
3897       onChanged();
3898       return this;
3899     }
3900     /**
3901      *
3902      *
3903      * <pre>
3904      * Information for state. Contains state and metadata.
3905      * </pre>
3906      *
3907      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3908      */
getStateInfoBuilder()3909     public com.google.cloud.recommender.v1.RecommendationStateInfo.Builder getStateInfoBuilder() {
3910       bitField0_ |= 0x00000100;
3911       onChanged();
3912       return getStateInfoFieldBuilder().getBuilder();
3913     }
3914     /**
3915      *
3916      *
3917      * <pre>
3918      * Information for state. Contains state and metadata.
3919      * </pre>
3920      *
3921      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3922      */
3923     public com.google.cloud.recommender.v1.RecommendationStateInfoOrBuilder
getStateInfoOrBuilder()3924         getStateInfoOrBuilder() {
3925       if (stateInfoBuilder_ != null) {
3926         return stateInfoBuilder_.getMessageOrBuilder();
3927       } else {
3928         return stateInfo_ == null
3929             ? com.google.cloud.recommender.v1.RecommendationStateInfo.getDefaultInstance()
3930             : stateInfo_;
3931       }
3932     }
3933     /**
3934      *
3935      *
3936      * <pre>
3937      * Information for state. Contains state and metadata.
3938      * </pre>
3939      *
3940      * <code>.google.cloud.recommender.v1.RecommendationStateInfo state_info = 10;</code>
3941      */
3942     private com.google.protobuf.SingleFieldBuilderV3<
3943             com.google.cloud.recommender.v1.RecommendationStateInfo,
3944             com.google.cloud.recommender.v1.RecommendationStateInfo.Builder,
3945             com.google.cloud.recommender.v1.RecommendationStateInfoOrBuilder>
getStateInfoFieldBuilder()3946         getStateInfoFieldBuilder() {
3947       if (stateInfoBuilder_ == null) {
3948         stateInfoBuilder_ =
3949             new com.google.protobuf.SingleFieldBuilderV3<
3950                 com.google.cloud.recommender.v1.RecommendationStateInfo,
3951                 com.google.cloud.recommender.v1.RecommendationStateInfo.Builder,
3952                 com.google.cloud.recommender.v1.RecommendationStateInfoOrBuilder>(
3953                 getStateInfo(), getParentForChildren(), isClean());
3954         stateInfo_ = null;
3955       }
3956       return stateInfoBuilder_;
3957     }
3958 
3959     private java.lang.Object etag_ = "";
3960     /**
3961      *
3962      *
3963      * <pre>
3964      * Fingerprint of the Recommendation. Provides optimistic locking when
3965      * updating states.
3966      * </pre>
3967      *
3968      * <code>string etag = 11;</code>
3969      *
3970      * @return The etag.
3971      */
getEtag()3972     public java.lang.String getEtag() {
3973       java.lang.Object ref = etag_;
3974       if (!(ref instanceof java.lang.String)) {
3975         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
3976         java.lang.String s = bs.toStringUtf8();
3977         etag_ = s;
3978         return s;
3979       } else {
3980         return (java.lang.String) ref;
3981       }
3982     }
3983     /**
3984      *
3985      *
3986      * <pre>
3987      * Fingerprint of the Recommendation. Provides optimistic locking when
3988      * updating states.
3989      * </pre>
3990      *
3991      * <code>string etag = 11;</code>
3992      *
3993      * @return The bytes for etag.
3994      */
getEtagBytes()3995     public com.google.protobuf.ByteString getEtagBytes() {
3996       java.lang.Object ref = etag_;
3997       if (ref instanceof String) {
3998         com.google.protobuf.ByteString b =
3999             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4000         etag_ = b;
4001         return b;
4002       } else {
4003         return (com.google.protobuf.ByteString) ref;
4004       }
4005     }
4006     /**
4007      *
4008      *
4009      * <pre>
4010      * Fingerprint of the Recommendation. Provides optimistic locking when
4011      * updating states.
4012      * </pre>
4013      *
4014      * <code>string etag = 11;</code>
4015      *
4016      * @param value The etag to set.
4017      * @return This builder for chaining.
4018      */
setEtag(java.lang.String value)4019     public Builder setEtag(java.lang.String value) {
4020       if (value == null) {
4021         throw new NullPointerException();
4022       }
4023       etag_ = value;
4024       bitField0_ |= 0x00000200;
4025       onChanged();
4026       return this;
4027     }
4028     /**
4029      *
4030      *
4031      * <pre>
4032      * Fingerprint of the Recommendation. Provides optimistic locking when
4033      * updating states.
4034      * </pre>
4035      *
4036      * <code>string etag = 11;</code>
4037      *
4038      * @return This builder for chaining.
4039      */
clearEtag()4040     public Builder clearEtag() {
4041       etag_ = getDefaultInstance().getEtag();
4042       bitField0_ = (bitField0_ & ~0x00000200);
4043       onChanged();
4044       return this;
4045     }
4046     /**
4047      *
4048      *
4049      * <pre>
4050      * Fingerprint of the Recommendation. Provides optimistic locking when
4051      * updating states.
4052      * </pre>
4053      *
4054      * <code>string etag = 11;</code>
4055      *
4056      * @param value The bytes for etag to set.
4057      * @return This builder for chaining.
4058      */
setEtagBytes(com.google.protobuf.ByteString value)4059     public Builder setEtagBytes(com.google.protobuf.ByteString value) {
4060       if (value == null) {
4061         throw new NullPointerException();
4062       }
4063       checkByteStringIsUtf8(value);
4064       etag_ = value;
4065       bitField0_ |= 0x00000200;
4066       onChanged();
4067       return this;
4068     }
4069 
4070     private java.util.List<com.google.cloud.recommender.v1.Recommendation.InsightReference>
4071         associatedInsights_ = java.util.Collections.emptyList();
4072 
ensureAssociatedInsightsIsMutable()4073     private void ensureAssociatedInsightsIsMutable() {
4074       if (!((bitField0_ & 0x00000400) != 0)) {
4075         associatedInsights_ =
4076             new java.util.ArrayList<
4077                 com.google.cloud.recommender.v1.Recommendation.InsightReference>(
4078                 associatedInsights_);
4079         bitField0_ |= 0x00000400;
4080       }
4081     }
4082 
4083     private com.google.protobuf.RepeatedFieldBuilderV3<
4084             com.google.cloud.recommender.v1.Recommendation.InsightReference,
4085             com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder,
4086             com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder>
4087         associatedInsightsBuilder_;
4088 
4089     /**
4090      *
4091      *
4092      * <pre>
4093      * Insights that led to this recommendation.
4094      * </pre>
4095      *
4096      * <code>
4097      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4098      * </code>
4099      */
4100     public java.util.List<com.google.cloud.recommender.v1.Recommendation.InsightReference>
getAssociatedInsightsList()4101         getAssociatedInsightsList() {
4102       if (associatedInsightsBuilder_ == null) {
4103         return java.util.Collections.unmodifiableList(associatedInsights_);
4104       } else {
4105         return associatedInsightsBuilder_.getMessageList();
4106       }
4107     }
4108     /**
4109      *
4110      *
4111      * <pre>
4112      * Insights that led to this recommendation.
4113      * </pre>
4114      *
4115      * <code>
4116      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4117      * </code>
4118      */
getAssociatedInsightsCount()4119     public int getAssociatedInsightsCount() {
4120       if (associatedInsightsBuilder_ == null) {
4121         return associatedInsights_.size();
4122       } else {
4123         return associatedInsightsBuilder_.getCount();
4124       }
4125     }
4126     /**
4127      *
4128      *
4129      * <pre>
4130      * Insights that led to this recommendation.
4131      * </pre>
4132      *
4133      * <code>
4134      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4135      * </code>
4136      */
getAssociatedInsights( int index)4137     public com.google.cloud.recommender.v1.Recommendation.InsightReference getAssociatedInsights(
4138         int index) {
4139       if (associatedInsightsBuilder_ == null) {
4140         return associatedInsights_.get(index);
4141       } else {
4142         return associatedInsightsBuilder_.getMessage(index);
4143       }
4144     }
4145     /**
4146      *
4147      *
4148      * <pre>
4149      * Insights that led to this recommendation.
4150      * </pre>
4151      *
4152      * <code>
4153      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4154      * </code>
4155      */
setAssociatedInsights( int index, com.google.cloud.recommender.v1.Recommendation.InsightReference value)4156     public Builder setAssociatedInsights(
4157         int index, com.google.cloud.recommender.v1.Recommendation.InsightReference value) {
4158       if (associatedInsightsBuilder_ == null) {
4159         if (value == null) {
4160           throw new NullPointerException();
4161         }
4162         ensureAssociatedInsightsIsMutable();
4163         associatedInsights_.set(index, value);
4164         onChanged();
4165       } else {
4166         associatedInsightsBuilder_.setMessage(index, value);
4167       }
4168       return this;
4169     }
4170     /**
4171      *
4172      *
4173      * <pre>
4174      * Insights that led to this recommendation.
4175      * </pre>
4176      *
4177      * <code>
4178      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4179      * </code>
4180      */
setAssociatedInsights( int index, com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue)4181     public Builder setAssociatedInsights(
4182         int index,
4183         com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue) {
4184       if (associatedInsightsBuilder_ == null) {
4185         ensureAssociatedInsightsIsMutable();
4186         associatedInsights_.set(index, builderForValue.build());
4187         onChanged();
4188       } else {
4189         associatedInsightsBuilder_.setMessage(index, builderForValue.build());
4190       }
4191       return this;
4192     }
4193     /**
4194      *
4195      *
4196      * <pre>
4197      * Insights that led to this recommendation.
4198      * </pre>
4199      *
4200      * <code>
4201      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4202      * </code>
4203      */
addAssociatedInsights( com.google.cloud.recommender.v1.Recommendation.InsightReference value)4204     public Builder addAssociatedInsights(
4205         com.google.cloud.recommender.v1.Recommendation.InsightReference value) {
4206       if (associatedInsightsBuilder_ == null) {
4207         if (value == null) {
4208           throw new NullPointerException();
4209         }
4210         ensureAssociatedInsightsIsMutable();
4211         associatedInsights_.add(value);
4212         onChanged();
4213       } else {
4214         associatedInsightsBuilder_.addMessage(value);
4215       }
4216       return this;
4217     }
4218     /**
4219      *
4220      *
4221      * <pre>
4222      * Insights that led to this recommendation.
4223      * </pre>
4224      *
4225      * <code>
4226      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4227      * </code>
4228      */
addAssociatedInsights( int index, com.google.cloud.recommender.v1.Recommendation.InsightReference value)4229     public Builder addAssociatedInsights(
4230         int index, com.google.cloud.recommender.v1.Recommendation.InsightReference value) {
4231       if (associatedInsightsBuilder_ == null) {
4232         if (value == null) {
4233           throw new NullPointerException();
4234         }
4235         ensureAssociatedInsightsIsMutable();
4236         associatedInsights_.add(index, value);
4237         onChanged();
4238       } else {
4239         associatedInsightsBuilder_.addMessage(index, value);
4240       }
4241       return this;
4242     }
4243     /**
4244      *
4245      *
4246      * <pre>
4247      * Insights that led to this recommendation.
4248      * </pre>
4249      *
4250      * <code>
4251      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4252      * </code>
4253      */
addAssociatedInsights( com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue)4254     public Builder addAssociatedInsights(
4255         com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue) {
4256       if (associatedInsightsBuilder_ == null) {
4257         ensureAssociatedInsightsIsMutable();
4258         associatedInsights_.add(builderForValue.build());
4259         onChanged();
4260       } else {
4261         associatedInsightsBuilder_.addMessage(builderForValue.build());
4262       }
4263       return this;
4264     }
4265     /**
4266      *
4267      *
4268      * <pre>
4269      * Insights that led to this recommendation.
4270      * </pre>
4271      *
4272      * <code>
4273      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4274      * </code>
4275      */
addAssociatedInsights( int index, com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue)4276     public Builder addAssociatedInsights(
4277         int index,
4278         com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder builderForValue) {
4279       if (associatedInsightsBuilder_ == null) {
4280         ensureAssociatedInsightsIsMutable();
4281         associatedInsights_.add(index, builderForValue.build());
4282         onChanged();
4283       } else {
4284         associatedInsightsBuilder_.addMessage(index, builderForValue.build());
4285       }
4286       return this;
4287     }
4288     /**
4289      *
4290      *
4291      * <pre>
4292      * Insights that led to this recommendation.
4293      * </pre>
4294      *
4295      * <code>
4296      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4297      * </code>
4298      */
addAllAssociatedInsights( java.lang.Iterable< ? extends com.google.cloud.recommender.v1.Recommendation.InsightReference> values)4299     public Builder addAllAssociatedInsights(
4300         java.lang.Iterable<
4301                 ? extends com.google.cloud.recommender.v1.Recommendation.InsightReference>
4302             values) {
4303       if (associatedInsightsBuilder_ == null) {
4304         ensureAssociatedInsightsIsMutable();
4305         com.google.protobuf.AbstractMessageLite.Builder.addAll(values, associatedInsights_);
4306         onChanged();
4307       } else {
4308         associatedInsightsBuilder_.addAllMessages(values);
4309       }
4310       return this;
4311     }
4312     /**
4313      *
4314      *
4315      * <pre>
4316      * Insights that led to this recommendation.
4317      * </pre>
4318      *
4319      * <code>
4320      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4321      * </code>
4322      */
clearAssociatedInsights()4323     public Builder clearAssociatedInsights() {
4324       if (associatedInsightsBuilder_ == null) {
4325         associatedInsights_ = java.util.Collections.emptyList();
4326         bitField0_ = (bitField0_ & ~0x00000400);
4327         onChanged();
4328       } else {
4329         associatedInsightsBuilder_.clear();
4330       }
4331       return this;
4332     }
4333     /**
4334      *
4335      *
4336      * <pre>
4337      * Insights that led to this recommendation.
4338      * </pre>
4339      *
4340      * <code>
4341      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4342      * </code>
4343      */
removeAssociatedInsights(int index)4344     public Builder removeAssociatedInsights(int index) {
4345       if (associatedInsightsBuilder_ == null) {
4346         ensureAssociatedInsightsIsMutable();
4347         associatedInsights_.remove(index);
4348         onChanged();
4349       } else {
4350         associatedInsightsBuilder_.remove(index);
4351       }
4352       return this;
4353     }
4354     /**
4355      *
4356      *
4357      * <pre>
4358      * Insights that led to this recommendation.
4359      * </pre>
4360      *
4361      * <code>
4362      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4363      * </code>
4364      */
4365     public com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder
getAssociatedInsightsBuilder(int index)4366         getAssociatedInsightsBuilder(int index) {
4367       return getAssociatedInsightsFieldBuilder().getBuilder(index);
4368     }
4369     /**
4370      *
4371      *
4372      * <pre>
4373      * Insights that led to this recommendation.
4374      * </pre>
4375      *
4376      * <code>
4377      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4378      * </code>
4379      */
4380     public com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder
getAssociatedInsightsOrBuilder(int index)4381         getAssociatedInsightsOrBuilder(int index) {
4382       if (associatedInsightsBuilder_ == null) {
4383         return associatedInsights_.get(index);
4384       } else {
4385         return associatedInsightsBuilder_.getMessageOrBuilder(index);
4386       }
4387     }
4388     /**
4389      *
4390      *
4391      * <pre>
4392      * Insights that led to this recommendation.
4393      * </pre>
4394      *
4395      * <code>
4396      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4397      * </code>
4398      */
4399     public java.util.List<
4400             ? extends com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder>
getAssociatedInsightsOrBuilderList()4401         getAssociatedInsightsOrBuilderList() {
4402       if (associatedInsightsBuilder_ != null) {
4403         return associatedInsightsBuilder_.getMessageOrBuilderList();
4404       } else {
4405         return java.util.Collections.unmodifiableList(associatedInsights_);
4406       }
4407     }
4408     /**
4409      *
4410      *
4411      * <pre>
4412      * Insights that led to this recommendation.
4413      * </pre>
4414      *
4415      * <code>
4416      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4417      * </code>
4418      */
4419     public com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder
addAssociatedInsightsBuilder()4420         addAssociatedInsightsBuilder() {
4421       return getAssociatedInsightsFieldBuilder()
4422           .addBuilder(
4423               com.google.cloud.recommender.v1.Recommendation.InsightReference.getDefaultInstance());
4424     }
4425     /**
4426      *
4427      *
4428      * <pre>
4429      * Insights that led to this recommendation.
4430      * </pre>
4431      *
4432      * <code>
4433      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4434      * </code>
4435      */
4436     public com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder
addAssociatedInsightsBuilder(int index)4437         addAssociatedInsightsBuilder(int index) {
4438       return getAssociatedInsightsFieldBuilder()
4439           .addBuilder(
4440               index,
4441               com.google.cloud.recommender.v1.Recommendation.InsightReference.getDefaultInstance());
4442     }
4443     /**
4444      *
4445      *
4446      * <pre>
4447      * Insights that led to this recommendation.
4448      * </pre>
4449      *
4450      * <code>
4451      * repeated .google.cloud.recommender.v1.Recommendation.InsightReference associated_insights = 14;
4452      * </code>
4453      */
4454     public java.util.List<com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder>
getAssociatedInsightsBuilderList()4455         getAssociatedInsightsBuilderList() {
4456       return getAssociatedInsightsFieldBuilder().getBuilderList();
4457     }
4458 
4459     private com.google.protobuf.RepeatedFieldBuilderV3<
4460             com.google.cloud.recommender.v1.Recommendation.InsightReference,
4461             com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder,
4462             com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder>
getAssociatedInsightsFieldBuilder()4463         getAssociatedInsightsFieldBuilder() {
4464       if (associatedInsightsBuilder_ == null) {
4465         associatedInsightsBuilder_ =
4466             new com.google.protobuf.RepeatedFieldBuilderV3<
4467                 com.google.cloud.recommender.v1.Recommendation.InsightReference,
4468                 com.google.cloud.recommender.v1.Recommendation.InsightReference.Builder,
4469                 com.google.cloud.recommender.v1.Recommendation.InsightReferenceOrBuilder>(
4470                 associatedInsights_,
4471                 ((bitField0_ & 0x00000400) != 0),
4472                 getParentForChildren(),
4473                 isClean());
4474         associatedInsights_ = null;
4475       }
4476       return associatedInsightsBuilder_;
4477     }
4478 
4479     private java.lang.Object xorGroupId_ = "";
4480     /**
4481      *
4482      *
4483      * <pre>
4484      * Corresponds to a mutually exclusive group ID within a recommender.
4485      * A non-empty ID indicates that the recommendation belongs to a mutually
4486      * exclusive group. This means that only one recommendation within the group
4487      * is suggested to be applied.
4488      * </pre>
4489      *
4490      * <code>string xor_group_id = 18;</code>
4491      *
4492      * @return The xorGroupId.
4493      */
getXorGroupId()4494     public java.lang.String getXorGroupId() {
4495       java.lang.Object ref = xorGroupId_;
4496       if (!(ref instanceof java.lang.String)) {
4497         com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
4498         java.lang.String s = bs.toStringUtf8();
4499         xorGroupId_ = s;
4500         return s;
4501       } else {
4502         return (java.lang.String) ref;
4503       }
4504     }
4505     /**
4506      *
4507      *
4508      * <pre>
4509      * Corresponds to a mutually exclusive group ID within a recommender.
4510      * A non-empty ID indicates that the recommendation belongs to a mutually
4511      * exclusive group. This means that only one recommendation within the group
4512      * is suggested to be applied.
4513      * </pre>
4514      *
4515      * <code>string xor_group_id = 18;</code>
4516      *
4517      * @return The bytes for xorGroupId.
4518      */
getXorGroupIdBytes()4519     public com.google.protobuf.ByteString getXorGroupIdBytes() {
4520       java.lang.Object ref = xorGroupId_;
4521       if (ref instanceof String) {
4522         com.google.protobuf.ByteString b =
4523             com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
4524         xorGroupId_ = b;
4525         return b;
4526       } else {
4527         return (com.google.protobuf.ByteString) ref;
4528       }
4529     }
4530     /**
4531      *
4532      *
4533      * <pre>
4534      * Corresponds to a mutually exclusive group ID within a recommender.
4535      * A non-empty ID indicates that the recommendation belongs to a mutually
4536      * exclusive group. This means that only one recommendation within the group
4537      * is suggested to be applied.
4538      * </pre>
4539      *
4540      * <code>string xor_group_id = 18;</code>
4541      *
4542      * @param value The xorGroupId to set.
4543      * @return This builder for chaining.
4544      */
setXorGroupId(java.lang.String value)4545     public Builder setXorGroupId(java.lang.String value) {
4546       if (value == null) {
4547         throw new NullPointerException();
4548       }
4549       xorGroupId_ = value;
4550       bitField0_ |= 0x00000800;
4551       onChanged();
4552       return this;
4553     }
4554     /**
4555      *
4556      *
4557      * <pre>
4558      * Corresponds to a mutually exclusive group ID within a recommender.
4559      * A non-empty ID indicates that the recommendation belongs to a mutually
4560      * exclusive group. This means that only one recommendation within the group
4561      * is suggested to be applied.
4562      * </pre>
4563      *
4564      * <code>string xor_group_id = 18;</code>
4565      *
4566      * @return This builder for chaining.
4567      */
clearXorGroupId()4568     public Builder clearXorGroupId() {
4569       xorGroupId_ = getDefaultInstance().getXorGroupId();
4570       bitField0_ = (bitField0_ & ~0x00000800);
4571       onChanged();
4572       return this;
4573     }
4574     /**
4575      *
4576      *
4577      * <pre>
4578      * Corresponds to a mutually exclusive group ID within a recommender.
4579      * A non-empty ID indicates that the recommendation belongs to a mutually
4580      * exclusive group. This means that only one recommendation within the group
4581      * is suggested to be applied.
4582      * </pre>
4583      *
4584      * <code>string xor_group_id = 18;</code>
4585      *
4586      * @param value The bytes for xorGroupId to set.
4587      * @return This builder for chaining.
4588      */
setXorGroupIdBytes(com.google.protobuf.ByteString value)4589     public Builder setXorGroupIdBytes(com.google.protobuf.ByteString value) {
4590       if (value == null) {
4591         throw new NullPointerException();
4592       }
4593       checkByteStringIsUtf8(value);
4594       xorGroupId_ = value;
4595       bitField0_ |= 0x00000800;
4596       onChanged();
4597       return this;
4598     }
4599 
4600     @java.lang.Override
setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields)4601     public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
4602       return super.setUnknownFields(unknownFields);
4603     }
4604 
4605     @java.lang.Override
mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields)4606     public final Builder mergeUnknownFields(
4607         final com.google.protobuf.UnknownFieldSet unknownFields) {
4608       return super.mergeUnknownFields(unknownFields);
4609     }
4610 
4611     // @@protoc_insertion_point(builder_scope:google.cloud.recommender.v1.Recommendation)
4612   }
4613 
4614   // @@protoc_insertion_point(class_scope:google.cloud.recommender.v1.Recommendation)
4615   private static final com.google.cloud.recommender.v1.Recommendation DEFAULT_INSTANCE;
4616 
4617   static {
4618     DEFAULT_INSTANCE = new com.google.cloud.recommender.v1.Recommendation();
4619   }
4620 
getDefaultInstance()4621   public static com.google.cloud.recommender.v1.Recommendation getDefaultInstance() {
4622     return DEFAULT_INSTANCE;
4623   }
4624 
4625   private static final com.google.protobuf.Parser<Recommendation> PARSER =
4626       new com.google.protobuf.AbstractParser<Recommendation>() {
4627         @java.lang.Override
4628         public Recommendation parsePartialFrom(
4629             com.google.protobuf.CodedInputStream input,
4630             com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4631             throws com.google.protobuf.InvalidProtocolBufferException {
4632           Builder builder = newBuilder();
4633           try {
4634             builder.mergeFrom(input, extensionRegistry);
4635           } catch (com.google.protobuf.InvalidProtocolBufferException e) {
4636             throw e.setUnfinishedMessage(builder.buildPartial());
4637           } catch (com.google.protobuf.UninitializedMessageException e) {
4638             throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
4639           } catch (java.io.IOException e) {
4640             throw new com.google.protobuf.InvalidProtocolBufferException(e)
4641                 .setUnfinishedMessage(builder.buildPartial());
4642           }
4643           return builder.buildPartial();
4644         }
4645       };
4646 
parser()4647   public static com.google.protobuf.Parser<Recommendation> parser() {
4648     return PARSER;
4649   }
4650 
4651   @java.lang.Override
getParserForType()4652   public com.google.protobuf.Parser<Recommendation> getParserForType() {
4653     return PARSER;
4654   }
4655 
4656   @java.lang.Override
getDefaultInstanceForType()4657   public com.google.cloud.recommender.v1.Recommendation getDefaultInstanceForType() {
4658     return DEFAULT_INSTANCE;
4659   }
4660 }
4661