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