• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2010 The Libphonenumber Authors
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  * http://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 
17 /**
18  * Definition of the class representing metadata for international telephone numbers. This class is
19  * hand created based on the class file compiled from phonemetadata.proto. Please refer to that file
20  * for detailed descriptions of the meaning of each field.
21  */
22 
23 package com.android.i18n.phonenumbers;
24 
25 import java.io.Externalizable;
26 import java.io.IOException;
27 import java.io.ObjectInput;
28 import java.io.ObjectOutput;
29 
30 public final class Phonemetadata {
Phonemetadata()31   private Phonemetadata() {}
32   public static class NumberFormat implements Externalizable {
33     private static final long serialVersionUID = 1;
NumberFormat()34     public NumberFormat() {}
35 
36     /**
37      * Provides a dummy builder to 'emulate' the API of the code generated by the latest version of
38      * Protocol Buffers. This lets BuildMetadataFromXml class to build with both this hand created
39      * class and the one generated by the latest version of Protocol Buffers.
40      */
41     public static final class Builder extends NumberFormat {
build()42       public NumberFormat build() {
43         return this;
44       }
45     }
newBuilder()46     public static Builder newBuilder() {
47       return new Builder();
48     }
49 
50     // required string pattern = 1;
51     private boolean hasPattern;
52     private String pattern_ = "";
hasPattern()53     public boolean hasPattern() { return hasPattern; }
getPattern()54     public String getPattern() { return pattern_; }
setPattern(String value)55     public NumberFormat setPattern(String value) {
56       hasPattern = true;
57       pattern_ = value;
58       return this;
59     }
60 
61     // required string format = 2;
62     private boolean hasFormat;
63     private String format_ = "";
hasFormat()64     public boolean hasFormat() { return hasFormat; }
getFormat()65     public String getFormat() { return format_; }
setFormat(String value)66     public NumberFormat setFormat(String value) {
67       hasFormat = true;
68       format_ = value;
69       return this;
70     }
71 
72     // repeated string leading_digits_pattern = 3;
73     private java.util.List<String> leadingDigitsPattern_ = new java.util.ArrayList<String>();
leadingDigitPatterns()74     public java.util.List<String> leadingDigitPatterns() {
75       return leadingDigitsPattern_;
76     }
leadingDigitsPatternSize()77     public int leadingDigitsPatternSize() { return leadingDigitsPattern_.size(); }
getLeadingDigitsPattern(int index)78     public String getLeadingDigitsPattern(int index) {
79       return leadingDigitsPattern_.get(index);
80     }
addLeadingDigitsPattern(String value)81     public NumberFormat addLeadingDigitsPattern(String value) {
82       if (value == null) {
83         throw new NullPointerException();
84       }
85       leadingDigitsPattern_.add(value);
86       return this;
87     }
88 
89     // optional string national_prefix_formatting_rule = 4;
90     private boolean hasNationalPrefixFormattingRule;
91     private String nationalPrefixFormattingRule_ = "";
hasNationalPrefixFormattingRule()92     public boolean hasNationalPrefixFormattingRule() { return hasNationalPrefixFormattingRule; }
getNationalPrefixFormattingRule()93     public String getNationalPrefixFormattingRule() { return nationalPrefixFormattingRule_; }
setNationalPrefixFormattingRule(String value)94     public NumberFormat setNationalPrefixFormattingRule(String value) {
95       hasNationalPrefixFormattingRule = true;
96       nationalPrefixFormattingRule_ = value;
97       return this;
98     }
clearNationalPrefixFormattingRule()99     public NumberFormat clearNationalPrefixFormattingRule() {
100       hasNationalPrefixFormattingRule = false;
101       nationalPrefixFormattingRule_ = "";
102       return this;
103     }
104 
105     // optional bool national_prefix_optional_when_formatting = 6;
106     private boolean hasNationalPrefixOptionalWhenFormatting;
107     private boolean nationalPrefixOptionalWhenFormatting_ = false;
hasNationalPrefixOptionalWhenFormatting()108     public boolean hasNationalPrefixOptionalWhenFormatting() {
109       return hasNationalPrefixOptionalWhenFormatting; }
isNationalPrefixOptionalWhenFormatting()110     public boolean isNationalPrefixOptionalWhenFormatting() {
111       return nationalPrefixOptionalWhenFormatting_; }
setNationalPrefixOptionalWhenFormatting(boolean value)112     public NumberFormat setNationalPrefixOptionalWhenFormatting(boolean value) {
113       hasNationalPrefixOptionalWhenFormatting = true;
114       nationalPrefixOptionalWhenFormatting_ = value;
115       return this;
116     }
117 
118     // optional string domestic_carrier_code_formatting_rule = 5;
119     private boolean hasDomesticCarrierCodeFormattingRule;
120     private String domesticCarrierCodeFormattingRule_ = "";
hasDomesticCarrierCodeFormattingRule()121     public boolean hasDomesticCarrierCodeFormattingRule() {
122       return hasDomesticCarrierCodeFormattingRule; }
getDomesticCarrierCodeFormattingRule()123     public String getDomesticCarrierCodeFormattingRule() {
124       return domesticCarrierCodeFormattingRule_; }
setDomesticCarrierCodeFormattingRule(String value)125     public NumberFormat setDomesticCarrierCodeFormattingRule(String value) {
126       hasDomesticCarrierCodeFormattingRule = true;
127       domesticCarrierCodeFormattingRule_ = value;
128       return this;
129     }
130 
mergeFrom(NumberFormat other)131     public NumberFormat mergeFrom(NumberFormat other) {
132       if (other.hasPattern()) {
133         setPattern(other.getPattern());
134       }
135       if (other.hasFormat()) {
136         setFormat(other.getFormat());
137       }
138       int leadingDigitsPatternSize = other.leadingDigitsPatternSize();
139       for (int i = 0; i < leadingDigitsPatternSize; i++) {
140         addLeadingDigitsPattern(other.getLeadingDigitsPattern(i));
141       }
142       if (other.hasNationalPrefixFormattingRule()) {
143         setNationalPrefixFormattingRule(other.getNationalPrefixFormattingRule());
144       }
145       if (other.hasDomesticCarrierCodeFormattingRule()) {
146         setDomesticCarrierCodeFormattingRule(other.getDomesticCarrierCodeFormattingRule());
147       }
148       setNationalPrefixOptionalWhenFormatting(other.isNationalPrefixOptionalWhenFormatting());
149       return this;
150     }
151 
writeExternal(ObjectOutput objectOutput)152     public void writeExternal(ObjectOutput objectOutput) throws IOException {
153       objectOutput.writeUTF(pattern_);
154       objectOutput.writeUTF(format_);
155       int leadingDigitsPatternSize = leadingDigitsPatternSize();
156       objectOutput.writeInt(leadingDigitsPatternSize);
157       for (int i = 0; i < leadingDigitsPatternSize; i++) {
158         objectOutput.writeUTF(leadingDigitsPattern_.get(i));
159       }
160 
161       objectOutput.writeBoolean(hasNationalPrefixFormattingRule);
162       if (hasNationalPrefixFormattingRule) {
163         objectOutput.writeUTF(nationalPrefixFormattingRule_);
164       }
165       objectOutput.writeBoolean(hasDomesticCarrierCodeFormattingRule);
166       if (hasDomesticCarrierCodeFormattingRule) {
167         objectOutput.writeUTF(domesticCarrierCodeFormattingRule_);
168       }
169       objectOutput.writeBoolean(nationalPrefixOptionalWhenFormatting_);
170     }
171 
readExternal(ObjectInput objectInput)172     public void readExternal(ObjectInput objectInput) throws IOException {
173       setPattern(objectInput.readUTF());
174       setFormat(objectInput.readUTF());
175       int leadingDigitsPatternSize = objectInput.readInt();
176       for (int i = 0; i < leadingDigitsPatternSize; i++) {
177         leadingDigitsPattern_.add(objectInput.readUTF());
178       }
179       if (objectInput.readBoolean()) {
180         setNationalPrefixFormattingRule(objectInput.readUTF());
181       }
182       if (objectInput.readBoolean()) {
183         setDomesticCarrierCodeFormattingRule(objectInput.readUTF());
184       }
185       setNationalPrefixOptionalWhenFormatting(objectInput.readBoolean());
186     }
187   }
188 
189   public static class PhoneNumberDesc implements Externalizable {
190     private static final long serialVersionUID = 1;
PhoneNumberDesc()191     public PhoneNumberDesc() {}
192 
193     /**
194      * Provides a dummy builder.
195      *
196      * @see NumberFormat.Builder
197      */
198     public static final class Builder extends PhoneNumberDesc {
build()199       public PhoneNumberDesc build() {
200         return this;
201       }
202     }
newBuilder()203     public static Builder newBuilder() {
204       return new Builder();
205     }
206 
207     // optional string national_number_pattern = 2;
208     private boolean hasNationalNumberPattern;
209     private String nationalNumberPattern_ = "";
hasNationalNumberPattern()210     public boolean hasNationalNumberPattern() { return hasNationalNumberPattern; }
getNationalNumberPattern()211     public String getNationalNumberPattern() { return nationalNumberPattern_; }
setNationalNumberPattern(String value)212     public PhoneNumberDesc setNationalNumberPattern(String value) {
213       hasNationalNumberPattern = true;
214       nationalNumberPattern_ = value;
215       return this;
216     }
217 
218     // optional string possible_number_pattern = 3;
219     private boolean hasPossibleNumberPattern;
220     private String possibleNumberPattern_ = "";
hasPossibleNumberPattern()221     public boolean hasPossibleNumberPattern() { return hasPossibleNumberPattern; }
getPossibleNumberPattern()222     public String getPossibleNumberPattern() { return possibleNumberPattern_; }
setPossibleNumberPattern(String value)223     public PhoneNumberDesc setPossibleNumberPattern(String value) {
224       hasPossibleNumberPattern = true;
225       possibleNumberPattern_ = value;
226       return this;
227     }
228 
229     // optional string example_number = 6;
230     private boolean hasExampleNumber;
231     private String exampleNumber_ = "";
hasExampleNumber()232     public boolean hasExampleNumber() { return hasExampleNumber; }
getExampleNumber()233     public String getExampleNumber() { return exampleNumber_; }
setExampleNumber(String value)234     public PhoneNumberDesc setExampleNumber(String value) {
235       hasExampleNumber = true;
236       exampleNumber_ = value;
237       return this;
238     }
239 
mergeFrom(PhoneNumberDesc other)240     public PhoneNumberDesc mergeFrom(PhoneNumberDesc other) {
241       if (other.hasNationalNumberPattern()) {
242         setNationalNumberPattern(other.getNationalNumberPattern());
243       }
244       if (other.hasPossibleNumberPattern()) {
245         setPossibleNumberPattern(other.getPossibleNumberPattern());
246       }
247       if (other.hasExampleNumber()) {
248         setExampleNumber(other.getExampleNumber());
249       }
250       return this;
251     }
252 
exactlySameAs(PhoneNumberDesc other)253     public boolean exactlySameAs(PhoneNumberDesc other) {
254       return nationalNumberPattern_.equals(other.nationalNumberPattern_) &&
255           possibleNumberPattern_.equals(other.possibleNumberPattern_) &&
256           exampleNumber_.equals(other.exampleNumber_);
257     }
258 
writeExternal(ObjectOutput objectOutput)259     public void writeExternal(ObjectOutput objectOutput) throws IOException {
260       objectOutput.writeBoolean(hasNationalNumberPattern);
261       if (hasNationalNumberPattern) {
262         objectOutput.writeUTF(nationalNumberPattern_);
263       }
264 
265       objectOutput.writeBoolean(hasPossibleNumberPattern);
266       if (hasPossibleNumberPattern) {
267         objectOutput.writeUTF(possibleNumberPattern_);
268       }
269 
270       objectOutput.writeBoolean(hasExampleNumber);
271       if (hasExampleNumber) {
272         objectOutput.writeUTF(exampleNumber_);
273       }
274     }
275 
readExternal(ObjectInput objectInput)276     public void readExternal(ObjectInput objectInput) throws IOException {
277       if (objectInput.readBoolean()) {
278         setNationalNumberPattern(objectInput.readUTF());
279       }
280 
281       if (objectInput.readBoolean()) {
282         setPossibleNumberPattern(objectInput.readUTF());
283       }
284 
285       if (objectInput.readBoolean()) {
286         setExampleNumber(objectInput.readUTF());
287       }
288     }
289   }
290 
291   public static class PhoneMetadata implements Externalizable {
292     private static final long serialVersionUID = 1;
PhoneMetadata()293     public PhoneMetadata() {}
294 
295     /**
296      * Provides a dummy builder.
297      *
298      * @see NumberFormat.Builder
299      */
300     public static final class Builder extends PhoneMetadata {
build()301       public PhoneMetadata build() {
302         return this;
303       }
304     }
newBuilder()305     public static Builder newBuilder() {
306       return new Builder();
307     }
308 
309     // required PhoneNumberDesc general_desc = 1;
310     private boolean hasGeneralDesc;
311     private PhoneNumberDesc generalDesc_ = null;
hasGeneralDesc()312     public boolean hasGeneralDesc() { return hasGeneralDesc; }
getGeneralDesc()313     public PhoneNumberDesc getGeneralDesc() { return generalDesc_; }
setGeneralDesc(PhoneNumberDesc value)314     public PhoneMetadata setGeneralDesc(PhoneNumberDesc value) {
315       if (value == null) {
316         throw new NullPointerException();
317       }
318       hasGeneralDesc = true;
319       generalDesc_ = value;
320       return this;
321     }
322 
323     // required PhoneNumberDesc fixed_line = 2;
324     private boolean hasFixedLine;
325     private PhoneNumberDesc fixedLine_ = null;
hasFixedLine()326     public boolean hasFixedLine() { return hasFixedLine; }
getFixedLine()327     public PhoneNumberDesc getFixedLine() { return fixedLine_; }
setFixedLine(PhoneNumberDesc value)328     public PhoneMetadata setFixedLine(PhoneNumberDesc value) {
329       if (value == null) {
330         throw new NullPointerException();
331       }
332       hasFixedLine = true;
333       fixedLine_ = value;
334       return this;
335     }
336 
337     // required PhoneNumberDesc mobile = 3;
338     private boolean hasMobile;
339     private PhoneNumberDesc mobile_ = null;
hasMobile()340     public boolean hasMobile() { return hasMobile; }
getMobile()341     public PhoneNumberDesc getMobile() { return mobile_; }
setMobile(PhoneNumberDesc value)342     public PhoneMetadata setMobile(PhoneNumberDesc value) {
343       if (value == null) {
344         throw new NullPointerException();
345       }
346       hasMobile = true;
347       mobile_ = value;
348       return this;
349     }
350 
351     // required PhoneNumberDesc toll_free = 4;
352     private boolean hasTollFree;
353     private PhoneNumberDesc tollFree_ = null;
hasTollFree()354     public boolean hasTollFree() { return hasTollFree; }
getTollFree()355     public PhoneNumberDesc getTollFree() { return tollFree_; }
setTollFree(PhoneNumberDesc value)356     public PhoneMetadata setTollFree(PhoneNumberDesc value) {
357       if (value == null) {
358         throw new NullPointerException();
359       }
360       hasTollFree = true;
361       tollFree_ = value;
362       return this;
363     }
364 
365     // required PhoneNumberDesc premium_rate = 5;
366     private boolean hasPremiumRate;
367     private PhoneNumberDesc premiumRate_ = null;
hasPremiumRate()368     public boolean hasPremiumRate() { return hasPremiumRate; }
getPremiumRate()369     public PhoneNumberDesc getPremiumRate() { return premiumRate_; }
setPremiumRate(PhoneNumberDesc value)370     public PhoneMetadata setPremiumRate(PhoneNumberDesc value) {
371       if (value == null) {
372         throw new NullPointerException();
373       }
374       hasPremiumRate = true;
375       premiumRate_ = value;
376       return this;
377     }
378 
379     // required PhoneNumberDesc shared_cost = 6;
380     private boolean hasSharedCost;
381     private PhoneNumberDesc sharedCost_ = null;
hasSharedCost()382     public boolean hasSharedCost() { return hasSharedCost; }
getSharedCost()383     public PhoneNumberDesc getSharedCost() { return sharedCost_; }
setSharedCost(PhoneNumberDesc value)384     public PhoneMetadata setSharedCost(PhoneNumberDesc value) {
385       if (value == null) {
386         throw new NullPointerException();
387       }
388       hasSharedCost = true;
389       sharedCost_ = value;
390       return this;
391     }
392 
393     // required PhoneNumberDesc personal_number = 7;
394     private boolean hasPersonalNumber;
395     private PhoneNumberDesc personalNumber_ = null;
hasPersonalNumber()396     public boolean hasPersonalNumber() { return hasPersonalNumber; }
getPersonalNumber()397     public PhoneNumberDesc getPersonalNumber() { return personalNumber_; }
setPersonalNumber(PhoneNumberDesc value)398     public PhoneMetadata setPersonalNumber(PhoneNumberDesc value) {
399       if (value == null) {
400         throw new NullPointerException();
401       }
402       hasPersonalNumber = true;
403       personalNumber_ = value;
404       return this;
405     }
406 
407     // required PhoneNumberDesc voip = 8;
408     private boolean hasVoip;
409     private PhoneNumberDesc voip_ = null;
hasVoip()410     public boolean hasVoip() { return hasVoip; }
getVoip()411     public PhoneNumberDesc getVoip() { return voip_; }
setVoip(PhoneNumberDesc value)412     public PhoneMetadata setVoip(PhoneNumberDesc value) {
413       if (value == null) {
414         throw new NullPointerException();
415       }
416       hasVoip = true;
417       voip_ = value;
418       return this;
419     }
420 
421     // required PhoneNumberDesc pager = 21;
422     private boolean hasPager;
423     private PhoneNumberDesc pager_ = null;
hasPager()424     public boolean hasPager() { return hasPager; }
getPager()425     public PhoneNumberDesc getPager() { return pager_; }
setPager(PhoneNumberDesc value)426     public PhoneMetadata setPager(PhoneNumberDesc value) {
427       if (value == null) {
428         throw new NullPointerException();
429       }
430       hasPager = true;
431       pager_ = value;
432       return this;
433     }
434 
435     // required PhoneNumberDesc uan = 25;
436     private boolean hasUan;
437     private PhoneNumberDesc uan_ = null;
hasUan()438     public boolean hasUan() { return hasUan; }
getUan()439     public PhoneNumberDesc getUan() { return uan_; }
setUan(PhoneNumberDesc value)440     public PhoneMetadata setUan(PhoneNumberDesc value) {
441       if (value == null) {
442         throw new NullPointerException();
443       }
444       hasUan = true;
445       uan_ = value;
446       return this;
447     }
448 
449     // required PhoneNumberDesc voicemail = 28;
450     private boolean hasVoicemail;
451     private PhoneNumberDesc voicemail_ = null;
hasVoicemail()452     public boolean hasVoicemail() { return hasVoicemail; }
getVoicemail()453     public PhoneNumberDesc getVoicemail() { return voicemail_; }
setVoicemail(PhoneNumberDesc value)454     public PhoneMetadata setVoicemail(PhoneNumberDesc value) {
455       if (value == null) {
456         throw new NullPointerException();
457       }
458       hasVoicemail = true;
459       voicemail_ = value;
460       return this;
461     }
462 
463     // required PhoneNumberDesc emergency = 27;
464     private boolean hasEmergency;
465     private PhoneNumberDesc emergency_ = null;
hasEmergency()466     public boolean hasEmergency() { return hasEmergency; }
getEmergency()467     public PhoneNumberDesc getEmergency() { return emergency_; }
setEmergency(PhoneNumberDesc value)468     public PhoneMetadata setEmergency(PhoneNumberDesc value) {
469       if (value == null) {
470         throw new NullPointerException();
471       }
472       hasEmergency = true;
473       emergency_ = value;
474       return this;
475     }
476 
477     // required PhoneNumberDesc noInternationalDialling = 24;
478     private boolean hasNoInternationalDialling;
479     private PhoneNumberDesc noInternationalDialling_ = null;
hasNoInternationalDialling()480     public boolean hasNoInternationalDialling() { return hasNoInternationalDialling; }
getNoInternationalDialling()481     public PhoneNumberDesc getNoInternationalDialling() { return noInternationalDialling_; }
setNoInternationalDialling(PhoneNumberDesc value)482     public PhoneMetadata setNoInternationalDialling(PhoneNumberDesc value) {
483       if (value == null) {
484         throw new NullPointerException();
485       }
486       hasNoInternationalDialling = true;
487       noInternationalDialling_ = value;
488       return this;
489     }
490 
491     // required string id = 9;
492     private boolean hasId;
493     private String id_ = "";
hasId()494     public boolean hasId() { return hasId; }
getId()495     public String getId() { return id_; }
setId(String value)496     public PhoneMetadata setId(String value) {
497       hasId = true;
498       id_ = value;
499       return this;
500     }
501 
502     // required int32 country_code = 10;
503     private boolean hasCountryCode;
504     private int countryCode_ = 0;
hasCountryCode()505     public boolean hasCountryCode() { return hasCountryCode; }
getCountryCode()506     public int getCountryCode() { return countryCode_; }
setCountryCode(int value)507     public PhoneMetadata setCountryCode(int value) {
508       hasCountryCode = true;
509       countryCode_ = value;
510       return this;
511     }
512 
513     // required string international_prefix = 11;
514     private boolean hasInternationalPrefix;
515     private String internationalPrefix_ = "";
hasInternationalPrefix()516     public boolean hasInternationalPrefix() { return hasInternationalPrefix; }
getInternationalPrefix()517     public String getInternationalPrefix() { return internationalPrefix_; }
setInternationalPrefix(String value)518     public PhoneMetadata setInternationalPrefix(String value) {
519       hasInternationalPrefix = true;
520       internationalPrefix_ = value;
521       return this;
522     }
523 
524     // optional string preferred_international_prefix = 17;
525     private boolean hasPreferredInternationalPrefix;
526     private String preferredInternationalPrefix_ = "";
hasPreferredInternationalPrefix()527     public boolean hasPreferredInternationalPrefix() { return hasPreferredInternationalPrefix; }
getPreferredInternationalPrefix()528     public String getPreferredInternationalPrefix() { return preferredInternationalPrefix_; }
setPreferredInternationalPrefix(String value)529     public PhoneMetadata setPreferredInternationalPrefix(String value) {
530       hasPreferredInternationalPrefix = true;
531       preferredInternationalPrefix_ = value;
532       return this;
533     }
534 
535     // optional string national_prefix = 12;
536     private boolean hasNationalPrefix;
537     private String nationalPrefix_ = "";
hasNationalPrefix()538     public boolean hasNationalPrefix() { return hasNationalPrefix; }
getNationalPrefix()539     public String getNationalPrefix() { return nationalPrefix_; }
setNationalPrefix(String value)540     public PhoneMetadata setNationalPrefix(String value) {
541       hasNationalPrefix = true;
542       nationalPrefix_ = value;
543       return this;
544     }
545 
546     // optional string preferred_extn_prefix = 13;
547     private boolean hasPreferredExtnPrefix;
548     private String preferredExtnPrefix_ = "";
hasPreferredExtnPrefix()549     public boolean hasPreferredExtnPrefix() { return hasPreferredExtnPrefix; }
getPreferredExtnPrefix()550     public String getPreferredExtnPrefix() { return preferredExtnPrefix_; }
setPreferredExtnPrefix(String value)551     public PhoneMetadata setPreferredExtnPrefix(String value) {
552       hasPreferredExtnPrefix = true;
553       preferredExtnPrefix_ = value;
554       return this;
555     }
556 
557     // optional string national_prefix_for_parsing = 15;
558     private boolean hasNationalPrefixForParsing;
559     private String nationalPrefixForParsing_ = "";
hasNationalPrefixForParsing()560     public boolean hasNationalPrefixForParsing() { return hasNationalPrefixForParsing; }
getNationalPrefixForParsing()561     public String getNationalPrefixForParsing() { return nationalPrefixForParsing_; }
setNationalPrefixForParsing(String value)562     public PhoneMetadata setNationalPrefixForParsing(String value) {
563       hasNationalPrefixForParsing = true;
564       nationalPrefixForParsing_ = value;
565       return this;
566     }
567 
568     // optional string national_prefix_transform_rule = 16;
569     private boolean hasNationalPrefixTransformRule;
570     private String nationalPrefixTransformRule_ = "";
hasNationalPrefixTransformRule()571     public boolean hasNationalPrefixTransformRule() { return hasNationalPrefixTransformRule; }
getNationalPrefixTransformRule()572     public String getNationalPrefixTransformRule() { return nationalPrefixTransformRule_; }
setNationalPrefixTransformRule(String value)573     public PhoneMetadata setNationalPrefixTransformRule(String value) {
574       hasNationalPrefixTransformRule = true;
575       nationalPrefixTransformRule_ = value;
576       return this;
577     }
578 
579     // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
580     private boolean hasSameMobileAndFixedLinePattern;
581     private boolean sameMobileAndFixedLinePattern_ = false;
hasSameMobileAndFixedLinePattern()582     public boolean hasSameMobileAndFixedLinePattern() { return hasSameMobileAndFixedLinePattern; }
isSameMobileAndFixedLinePattern()583     public boolean isSameMobileAndFixedLinePattern() { return sameMobileAndFixedLinePattern_; }
setSameMobileAndFixedLinePattern(boolean value)584     public PhoneMetadata setSameMobileAndFixedLinePattern(boolean value) {
585       hasSameMobileAndFixedLinePattern = true;
586       sameMobileAndFixedLinePattern_ = value;
587       return this;
588     }
589 
590     // repeated NumberFormat number_format = 19;
591     private java.util.List<NumberFormat> numberFormat_ = new java.util.ArrayList<NumberFormat>();
numberFormats()592     public java.util.List<NumberFormat> numberFormats() {
593       return numberFormat_;
594     }
numberFormatSize()595     public int numberFormatSize() { return numberFormat_.size(); }
getNumberFormat(int index)596     public NumberFormat getNumberFormat(int index) {
597       return numberFormat_.get(index);
598     }
addNumberFormat(NumberFormat value)599     public PhoneMetadata addNumberFormat(NumberFormat value) {
600       if (value == null) {
601         throw new NullPointerException();
602       }
603       numberFormat_.add(value);
604       return this;
605     }
606 
607     // repeated NumberFormat intl_number_format = 20;
608     private java.util.List<NumberFormat> intlNumberFormat_ =
609         new java.util.ArrayList<NumberFormat>();
intlNumberFormats()610     public java.util.List<NumberFormat> intlNumberFormats() {
611       return intlNumberFormat_;
612     }
intlNumberFormatSize()613     public int intlNumberFormatSize() { return intlNumberFormat_.size(); }
getIntlNumberFormat(int index)614     public NumberFormat getIntlNumberFormat(int index) {
615       return intlNumberFormat_.get(index);
616     }
617 
addIntlNumberFormat(NumberFormat value)618     public PhoneMetadata addIntlNumberFormat(NumberFormat value) {
619       if (value == null) {
620         throw new NullPointerException();
621       }
622       intlNumberFormat_.add(value);
623       return this;
624     }
clearIntlNumberFormat()625     public PhoneMetadata clearIntlNumberFormat() {
626       intlNumberFormat_.clear();
627       return this;
628     }
629 
630     // optional bool main_country_for_code = 22 [default = false];
631     private boolean hasMainCountryForCode;
632     private boolean mainCountryForCode_ = false;
hasMainCountryForCode()633     public boolean hasMainCountryForCode() { return hasMainCountryForCode; }
isMainCountryForCode()634     public boolean isMainCountryForCode() { return mainCountryForCode_; }
635     // Method that lets this class have the same interface as the one generated by Protocol Buffers
636     // which is used by C++ build tools.
getMainCountryForCode()637     public boolean getMainCountryForCode() { return mainCountryForCode_; }
setMainCountryForCode(boolean value)638     public PhoneMetadata setMainCountryForCode(boolean value) {
639       hasMainCountryForCode = true;
640       mainCountryForCode_ = value;
641       return this;
642     }
643 
644     // optional string leading_digits = 23;
645     private boolean hasLeadingDigits;
646     private String leadingDigits_ = "";
hasLeadingDigits()647     public boolean hasLeadingDigits() { return hasLeadingDigits; }
getLeadingDigits()648     public String getLeadingDigits() { return leadingDigits_; }
setLeadingDigits(String value)649     public PhoneMetadata setLeadingDigits(String value) {
650       hasLeadingDigits = true;
651       leadingDigits_ = value;
652       return this;
653     }
654 
655     // optional bool leading_zero_possible = 26 [default = false];
656     private boolean hasLeadingZeroPossible;
657     private boolean leadingZeroPossible_ = false;
hasLeadingZeroPossible()658     public boolean hasLeadingZeroPossible() { return hasLeadingZeroPossible; }
isLeadingZeroPossible()659     public boolean isLeadingZeroPossible() { return leadingZeroPossible_; }
setLeadingZeroPossible(boolean value)660     public PhoneMetadata setLeadingZeroPossible(boolean value) {
661       hasLeadingZeroPossible = true;
662       leadingZeroPossible_ = value;
663       return this;
664     }
665 
writeExternal(ObjectOutput objectOutput)666     public void writeExternal(ObjectOutput objectOutput) throws IOException {
667       objectOutput.writeBoolean(hasGeneralDesc);
668       if (hasGeneralDesc) {
669         generalDesc_.writeExternal(objectOutput);
670       }
671       objectOutput.writeBoolean(hasFixedLine);
672       if (hasFixedLine) {
673         fixedLine_.writeExternal(objectOutput);
674       }
675       objectOutput.writeBoolean(hasMobile);
676       if (hasMobile) {
677         mobile_.writeExternal(objectOutput);
678       }
679       objectOutput.writeBoolean(hasTollFree);
680       if (hasTollFree) {
681         tollFree_.writeExternal(objectOutput);
682       }
683       objectOutput.writeBoolean(hasPremiumRate);
684       if (hasPremiumRate) {
685         premiumRate_.writeExternal(objectOutput);
686       }
687       objectOutput.writeBoolean(hasSharedCost);
688       if (hasSharedCost) {
689         sharedCost_.writeExternal(objectOutput);
690       }
691       objectOutput.writeBoolean(hasPersonalNumber);
692       if (hasPersonalNumber) {
693         personalNumber_.writeExternal(objectOutput);
694       }
695       objectOutput.writeBoolean(hasVoip);
696       if (hasVoip) {
697         voip_.writeExternal(objectOutput);
698       }
699       objectOutput.writeBoolean(hasPager);
700       if (hasPager) {
701         pager_.writeExternal(objectOutput);
702       }
703       objectOutput.writeBoolean(hasUan);
704       if (hasUan) {
705         uan_.writeExternal(objectOutput);
706       }
707       objectOutput.writeBoolean(hasVoicemail);
708       if (hasVoicemail) {
709         voicemail_.writeExternal(objectOutput);
710       }
711       objectOutput.writeBoolean(hasEmergency);
712       if (hasEmergency) {
713         emergency_.writeExternal(objectOutput);
714       }
715       objectOutput.writeBoolean(hasNoInternationalDialling);
716       if (hasNoInternationalDialling) {
717         noInternationalDialling_.writeExternal(objectOutput);
718       }
719 
720       objectOutput.writeUTF(id_);
721       objectOutput.writeInt(countryCode_);
722       objectOutput.writeUTF(internationalPrefix_);
723 
724       objectOutput.writeBoolean(hasPreferredInternationalPrefix);
725       if (hasPreferredInternationalPrefix) {
726         objectOutput.writeUTF(preferredInternationalPrefix_);
727       }
728 
729       objectOutput.writeBoolean(hasNationalPrefix);
730       if (hasNationalPrefix) {
731         objectOutput.writeUTF(nationalPrefix_);
732       }
733 
734       objectOutput.writeBoolean(hasPreferredExtnPrefix);
735       if (hasPreferredExtnPrefix) {
736         objectOutput.writeUTF(preferredExtnPrefix_);
737       }
738 
739       objectOutput.writeBoolean(hasNationalPrefixForParsing);
740       if (hasNationalPrefixForParsing) {
741         objectOutput.writeUTF(nationalPrefixForParsing_);
742       }
743 
744       objectOutput.writeBoolean(hasNationalPrefixTransformRule);
745       if (hasNationalPrefixTransformRule) {
746         objectOutput.writeUTF(nationalPrefixTransformRule_);
747       }
748 
749       objectOutput.writeBoolean(sameMobileAndFixedLinePattern_);
750 
751       int numberFormatSize = numberFormatSize();
752       objectOutput.writeInt(numberFormatSize);
753       for (int i = 0; i < numberFormatSize; i++) {
754         numberFormat_.get(i).writeExternal(objectOutput);
755       }
756 
757       int intlNumberFormatSize = intlNumberFormatSize();
758       objectOutput.writeInt(intlNumberFormatSize);
759       for (int i = 0; i < intlNumberFormatSize; i++) {
760         intlNumberFormat_.get(i).writeExternal(objectOutput);
761       }
762 
763       objectOutput.writeBoolean(mainCountryForCode_);
764 
765       objectOutput.writeBoolean(hasLeadingDigits);
766       if (hasLeadingDigits) {
767         objectOutput.writeUTF(leadingDigits_);
768       }
769 
770       objectOutput.writeBoolean(leadingZeroPossible_);
771     }
772 
readExternal(ObjectInput objectInput)773     public void readExternal(ObjectInput objectInput) throws IOException {
774       boolean hasDesc = objectInput.readBoolean();
775       if (hasDesc) {
776         PhoneNumberDesc desc = new PhoneNumberDesc();
777         desc.readExternal(objectInput);
778         setGeneralDesc(desc);
779       }
780       hasDesc = objectInput.readBoolean();
781       if (hasDesc) {
782         PhoneNumberDesc desc = new PhoneNumberDesc();
783         desc.readExternal(objectInput);
784         setFixedLine(desc);
785       }
786       hasDesc = objectInput.readBoolean();
787       if (hasDesc) {
788         PhoneNumberDesc desc = new PhoneNumberDesc();
789         desc.readExternal(objectInput);
790         setMobile(desc);
791       }
792       hasDesc = objectInput.readBoolean();
793       if (hasDesc) {
794         PhoneNumberDesc desc = new PhoneNumberDesc();
795         desc.readExternal(objectInput);
796         setTollFree(desc);
797       }
798       hasDesc = objectInput.readBoolean();
799       if (hasDesc) {
800         PhoneNumberDesc desc = new PhoneNumberDesc();
801         desc.readExternal(objectInput);
802         setPremiumRate(desc);
803       }
804       hasDesc = objectInput.readBoolean();
805       if (hasDesc) {
806         PhoneNumberDesc desc = new PhoneNumberDesc();
807         desc.readExternal(objectInput);
808         setSharedCost(desc);
809       }
810       hasDesc = objectInput.readBoolean();
811       if (hasDesc) {
812         PhoneNumberDesc desc = new PhoneNumberDesc();
813         desc.readExternal(objectInput);
814         setPersonalNumber(desc);
815       }
816       hasDesc = objectInput.readBoolean();
817       if (hasDesc) {
818         PhoneNumberDesc desc = new PhoneNumberDesc();
819         desc.readExternal(objectInput);
820         setVoip(desc);
821       }
822       hasDesc = objectInput.readBoolean();
823       if (hasDesc) {
824         PhoneNumberDesc desc = new PhoneNumberDesc();
825         desc.readExternal(objectInput);
826         setPager(desc);
827       }
828       hasDesc = objectInput.readBoolean();
829       if (hasDesc) {
830         PhoneNumberDesc desc = new PhoneNumberDesc();
831         desc.readExternal(objectInput);
832         setUan(desc);
833       }
834       hasDesc = objectInput.readBoolean();
835       if (hasDesc) {
836         PhoneNumberDesc desc = new PhoneNumberDesc();
837         desc.readExternal(objectInput);
838         setVoicemail(desc);
839       }
840       hasDesc = objectInput.readBoolean();
841       if (hasDesc) {
842         PhoneNumberDesc desc = new PhoneNumberDesc();
843         desc.readExternal(objectInput);
844         setEmergency(desc);
845       }
846       hasDesc = objectInput.readBoolean();
847       if (hasDesc) {
848         PhoneNumberDesc desc = new PhoneNumberDesc();
849         desc.readExternal(objectInput);
850         setNoInternationalDialling(desc);
851       }
852 
853       setId(objectInput.readUTF());
854       setCountryCode(objectInput.readInt());
855       setInternationalPrefix(objectInput.readUTF());
856 
857       boolean hasString = objectInput.readBoolean();
858       if (hasString) {
859         setPreferredInternationalPrefix(objectInput.readUTF());
860       }
861 
862       hasString = objectInput.readBoolean();
863       if (hasString) {
864         setNationalPrefix(objectInput.readUTF());
865       }
866 
867       hasString = objectInput.readBoolean();
868       if (hasString) {
869         setPreferredExtnPrefix(objectInput.readUTF());
870       }
871 
872       hasString = objectInput.readBoolean();
873       if (hasString) {
874         setNationalPrefixForParsing(objectInput.readUTF());
875       }
876 
877       hasString = objectInput.readBoolean();
878       if (hasString) {
879         setNationalPrefixTransformRule(objectInput.readUTF());
880       }
881 
882       setSameMobileAndFixedLinePattern(objectInput.readBoolean());
883 
884       int nationalFormatSize = objectInput.readInt();
885       for (int i = 0; i < nationalFormatSize; i++) {
886         NumberFormat numFormat = new NumberFormat();
887         numFormat.readExternal(objectInput);
888         numberFormat_.add(numFormat);
889       }
890 
891       int intlNumberFormatSize = objectInput.readInt();
892       for (int i = 0; i < intlNumberFormatSize; i++) {
893         NumberFormat numFormat = new NumberFormat();
894         numFormat.readExternal(objectInput);
895         intlNumberFormat_.add(numFormat);
896       }
897 
898       setMainCountryForCode(objectInput.readBoolean());
899 
900       hasString = objectInput.readBoolean();
901       if (hasString) {
902         setLeadingDigits(objectInput.readUTF());
903       }
904 
905       setLeadingZeroPossible(objectInput.readBoolean());
906     }
907   }
908 
909   public static class PhoneMetadataCollection implements Externalizable {
910     private static final long serialVersionUID = 1;
PhoneMetadataCollection()911     public PhoneMetadataCollection() {}
912 
913     /**
914      * Provides a dummy builder.
915      *
916      * @see NumberFormat.Builder
917      */
918     public static final class Builder extends PhoneMetadataCollection {
build()919       public PhoneMetadataCollection build() {
920         return this;
921       }
922     }
newBuilder()923     public static Builder newBuilder() {
924       return new Builder();
925     }
926 
927     // repeated PhoneMetadata metadata = 1;
928     private java.util.List<PhoneMetadata> metadata_ = new java.util.ArrayList<PhoneMetadata>();
929 
getMetadataList()930     public java.util.List<PhoneMetadata> getMetadataList() {
931       return metadata_;
932     }
getMetadataCount()933     public int getMetadataCount() { return metadata_.size(); }
934 
addMetadata(PhoneMetadata value)935     public PhoneMetadataCollection addMetadata(PhoneMetadata value) {
936       if (value == null) {
937         throw new NullPointerException();
938       }
939       metadata_.add(value);
940       return this;
941     }
942 
writeExternal(ObjectOutput objectOutput)943     public void writeExternal(ObjectOutput objectOutput) throws IOException {
944       int size = getMetadataCount();
945       objectOutput.writeInt(size);
946       for (int i = 0; i < size; i++) {
947         metadata_.get(i).writeExternal(objectOutput);
948       }
949     }
950 
readExternal(ObjectInput objectInput)951     public void readExternal(ObjectInput objectInput) throws IOException {
952       int size = objectInput.readInt();
953       for (int i = 0; i < size; i++) {
954         PhoneMetadata metadata = new PhoneMetadata();
955         metadata.readExternal(objectInput);
956         metadata_.add(metadata);
957       }
958     }
959 
clear()960     public PhoneMetadataCollection clear() {
961       metadata_.clear();
962       return this;
963     }
964   }
965 }
966