• 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  * <p>WARNING: This API isn't stable. It is considered libphonenumber-internal and can change at any
23  * time. We only declare it as public for easy inclusion in our build tools not in this package.
24  * Clients should not refer to this file, we do not commit to support backwards-compatibility or to
25  * warn about breaking changes.
26  */
27 
28 package com.google.i18n.phonenumbers;
29 
30 import java.io.Externalizable;
31 import java.io.IOException;
32 import java.io.ObjectInput;
33 import java.io.ObjectOutput;
34 
35 public final class Phonemetadata {
Phonemetadata()36   private Phonemetadata() {}
37   public static class NumberFormat implements Externalizable {
38     private static final long serialVersionUID = 1;
NumberFormat()39     public NumberFormat() {}
40 
41     /**
42      * Provides a dummy builder to 'emulate' the API of the code generated by the latest version of
43      * Protocol Buffers. This lets BuildMetadataFromXml class to build with both this hand created
44      * class and the one generated by the latest version of Protocol Buffers.
45      */
46     public static final class Builder extends NumberFormat {
build()47       public NumberFormat build() {
48         return this;
49       }
50 
mergeFrom(NumberFormat other)51       public Builder mergeFrom(NumberFormat other) {
52         if (other.hasPattern()) {
53           setPattern(other.getPattern());
54         }
55         if (other.hasFormat()) {
56           setFormat(other.getFormat());
57         }
58         for (int i = 0; i < other.leadingDigitsPatternSize(); i++) {
59           addLeadingDigitsPattern(other.getLeadingDigitsPattern(i));
60         }
61         if (other.hasNationalPrefixFormattingRule()) {
62           setNationalPrefixFormattingRule(other.getNationalPrefixFormattingRule());
63         }
64         if (other.hasDomesticCarrierCodeFormattingRule()) {
65           setDomesticCarrierCodeFormattingRule(other.getDomesticCarrierCodeFormattingRule());
66         }
67         if (other.hasNationalPrefixOptionalWhenFormatting()) {
68           setNationalPrefixOptionalWhenFormatting(other.isNationalPrefixOptionalWhenFormatting());
69         }
70         return this;
71       }
72     }
73 
newBuilder()74     public static Builder newBuilder() {
75       return new Builder();
76     }
77 
78     // required string pattern = 1;
79     private boolean hasPattern;
80     private String pattern_ = "";
hasPattern()81     public boolean hasPattern() { return hasPattern; }
getPattern()82     public String getPattern() { return pattern_; }
setPattern(String value)83     public NumberFormat setPattern(String value) {
84       hasPattern = true;
85       pattern_ = value;
86       return this;
87     }
88 
89     // required string format = 2;
90     private boolean hasFormat;
91     private String format_ = "";
hasFormat()92     public boolean hasFormat() { return hasFormat; }
getFormat()93     public String getFormat() { return format_; }
setFormat(String value)94     public NumberFormat setFormat(String value) {
95       hasFormat = true;
96       format_ = value;
97       return this;
98     }
99 
100     // repeated string leading_digits_pattern = 3;
101     private java.util.List<String> leadingDigitsPattern_ = new java.util.ArrayList<String>();
leadingDigitPatterns()102     public java.util.List<String> leadingDigitPatterns() {
103       return leadingDigitsPattern_;
104     }
leadingDigitsPatternSize()105     public int leadingDigitsPatternSize() { return leadingDigitsPattern_.size(); }
getLeadingDigitsPattern(int index)106     public String getLeadingDigitsPattern(int index) {
107       return leadingDigitsPattern_.get(index);
108     }
addLeadingDigitsPattern(String value)109     public NumberFormat addLeadingDigitsPattern(String value) {
110       if (value == null) {
111         throw new NullPointerException();
112       }
113       leadingDigitsPattern_.add(value);
114       return this;
115     }
116 
117     // optional string national_prefix_formatting_rule = 4;
118     private boolean hasNationalPrefixFormattingRule;
119     private String nationalPrefixFormattingRule_ = "";
hasNationalPrefixFormattingRule()120     public boolean hasNationalPrefixFormattingRule() { return hasNationalPrefixFormattingRule; }
getNationalPrefixFormattingRule()121     public String getNationalPrefixFormattingRule() { return nationalPrefixFormattingRule_; }
setNationalPrefixFormattingRule(String value)122     public NumberFormat setNationalPrefixFormattingRule(String value) {
123       hasNationalPrefixFormattingRule = true;
124       nationalPrefixFormattingRule_ = value;
125       return this;
126     }
clearNationalPrefixFormattingRule()127     public NumberFormat clearNationalPrefixFormattingRule() {
128       hasNationalPrefixFormattingRule = false;
129       nationalPrefixFormattingRule_ = "";
130       return this;
131     }
132 
133     // optional bool national_prefix_optional_when_formatting = 6;
134     private boolean hasNationalPrefixOptionalWhenFormatting;
135     private boolean nationalPrefixOptionalWhenFormatting_ = false;
hasNationalPrefixOptionalWhenFormatting()136     public boolean hasNationalPrefixOptionalWhenFormatting() {
137       return hasNationalPrefixOptionalWhenFormatting; }
isNationalPrefixOptionalWhenFormatting()138     public boolean isNationalPrefixOptionalWhenFormatting() {
139       return nationalPrefixOptionalWhenFormatting_; }
setNationalPrefixOptionalWhenFormatting(boolean value)140     public NumberFormat setNationalPrefixOptionalWhenFormatting(boolean value) {
141       hasNationalPrefixOptionalWhenFormatting = true;
142       nationalPrefixOptionalWhenFormatting_ = value;
143       return this;
144     }
145 
146     // optional string domestic_carrier_code_formatting_rule = 5;
147     private boolean hasDomesticCarrierCodeFormattingRule;
148     private String domesticCarrierCodeFormattingRule_ = "";
hasDomesticCarrierCodeFormattingRule()149     public boolean hasDomesticCarrierCodeFormattingRule() {
150       return hasDomesticCarrierCodeFormattingRule; }
getDomesticCarrierCodeFormattingRule()151     public String getDomesticCarrierCodeFormattingRule() {
152       return domesticCarrierCodeFormattingRule_; }
setDomesticCarrierCodeFormattingRule(String value)153     public NumberFormat setDomesticCarrierCodeFormattingRule(String value) {
154       hasDomesticCarrierCodeFormattingRule = true;
155       domesticCarrierCodeFormattingRule_ = value;
156       return this;
157     }
158 
writeExternal(ObjectOutput objectOutput)159     public void writeExternal(ObjectOutput objectOutput) throws IOException {
160       objectOutput.writeUTF(pattern_);
161       objectOutput.writeUTF(format_);
162       int leadingDigitsPatternSize = leadingDigitsPatternSize();
163       objectOutput.writeInt(leadingDigitsPatternSize);
164       for (int i = 0; i < leadingDigitsPatternSize; i++) {
165         objectOutput.writeUTF(leadingDigitsPattern_.get(i));
166       }
167 
168       objectOutput.writeBoolean(hasNationalPrefixFormattingRule);
169       if (hasNationalPrefixFormattingRule) {
170         objectOutput.writeUTF(nationalPrefixFormattingRule_);
171       }
172       objectOutput.writeBoolean(hasDomesticCarrierCodeFormattingRule);
173       if (hasDomesticCarrierCodeFormattingRule) {
174         objectOutput.writeUTF(domesticCarrierCodeFormattingRule_);
175       }
176       objectOutput.writeBoolean(nationalPrefixOptionalWhenFormatting_);
177     }
178 
readExternal(ObjectInput objectInput)179     public void readExternal(ObjectInput objectInput) throws IOException {
180       setPattern(objectInput.readUTF());
181       setFormat(objectInput.readUTF());
182       int leadingDigitsPatternSize = objectInput.readInt();
183       for (int i = 0; i < leadingDigitsPatternSize; i++) {
184         leadingDigitsPattern_.add(objectInput.readUTF());
185       }
186       if (objectInput.readBoolean()) {
187         setNationalPrefixFormattingRule(objectInput.readUTF());
188       }
189       if (objectInput.readBoolean()) {
190         setDomesticCarrierCodeFormattingRule(objectInput.readUTF());
191       }
192       setNationalPrefixOptionalWhenFormatting(objectInput.readBoolean());
193     }
194   }
195 
196   public static class PhoneNumberDesc implements Externalizable {
197     private static final long serialVersionUID = 1;
PhoneNumberDesc()198     public PhoneNumberDesc() {}
199 
200     /**
201      * Provides a dummy builder.
202      *
203      * @see NumberFormat.Builder
204      */
205     public static final class Builder extends PhoneNumberDesc {
build()206       public PhoneNumberDesc build() {
207         return this;
208       }
209 
mergeFrom(PhoneNumberDesc other)210       public Builder mergeFrom(PhoneNumberDesc other) {
211         if (other.hasNationalNumberPattern()) {
212           setNationalNumberPattern(other.getNationalNumberPattern());
213         }
214         if (other.hasPossibleNumberPattern()) {
215           setPossibleNumberPattern(other.getPossibleNumberPattern());
216         }
217         for (int i = 0; i < other.getPossibleLengthCount(); i++) {
218           addPossibleLength(other.getPossibleLength(i));
219         }
220         for (int i = 0; i < other.getPossibleLengthLocalOnlyCount(); i++) {
221           addPossibleLengthLocalOnly(other.getPossibleLengthLocalOnly(i));
222         }
223         if (other.hasExampleNumber()) {
224           setExampleNumber(other.getExampleNumber());
225         }
226         return this;
227       }
228     }
229 
newBuilder()230     public static Builder newBuilder() {
231       return new Builder();
232     }
233 
234     // optional string national_number_pattern = 2;
235     private boolean hasNationalNumberPattern;
236     private String nationalNumberPattern_ = "";
hasNationalNumberPattern()237     public boolean hasNationalNumberPattern() { return hasNationalNumberPattern; }
getNationalNumberPattern()238     public String getNationalNumberPattern() { return nationalNumberPattern_; }
setNationalNumberPattern(String value)239     public PhoneNumberDesc setNationalNumberPattern(String value) {
240       hasNationalNumberPattern = true;
241       nationalNumberPattern_ = value;
242       return this;
243     }
clearNationalNumberPattern()244     public PhoneNumberDesc clearNationalNumberPattern() {
245       hasNationalNumberPattern = false;
246       nationalNumberPattern_ = "";
247       return this;
248     }
249 
250     // optional string possible_number_pattern = 3;
251     private boolean hasPossibleNumberPattern;
252     private String possibleNumberPattern_ = "";
hasPossibleNumberPattern()253     public boolean hasPossibleNumberPattern() { return hasPossibleNumberPattern; }
getPossibleNumberPattern()254     public String getPossibleNumberPattern() { return possibleNumberPattern_; }
setPossibleNumberPattern(String value)255     public PhoneNumberDesc setPossibleNumberPattern(String value) {
256       hasPossibleNumberPattern = true;
257       possibleNumberPattern_ = value;
258       return this;
259     }
clearPossibleNumberPattern()260     public PhoneNumberDesc clearPossibleNumberPattern() {
261       hasPossibleNumberPattern = false;
262       possibleNumberPattern_ = "";
263       return this;
264     }
265 
266     // repeated int32 possible_length = 9;
267     private java.util.List<Integer> possibleLength_ = new java.util.ArrayList<Integer>();
getPossibleLengthList()268     public java.util.List<Integer> getPossibleLengthList() {
269       return possibleLength_;
270     }
getPossibleLengthCount()271     public int getPossibleLengthCount() { return possibleLength_.size(); }
getPossibleLength(int index)272     public int getPossibleLength(int index) {
273       return possibleLength_.get(index);
274     }
addPossibleLength(int value)275     public PhoneNumberDesc addPossibleLength(int value) {
276       possibleLength_.add(value);
277       return this;
278     }
clearPossibleLength()279     public PhoneNumberDesc clearPossibleLength() {
280       possibleLength_.clear();
281       return this;
282     }
283 
284     // repeated int32 possible_length_local_only = 10;
285     private java.util.List<Integer> possibleLengthLocalOnly_ = new java.util.ArrayList<Integer>();
getPossibleLengthLocalOnlyList()286     public java.util.List<Integer> getPossibleLengthLocalOnlyList() {
287       return possibleLengthLocalOnly_;
288     }
getPossibleLengthLocalOnlyCount()289     public int getPossibleLengthLocalOnlyCount() { return possibleLengthLocalOnly_.size(); }
getPossibleLengthLocalOnly(int index)290     public int getPossibleLengthLocalOnly(int index) {
291       return possibleLengthLocalOnly_.get(index);
292     }
addPossibleLengthLocalOnly(int value)293     public PhoneNumberDesc addPossibleLengthLocalOnly(int value) {
294       possibleLengthLocalOnly_.add(value);
295       return this;
296     }
clearPossibleLengthLocalOnly()297     public PhoneNumberDesc clearPossibleLengthLocalOnly() {
298       possibleLengthLocalOnly_.clear();
299       return this;
300     }
301 
302     // optional string example_number = 6;
303     private boolean hasExampleNumber;
304     private String exampleNumber_ = "";
hasExampleNumber()305     public boolean hasExampleNumber() { return hasExampleNumber; }
getExampleNumber()306     public String getExampleNumber() { return exampleNumber_; }
setExampleNumber(String value)307     public PhoneNumberDesc setExampleNumber(String value) {
308       hasExampleNumber = true;
309       exampleNumber_ = value;
310       return this;
311     }
clearExampleNumber()312     public PhoneNumberDesc clearExampleNumber() {
313       hasExampleNumber = false;
314       exampleNumber_ = "";
315       return this;
316     }
317 
exactlySameAs(PhoneNumberDesc other)318     public boolean exactlySameAs(PhoneNumberDesc other) {
319       return nationalNumberPattern_.equals(other.nationalNumberPattern_) &&
320           possibleNumberPattern_.equals(other.possibleNumberPattern_) &&
321           possibleLength_.equals(other.possibleLength_) &&
322           possibleLengthLocalOnly_.equals(other.possibleLengthLocalOnly_) &&
323           exampleNumber_.equals(other.exampleNumber_);
324     }
325 
writeExternal(ObjectOutput objectOutput)326     public void writeExternal(ObjectOutput objectOutput) throws IOException {
327       objectOutput.writeBoolean(hasNationalNumberPattern);
328       if (hasNationalNumberPattern) {
329         objectOutput.writeUTF(nationalNumberPattern_);
330       }
331 
332       objectOutput.writeBoolean(hasPossibleNumberPattern);
333       if (hasPossibleNumberPattern) {
334         objectOutput.writeUTF(possibleNumberPattern_);
335       }
336 
337       int possibleLengthSize = getPossibleLengthCount();
338       objectOutput.writeInt(possibleLengthSize);
339       for (int i = 0; i < possibleLengthSize; i++) {
340         objectOutput.writeInt(possibleLength_.get(i));
341       }
342 
343       int possibleLengthLocalOnlySize = getPossibleLengthLocalOnlyCount();
344       objectOutput.writeInt(possibleLengthLocalOnlySize);
345       for (int i = 0; i < possibleLengthLocalOnlySize; i++) {
346         objectOutput.writeInt(possibleLengthLocalOnly_.get(i));
347       }
348 
349       objectOutput.writeBoolean(hasExampleNumber);
350       if (hasExampleNumber) {
351         objectOutput.writeUTF(exampleNumber_);
352       }
353     }
354 
readExternal(ObjectInput objectInput)355     public void readExternal(ObjectInput objectInput) throws IOException {
356       if (objectInput.readBoolean()) {
357         setNationalNumberPattern(objectInput.readUTF());
358       }
359 
360       if (objectInput.readBoolean()) {
361         setPossibleNumberPattern(objectInput.readUTF());
362       }
363 
364       int possibleLengthSize = objectInput.readInt();
365       for (int i = 0; i < possibleLengthSize; i++) {
366         possibleLength_.add(objectInput.readInt());
367       }
368 
369       int possibleLengthLocalOnlySize = objectInput.readInt();
370       for (int i = 0; i < possibleLengthLocalOnlySize; i++) {
371         possibleLengthLocalOnly_.add(objectInput.readInt());
372       }
373 
374       if (objectInput.readBoolean()) {
375         setExampleNumber(objectInput.readUTF());
376       }
377     }
378   }
379 
380   public static class PhoneMetadata implements Externalizable {
381     private static final long serialVersionUID = 1;
PhoneMetadata()382     public PhoneMetadata() {}
383 
384     /**
385      * Provides a dummy builder.
386      *
387      * @see NumberFormat.Builder
388      */
389     public static final class Builder extends PhoneMetadata {
build()390       public PhoneMetadata build() {
391         return this;
392       }
393     }
newBuilder()394     public static Builder newBuilder() {
395       return new Builder();
396     }
397 
398     // optional PhoneNumberDesc general_desc = 1;
399     private boolean hasGeneralDesc;
400     private PhoneNumberDesc generalDesc_ = null;
hasGeneralDesc()401     public boolean hasGeneralDesc() { return hasGeneralDesc; }
getGeneralDesc()402     public PhoneNumberDesc getGeneralDesc() { return generalDesc_; }
setGeneralDesc(PhoneNumberDesc value)403     public PhoneMetadata setGeneralDesc(PhoneNumberDesc value) {
404       if (value == null) {
405         throw new NullPointerException();
406       }
407       hasGeneralDesc = true;
408       generalDesc_ = value;
409       return this;
410     }
411 
412     // optional PhoneNumberDesc fixed_line = 2;
413     private boolean hasFixedLine;
414     private PhoneNumberDesc fixedLine_ = null;
hasFixedLine()415     public boolean hasFixedLine() { return hasFixedLine; }
getFixedLine()416     public PhoneNumberDesc getFixedLine() { return fixedLine_; }
setFixedLine(PhoneNumberDesc value)417     public PhoneMetadata setFixedLine(PhoneNumberDesc value) {
418       if (value == null) {
419         throw new NullPointerException();
420       }
421       hasFixedLine = true;
422       fixedLine_ = value;
423       return this;
424     }
425 
426     // optional PhoneNumberDesc mobile = 3;
427     private boolean hasMobile;
428     private PhoneNumberDesc mobile_ = null;
hasMobile()429     public boolean hasMobile() { return hasMobile; }
getMobile()430     public PhoneNumberDesc getMobile() { return mobile_; }
setMobile(PhoneNumberDesc value)431     public PhoneMetadata setMobile(PhoneNumberDesc value) {
432       if (value == null) {
433         throw new NullPointerException();
434       }
435       hasMobile = true;
436       mobile_ = value;
437       return this;
438     }
439 
440     // optional PhoneNumberDesc toll_free = 4;
441     private boolean hasTollFree;
442     private PhoneNumberDesc tollFree_ = null;
hasTollFree()443     public boolean hasTollFree() { return hasTollFree; }
getTollFree()444     public PhoneNumberDesc getTollFree() { return tollFree_; }
setTollFree(PhoneNumberDesc value)445     public PhoneMetadata setTollFree(PhoneNumberDesc value) {
446       if (value == null) {
447         throw new NullPointerException();
448       }
449       hasTollFree = true;
450       tollFree_ = value;
451       return this;
452     }
453 
454     // optional PhoneNumberDesc premium_rate = 5;
455     private boolean hasPremiumRate;
456     private PhoneNumberDesc premiumRate_ = null;
hasPremiumRate()457     public boolean hasPremiumRate() { return hasPremiumRate; }
getPremiumRate()458     public PhoneNumberDesc getPremiumRate() { return premiumRate_; }
setPremiumRate(PhoneNumberDesc value)459     public PhoneMetadata setPremiumRate(PhoneNumberDesc value) {
460       if (value == null) {
461         throw new NullPointerException();
462       }
463       hasPremiumRate = true;
464       premiumRate_ = value;
465       return this;
466     }
467 
468     // optional PhoneNumberDesc shared_cost = 6;
469     private boolean hasSharedCost;
470     private PhoneNumberDesc sharedCost_ = null;
hasSharedCost()471     public boolean hasSharedCost() { return hasSharedCost; }
getSharedCost()472     public PhoneNumberDesc getSharedCost() { return sharedCost_; }
setSharedCost(PhoneNumberDesc value)473     public PhoneMetadata setSharedCost(PhoneNumberDesc value) {
474       if (value == null) {
475         throw new NullPointerException();
476       }
477       hasSharedCost = true;
478       sharedCost_ = value;
479       return this;
480     }
481 
482     // optional PhoneNumberDesc personal_number = 7;
483     private boolean hasPersonalNumber;
484     private PhoneNumberDesc personalNumber_ = null;
hasPersonalNumber()485     public boolean hasPersonalNumber() { return hasPersonalNumber; }
getPersonalNumber()486     public PhoneNumberDesc getPersonalNumber() { return personalNumber_; }
setPersonalNumber(PhoneNumberDesc value)487     public PhoneMetadata setPersonalNumber(PhoneNumberDesc value) {
488       if (value == null) {
489         throw new NullPointerException();
490       }
491       hasPersonalNumber = true;
492       personalNumber_ = value;
493       return this;
494     }
495 
496     // optional PhoneNumberDesc voip = 8;
497     private boolean hasVoip;
498     private PhoneNumberDesc voip_ = null;
hasVoip()499     public boolean hasVoip() { return hasVoip; }
getVoip()500     public PhoneNumberDesc getVoip() { return voip_; }
setVoip(PhoneNumberDesc value)501     public PhoneMetadata setVoip(PhoneNumberDesc value) {
502       if (value == null) {
503         throw new NullPointerException();
504       }
505       hasVoip = true;
506       voip_ = value;
507       return this;
508     }
509 
510     // optional PhoneNumberDesc pager = 21;
511     private boolean hasPager;
512     private PhoneNumberDesc pager_ = null;
hasPager()513     public boolean hasPager() { return hasPager; }
getPager()514     public PhoneNumberDesc getPager() { return pager_; }
setPager(PhoneNumberDesc value)515     public PhoneMetadata setPager(PhoneNumberDesc value) {
516       if (value == null) {
517         throw new NullPointerException();
518       }
519       hasPager = true;
520       pager_ = value;
521       return this;
522     }
523 
524     // optional PhoneNumberDesc uan = 25;
525     private boolean hasUan;
526     private PhoneNumberDesc uan_ = null;
hasUan()527     public boolean hasUan() { return hasUan; }
getUan()528     public PhoneNumberDesc getUan() { return uan_; }
setUan(PhoneNumberDesc value)529     public PhoneMetadata setUan(PhoneNumberDesc value) {
530       if (value == null) {
531         throw new NullPointerException();
532       }
533       hasUan = true;
534       uan_ = value;
535       return this;
536     }
537 
538     // optional PhoneNumberDesc emergency = 27;
539     private boolean hasEmergency;
540     private PhoneNumberDesc emergency_ = null;
hasEmergency()541     public boolean hasEmergency() { return hasEmergency; }
getEmergency()542     public PhoneNumberDesc getEmergency() { return emergency_; }
setEmergency(PhoneNumberDesc value)543     public PhoneMetadata setEmergency(PhoneNumberDesc value) {
544       if (value == null) {
545         throw new NullPointerException();
546       }
547       hasEmergency = true;
548       emergency_ = value;
549       return this;
550     }
551 
552     // optional PhoneNumberDesc voicemail = 28;
553     private boolean hasVoicemail;
554     private PhoneNumberDesc voicemail_ = null;
hasVoicemail()555     public boolean hasVoicemail() { return hasVoicemail; }
getVoicemail()556     public PhoneNumberDesc getVoicemail() { return voicemail_; }
setVoicemail(PhoneNumberDesc value)557     public PhoneMetadata setVoicemail(PhoneNumberDesc value) {
558       if (value == null) {
559         throw new NullPointerException();
560       }
561       hasVoicemail = true;
562       voicemail_ = value;
563       return this;
564     }
565 
566     // optional PhoneNumberDesc short_code = 29;
567     private boolean hasShortCode;
568     private PhoneNumberDesc shortCode_ = null;
hasShortCode()569     public boolean hasShortCode() { return hasShortCode; }
getShortCode()570     public PhoneNumberDesc getShortCode() { return shortCode_; }
setShortCode(PhoneNumberDesc value)571     public PhoneMetadata setShortCode(PhoneNumberDesc value) {
572       if (value == null) {
573         throw new NullPointerException();
574       }
575       hasShortCode = true;
576       shortCode_ = value;
577       return this;
578     }
579 
580     // optional PhoneNumberDesc standard_rate = 30;
581     private boolean hasStandardRate;
582     private PhoneNumberDesc standardRate_ = null;
hasStandardRate()583     public boolean hasStandardRate() { return hasStandardRate; }
getStandardRate()584     public PhoneNumberDesc getStandardRate() { return standardRate_; }
setStandardRate(PhoneNumberDesc value)585     public PhoneMetadata setStandardRate(PhoneNumberDesc value) {
586       if (value == null) {
587         throw new NullPointerException();
588       }
589       hasStandardRate = true;
590       standardRate_ = value;
591       return this;
592     }
593 
594     // optional PhoneNumberDesc carrier_specific = 31;
595     private boolean hasCarrierSpecific;
596     private PhoneNumberDesc carrierSpecific_ = null;
hasCarrierSpecific()597     public boolean hasCarrierSpecific() { return hasCarrierSpecific; }
getCarrierSpecific()598     public PhoneNumberDesc getCarrierSpecific() { return carrierSpecific_; }
setCarrierSpecific(PhoneNumberDesc value)599     public PhoneMetadata setCarrierSpecific(PhoneNumberDesc value) {
600       if (value == null) {
601         throw new NullPointerException();
602       }
603       hasCarrierSpecific = true;
604       carrierSpecific_ = value;
605       return this;
606     }
607 
608     // optional PhoneNumberDesc noInternationalDialling = 24;
609     private boolean hasNoInternationalDialling;
610     private PhoneNumberDesc noInternationalDialling_ = null;
hasNoInternationalDialling()611     public boolean hasNoInternationalDialling() { return hasNoInternationalDialling; }
getNoInternationalDialling()612     public PhoneNumberDesc getNoInternationalDialling() { return noInternationalDialling_; }
setNoInternationalDialling(PhoneNumberDesc value)613     public PhoneMetadata setNoInternationalDialling(PhoneNumberDesc value) {
614       if (value == null) {
615         throw new NullPointerException();
616       }
617       hasNoInternationalDialling = true;
618       noInternationalDialling_ = value;
619       return this;
620     }
621 
622     // required string id = 9;
623     private boolean hasId;
624     private String id_ = "";
hasId()625     public boolean hasId() { return hasId; }
getId()626     public String getId() { return id_; }
setId(String value)627     public PhoneMetadata setId(String value) {
628       hasId = true;
629       id_ = value;
630       return this;
631     }
632 
633     // optional int32 country_code = 10;
634     private boolean hasCountryCode;
635     private int countryCode_ = 0;
hasCountryCode()636     public boolean hasCountryCode() { return hasCountryCode; }
getCountryCode()637     public int getCountryCode() { return countryCode_; }
setCountryCode(int value)638     public PhoneMetadata setCountryCode(int value) {
639       hasCountryCode = true;
640       countryCode_ = value;
641       return this;
642     }
643 
644     // optional string international_prefix = 11;
645     private boolean hasInternationalPrefix;
646     private String internationalPrefix_ = "";
hasInternationalPrefix()647     public boolean hasInternationalPrefix() { return hasInternationalPrefix; }
getInternationalPrefix()648     public String getInternationalPrefix() { return internationalPrefix_; }
setInternationalPrefix(String value)649     public PhoneMetadata setInternationalPrefix(String value) {
650       hasInternationalPrefix = true;
651       internationalPrefix_ = value;
652       return this;
653     }
654 
655     // optional string preferred_international_prefix = 17;
656     private boolean hasPreferredInternationalPrefix;
657     private String preferredInternationalPrefix_ = "";
hasPreferredInternationalPrefix()658     public boolean hasPreferredInternationalPrefix() { return hasPreferredInternationalPrefix; }
getPreferredInternationalPrefix()659     public String getPreferredInternationalPrefix() { return preferredInternationalPrefix_; }
setPreferredInternationalPrefix(String value)660     public PhoneMetadata setPreferredInternationalPrefix(String value) {
661       hasPreferredInternationalPrefix = true;
662       preferredInternationalPrefix_ = value;
663       return this;
664     }
clearPreferredInternationalPrefix()665     public PhoneMetadata clearPreferredInternationalPrefix() {
666       hasPreferredInternationalPrefix = false;
667       preferredInternationalPrefix_ = "";
668       return this;
669     }
670 
671     // optional string national_prefix = 12;
672     private boolean hasNationalPrefix;
673     private String nationalPrefix_ = "";
hasNationalPrefix()674     public boolean hasNationalPrefix() { return hasNationalPrefix; }
getNationalPrefix()675     public String getNationalPrefix() { return nationalPrefix_; }
setNationalPrefix(String value)676     public PhoneMetadata setNationalPrefix(String value) {
677       hasNationalPrefix = true;
678       nationalPrefix_ = value;
679       return this;
680     }
clearNationalPrefix()681     public PhoneMetadata clearNationalPrefix() {
682       hasNationalPrefix = false;
683       nationalPrefix_ = "";
684       return this;
685     }
686 
687     // optional string preferred_extn_prefix = 13;
688     private boolean hasPreferredExtnPrefix;
689     private String preferredExtnPrefix_ = "";
hasPreferredExtnPrefix()690     public boolean hasPreferredExtnPrefix() { return hasPreferredExtnPrefix; }
getPreferredExtnPrefix()691     public String getPreferredExtnPrefix() { return preferredExtnPrefix_; }
setPreferredExtnPrefix(String value)692     public PhoneMetadata setPreferredExtnPrefix(String value) {
693       hasPreferredExtnPrefix = true;
694       preferredExtnPrefix_ = value;
695       return this;
696     }
clearPreferredExtnPrefix()697     public PhoneMetadata clearPreferredExtnPrefix() {
698       hasPreferredExtnPrefix = false;
699       preferredExtnPrefix_ = "";
700       return this;
701     }
702 
703     // optional string national_prefix_for_parsing = 15;
704     private boolean hasNationalPrefixForParsing;
705     private String nationalPrefixForParsing_ = "";
hasNationalPrefixForParsing()706     public boolean hasNationalPrefixForParsing() { return hasNationalPrefixForParsing; }
getNationalPrefixForParsing()707     public String getNationalPrefixForParsing() { return nationalPrefixForParsing_; }
setNationalPrefixForParsing(String value)708     public PhoneMetadata setNationalPrefixForParsing(String value) {
709       hasNationalPrefixForParsing = true;
710       nationalPrefixForParsing_ = value;
711       return this;
712     }
713 
714     // optional string national_prefix_transform_rule = 16;
715     private boolean hasNationalPrefixTransformRule;
716     private String nationalPrefixTransformRule_ = "";
hasNationalPrefixTransformRule()717     public boolean hasNationalPrefixTransformRule() { return hasNationalPrefixTransformRule; }
getNationalPrefixTransformRule()718     public String getNationalPrefixTransformRule() { return nationalPrefixTransformRule_; }
setNationalPrefixTransformRule(String value)719     public PhoneMetadata setNationalPrefixTransformRule(String value) {
720       hasNationalPrefixTransformRule = true;
721       nationalPrefixTransformRule_ = value;
722       return this;
723     }
clearNationalPrefixTransformRule()724     public PhoneMetadata clearNationalPrefixTransformRule() {
725       hasNationalPrefixTransformRule = false;
726       nationalPrefixTransformRule_ = "";
727       return this;
728     }
729 
730     // optional bool same_mobile_and_fixed_line_pattern = 18 [default = false];
731     private boolean hasSameMobileAndFixedLinePattern;
732     private boolean sameMobileAndFixedLinePattern_ = false;
hasSameMobileAndFixedLinePattern()733     public boolean hasSameMobileAndFixedLinePattern() { return hasSameMobileAndFixedLinePattern; }
isSameMobileAndFixedLinePattern()734     public boolean isSameMobileAndFixedLinePattern() { return sameMobileAndFixedLinePattern_; }
setSameMobileAndFixedLinePattern(boolean value)735     public PhoneMetadata setSameMobileAndFixedLinePattern(boolean value) {
736       hasSameMobileAndFixedLinePattern = true;
737       sameMobileAndFixedLinePattern_ = value;
738       return this;
739     }
clearSameMobileAndFixedLinePattern()740     public PhoneMetadata clearSameMobileAndFixedLinePattern() {
741       hasSameMobileAndFixedLinePattern = false;
742       sameMobileAndFixedLinePattern_ = false;
743       return this;
744     }
745 
746     // repeated NumberFormat number_format = 19;
747     private java.util.List<NumberFormat> numberFormat_ = new java.util.ArrayList<NumberFormat>();
numberFormats()748     public java.util.List<NumberFormat> numberFormats() {
749       return numberFormat_;
750     }
numberFormatSize()751     public int numberFormatSize() { return numberFormat_.size(); }
getNumberFormat(int index)752     public NumberFormat getNumberFormat(int index) {
753       return numberFormat_.get(index);
754     }
addNumberFormat(NumberFormat value)755     public PhoneMetadata addNumberFormat(NumberFormat value) {
756       if (value == null) {
757         throw new NullPointerException();
758       }
759       numberFormat_.add(value);
760       return this;
761     }
762 
763     // repeated NumberFormat intl_number_format = 20;
764     private java.util.List<NumberFormat> intlNumberFormat_ =
765         new java.util.ArrayList<NumberFormat>();
intlNumberFormats()766     public java.util.List<NumberFormat> intlNumberFormats() {
767       return intlNumberFormat_;
768     }
intlNumberFormatSize()769     public int intlNumberFormatSize() { return intlNumberFormat_.size(); }
getIntlNumberFormat(int index)770     public NumberFormat getIntlNumberFormat(int index) {
771       return intlNumberFormat_.get(index);
772     }
773 
addIntlNumberFormat(NumberFormat value)774     public PhoneMetadata addIntlNumberFormat(NumberFormat value) {
775       if (value == null) {
776         throw new NullPointerException();
777       }
778       intlNumberFormat_.add(value);
779       return this;
780     }
clearIntlNumberFormat()781     public PhoneMetadata clearIntlNumberFormat() {
782       intlNumberFormat_.clear();
783       return this;
784     }
785 
786     // optional bool main_country_for_code = 22 [default = false];
787     private boolean hasMainCountryForCode;
788     private boolean mainCountryForCode_ = false;
hasMainCountryForCode()789     public boolean hasMainCountryForCode() { return hasMainCountryForCode; }
isMainCountryForCode()790     public boolean isMainCountryForCode() { return mainCountryForCode_; }
791     // Method that lets this class have the same interface as the one generated by Protocol Buffers
792     // which is used by C++ build tools.
getMainCountryForCode()793     public boolean getMainCountryForCode() { return mainCountryForCode_; }
setMainCountryForCode(boolean value)794     public PhoneMetadata setMainCountryForCode(boolean value) {
795       hasMainCountryForCode = true;
796       mainCountryForCode_ = value;
797       return this;
798     }
clearMainCountryForCode()799     public PhoneMetadata clearMainCountryForCode() {
800       hasMainCountryForCode = false;
801       mainCountryForCode_ = false;
802       return this;
803     }
804 
805     // optional string leading_digits = 23;
806     private boolean hasLeadingDigits;
807     private String leadingDigits_ = "";
hasLeadingDigits()808     public boolean hasLeadingDigits() { return hasLeadingDigits; }
getLeadingDigits()809     public String getLeadingDigits() { return leadingDigits_; }
setLeadingDigits(String value)810     public PhoneMetadata setLeadingDigits(String value) {
811       hasLeadingDigits = true;
812       leadingDigits_ = value;
813       return this;
814     }
815 
816     // optional bool leading_zero_possible = 26 [default = false];
817     private boolean hasLeadingZeroPossible;
818     private boolean leadingZeroPossible_ = false;
hasLeadingZeroPossible()819     public boolean hasLeadingZeroPossible() { return hasLeadingZeroPossible; }
isLeadingZeroPossible()820     public boolean isLeadingZeroPossible() { return leadingZeroPossible_; }
setLeadingZeroPossible(boolean value)821     public PhoneMetadata setLeadingZeroPossible(boolean value) {
822       hasLeadingZeroPossible = true;
823       leadingZeroPossible_ = value;
824       return this;
825     }
clearLeadingZeroPossible()826     public PhoneMetadata clearLeadingZeroPossible() {
827       hasLeadingZeroPossible = false;
828       leadingZeroPossible_ = false;
829       return this;
830     }
831 
832     // optional bool mobile_number_portable_region = 32 [default = false];
833     private boolean hasMobileNumberPortableRegion;
834     private boolean mobileNumberPortableRegion_ = false;
hasMobileNumberPortableRegion()835     public boolean hasMobileNumberPortableRegion() { return hasMobileNumberPortableRegion; }
isMobileNumberPortableRegion()836     public boolean isMobileNumberPortableRegion() { return mobileNumberPortableRegion_; }
setMobileNumberPortableRegion(boolean value)837     public PhoneMetadata setMobileNumberPortableRegion(boolean value) {
838       hasMobileNumberPortableRegion = true;
839       mobileNumberPortableRegion_ = value;
840       return this;
841     }
clearMobileNumberPortableRegion()842     public PhoneMetadata clearMobileNumberPortableRegion() {
843       hasMobileNumberPortableRegion = false;
844       mobileNumberPortableRegion_ = false;
845       return this;
846     }
847 
writeExternal(ObjectOutput objectOutput)848     public void writeExternal(ObjectOutput objectOutput) throws IOException {
849       objectOutput.writeBoolean(hasGeneralDesc);
850       if (hasGeneralDesc) {
851         generalDesc_.writeExternal(objectOutput);
852       }
853       objectOutput.writeBoolean(hasFixedLine);
854       if (hasFixedLine) {
855         fixedLine_.writeExternal(objectOutput);
856       }
857       objectOutput.writeBoolean(hasMobile);
858       if (hasMobile) {
859         mobile_.writeExternal(objectOutput);
860       }
861       objectOutput.writeBoolean(hasTollFree);
862       if (hasTollFree) {
863         tollFree_.writeExternal(objectOutput);
864       }
865       objectOutput.writeBoolean(hasPremiumRate);
866       if (hasPremiumRate) {
867         premiumRate_.writeExternal(objectOutput);
868       }
869       objectOutput.writeBoolean(hasSharedCost);
870       if (hasSharedCost) {
871         sharedCost_.writeExternal(objectOutput);
872       }
873       objectOutput.writeBoolean(hasPersonalNumber);
874       if (hasPersonalNumber) {
875         personalNumber_.writeExternal(objectOutput);
876       }
877       objectOutput.writeBoolean(hasVoip);
878       if (hasVoip) {
879         voip_.writeExternal(objectOutput);
880       }
881       objectOutput.writeBoolean(hasPager);
882       if (hasPager) {
883         pager_.writeExternal(objectOutput);
884       }
885       objectOutput.writeBoolean(hasUan);
886       if (hasUan) {
887         uan_.writeExternal(objectOutput);
888       }
889       objectOutput.writeBoolean(hasEmergency);
890       if (hasEmergency) {
891         emergency_.writeExternal(objectOutput);
892       }
893       objectOutput.writeBoolean(hasVoicemail);
894       if (hasVoicemail) {
895         voicemail_.writeExternal(objectOutput);
896       }
897       objectOutput.writeBoolean(hasShortCode);
898       if (hasShortCode) {
899         shortCode_.writeExternal(objectOutput);
900       }
901       objectOutput.writeBoolean(hasStandardRate);
902       if (hasStandardRate) {
903         standardRate_.writeExternal(objectOutput);
904       }
905       objectOutput.writeBoolean(hasCarrierSpecific);
906       if (hasCarrierSpecific) {
907         carrierSpecific_.writeExternal(objectOutput);
908       }
909       objectOutput.writeBoolean(hasNoInternationalDialling);
910       if (hasNoInternationalDialling) {
911         noInternationalDialling_.writeExternal(objectOutput);
912       }
913 
914       objectOutput.writeUTF(id_);
915       objectOutput.writeInt(countryCode_);
916       objectOutput.writeUTF(internationalPrefix_);
917 
918       objectOutput.writeBoolean(hasPreferredInternationalPrefix);
919       if (hasPreferredInternationalPrefix) {
920         objectOutput.writeUTF(preferredInternationalPrefix_);
921       }
922 
923       objectOutput.writeBoolean(hasNationalPrefix);
924       if (hasNationalPrefix) {
925         objectOutput.writeUTF(nationalPrefix_);
926       }
927 
928       objectOutput.writeBoolean(hasPreferredExtnPrefix);
929       if (hasPreferredExtnPrefix) {
930         objectOutput.writeUTF(preferredExtnPrefix_);
931       }
932 
933       objectOutput.writeBoolean(hasNationalPrefixForParsing);
934       if (hasNationalPrefixForParsing) {
935         objectOutput.writeUTF(nationalPrefixForParsing_);
936       }
937 
938       objectOutput.writeBoolean(hasNationalPrefixTransformRule);
939       if (hasNationalPrefixTransformRule) {
940         objectOutput.writeUTF(nationalPrefixTransformRule_);
941       }
942 
943       objectOutput.writeBoolean(sameMobileAndFixedLinePattern_);
944 
945       int numberFormatSize = numberFormatSize();
946       objectOutput.writeInt(numberFormatSize);
947       for (int i = 0; i < numberFormatSize; i++) {
948         numberFormat_.get(i).writeExternal(objectOutput);
949       }
950 
951       int intlNumberFormatSize = intlNumberFormatSize();
952       objectOutput.writeInt(intlNumberFormatSize);
953       for (int i = 0; i < intlNumberFormatSize; i++) {
954         intlNumberFormat_.get(i).writeExternal(objectOutput);
955       }
956 
957       objectOutput.writeBoolean(mainCountryForCode_);
958 
959       objectOutput.writeBoolean(hasLeadingDigits);
960       if (hasLeadingDigits) {
961         objectOutput.writeUTF(leadingDigits_);
962       }
963 
964       objectOutput.writeBoolean(leadingZeroPossible_);
965 
966       objectOutput.writeBoolean(mobileNumberPortableRegion_);
967     }
968 
readExternal(ObjectInput objectInput)969     public void readExternal(ObjectInput objectInput) throws IOException {
970       boolean hasDesc = objectInput.readBoolean();
971       if (hasDesc) {
972         PhoneNumberDesc desc = new PhoneNumberDesc();
973         desc.readExternal(objectInput);
974         setGeneralDesc(desc);
975       }
976       hasDesc = objectInput.readBoolean();
977       if (hasDesc) {
978         PhoneNumberDesc desc = new PhoneNumberDesc();
979         desc.readExternal(objectInput);
980         setFixedLine(desc);
981       }
982       hasDesc = objectInput.readBoolean();
983       if (hasDesc) {
984         PhoneNumberDesc desc = new PhoneNumberDesc();
985         desc.readExternal(objectInput);
986         setMobile(desc);
987       }
988       hasDesc = objectInput.readBoolean();
989       if (hasDesc) {
990         PhoneNumberDesc desc = new PhoneNumberDesc();
991         desc.readExternal(objectInput);
992         setTollFree(desc);
993       }
994       hasDesc = objectInput.readBoolean();
995       if (hasDesc) {
996         PhoneNumberDesc desc = new PhoneNumberDesc();
997         desc.readExternal(objectInput);
998         setPremiumRate(desc);
999       }
1000       hasDesc = objectInput.readBoolean();
1001       if (hasDesc) {
1002         PhoneNumberDesc desc = new PhoneNumberDesc();
1003         desc.readExternal(objectInput);
1004         setSharedCost(desc);
1005       }
1006       hasDesc = objectInput.readBoolean();
1007       if (hasDesc) {
1008         PhoneNumberDesc desc = new PhoneNumberDesc();
1009         desc.readExternal(objectInput);
1010         setPersonalNumber(desc);
1011       }
1012       hasDesc = objectInput.readBoolean();
1013       if (hasDesc) {
1014         PhoneNumberDesc desc = new PhoneNumberDesc();
1015         desc.readExternal(objectInput);
1016         setVoip(desc);
1017       }
1018       hasDesc = objectInput.readBoolean();
1019       if (hasDesc) {
1020         PhoneNumberDesc desc = new PhoneNumberDesc();
1021         desc.readExternal(objectInput);
1022         setPager(desc);
1023       }
1024       hasDesc = objectInput.readBoolean();
1025       if (hasDesc) {
1026         PhoneNumberDesc desc = new PhoneNumberDesc();
1027         desc.readExternal(objectInput);
1028         setUan(desc);
1029       }
1030       hasDesc = objectInput.readBoolean();
1031       if (hasDesc) {
1032         PhoneNumberDesc desc = new PhoneNumberDesc();
1033         desc.readExternal(objectInput);
1034         setEmergency(desc);
1035       }
1036       hasDesc = objectInput.readBoolean();
1037       if (hasDesc) {
1038         PhoneNumberDesc desc = new PhoneNumberDesc();
1039         desc.readExternal(objectInput);
1040         setVoicemail(desc);
1041       }
1042       hasDesc = objectInput.readBoolean();
1043       if (hasDesc) {
1044         PhoneNumberDesc desc = new PhoneNumberDesc();
1045         desc.readExternal(objectInput);
1046         setShortCode(desc);
1047       }
1048       hasDesc = objectInput.readBoolean();
1049       if (hasDesc) {
1050         PhoneNumberDesc desc = new PhoneNumberDesc();
1051         desc.readExternal(objectInput);
1052         setStandardRate(desc);
1053       }
1054       hasDesc = objectInput.readBoolean();
1055       if (hasDesc) {
1056         PhoneNumberDesc desc = new PhoneNumberDesc();
1057         desc.readExternal(objectInput);
1058         setCarrierSpecific(desc);
1059       }
1060       hasDesc = objectInput.readBoolean();
1061       if (hasDesc) {
1062         PhoneNumberDesc desc = new PhoneNumberDesc();
1063         desc.readExternal(objectInput);
1064         setNoInternationalDialling(desc);
1065       }
1066 
1067       setId(objectInput.readUTF());
1068       setCountryCode(objectInput.readInt());
1069       setInternationalPrefix(objectInput.readUTF());
1070 
1071       boolean hasString = objectInput.readBoolean();
1072       if (hasString) {
1073         setPreferredInternationalPrefix(objectInput.readUTF());
1074       }
1075 
1076       hasString = objectInput.readBoolean();
1077       if (hasString) {
1078         setNationalPrefix(objectInput.readUTF());
1079       }
1080 
1081       hasString = objectInput.readBoolean();
1082       if (hasString) {
1083         setPreferredExtnPrefix(objectInput.readUTF());
1084       }
1085 
1086       hasString = objectInput.readBoolean();
1087       if (hasString) {
1088         setNationalPrefixForParsing(objectInput.readUTF());
1089       }
1090 
1091       hasString = objectInput.readBoolean();
1092       if (hasString) {
1093         setNationalPrefixTransformRule(objectInput.readUTF());
1094       }
1095 
1096       setSameMobileAndFixedLinePattern(objectInput.readBoolean());
1097 
1098       int nationalFormatSize = objectInput.readInt();
1099       for (int i = 0; i < nationalFormatSize; i++) {
1100         NumberFormat numFormat = new NumberFormat();
1101         numFormat.readExternal(objectInput);
1102         numberFormat_.add(numFormat);
1103       }
1104 
1105       int intlNumberFormatSize = objectInput.readInt();
1106       for (int i = 0; i < intlNumberFormatSize; i++) {
1107         NumberFormat numFormat = new NumberFormat();
1108         numFormat.readExternal(objectInput);
1109         intlNumberFormat_.add(numFormat);
1110       }
1111 
1112       setMainCountryForCode(objectInput.readBoolean());
1113 
1114       hasString = objectInput.readBoolean();
1115       if (hasString) {
1116         setLeadingDigits(objectInput.readUTF());
1117       }
1118 
1119       setLeadingZeroPossible(objectInput.readBoolean());
1120 
1121       setMobileNumberPortableRegion(objectInput.readBoolean());
1122     }
1123   }
1124 
1125   public static class PhoneMetadataCollection implements Externalizable {
1126     private static final long serialVersionUID = 1;
PhoneMetadataCollection()1127     public PhoneMetadataCollection() {}
1128 
1129     /**
1130      * Provides a dummy builder.
1131      *
1132      * @see NumberFormat.Builder
1133      */
1134     public static final class Builder extends PhoneMetadataCollection {
build()1135       public PhoneMetadataCollection build() {
1136         return this;
1137       }
1138     }
newBuilder()1139     public static Builder newBuilder() {
1140       return new Builder();
1141     }
1142 
1143     // repeated PhoneMetadata metadata = 1;
1144     private java.util.List<PhoneMetadata> metadata_ = new java.util.ArrayList<PhoneMetadata>();
1145 
getMetadataList()1146     public java.util.List<PhoneMetadata> getMetadataList() {
1147       return metadata_;
1148     }
getMetadataCount()1149     public int getMetadataCount() { return metadata_.size(); }
1150 
addMetadata(PhoneMetadata value)1151     public PhoneMetadataCollection addMetadata(PhoneMetadata value) {
1152       if (value == null) {
1153         throw new NullPointerException();
1154       }
1155       metadata_.add(value);
1156       return this;
1157     }
1158 
writeExternal(ObjectOutput objectOutput)1159     public void writeExternal(ObjectOutput objectOutput) throws IOException {
1160       int size = getMetadataCount();
1161       objectOutput.writeInt(size);
1162       for (int i = 0; i < size; i++) {
1163         metadata_.get(i).writeExternal(objectOutput);
1164       }
1165     }
1166 
readExternal(ObjectInput objectInput)1167     public void readExternal(ObjectInput objectInput) throws IOException {
1168       int size = objectInput.readInt();
1169       for (int i = 0; i < size; i++) {
1170         PhoneMetadata metadata = new PhoneMetadata();
1171         metadata.readExternal(objectInput);
1172         metadata_.add(metadata);
1173       }
1174     }
1175 
clear()1176     public PhoneMetadataCollection clear() {
1177       metadata_.clear();
1178       return this;
1179     }
1180   }
1181 }
1182