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