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