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