public void TestCanBeInternationallyDialled()
 {
     foreach (var regionCode in phoneNumberUtil.GetSupportedRegions())
     {
         PhoneNumber     exampleNumber = null;
         PhoneNumberDesc desc          =
             phoneNumberUtil.GetMetadataForRegion(regionCode).NoInternationalDialling;
         try
         {
             if (desc.HasExampleNumber)
             {
                 exampleNumber = phoneNumberUtil.Parse(desc.ExampleNumber, regionCode);
             }
         }
         catch (NumberParseException)
         {
         }
         if (exampleNumber != null && phoneNumberUtil.CanBeInternationallyDialled(exampleNumber))
         {
             wrongTypeCases.Add(exampleNumber);
             // LOGGER.log(Level.SEVERE, "Number " + exampleNumber.toString()
             //   + " should not be internationally diallable");
         }
     }
     Assert.Equal(0, wrongTypeCases.Count);
 }
Пример #2
0
 [TestMethod] public void testCanBeInternationallyDialled()
 {
     foreach (String regionCode in phoneNumberUtil.getSupportedRegions())
     {
         PhoneNumber     exampleNumber = null;
         PhoneNumberDesc desc          =
             phoneNumberUtil.getMetadataForRegion(regionCode).getNoInternationalDialling();
         try
         {
             if (desc.HasExampleNumber())
             {
                 exampleNumber = phoneNumberUtil.parse(desc.getExampleNumber(), regionCode);
             }
         }
         catch (NumberParseException e)
         {
             LOGGER.log(Level.SEVERE, e.ToString());
         }
         if (exampleNumber != null && phoneNumberUtil.canBeInternationallyDialled(exampleNumber))
         {
             wrongTypeCases.Add(exampleNumber);
             LOGGER.log(Level.SEVERE, "Number " + exampleNumber.ToString()
                        + " should not be internationally diallable");
         }
     }
     Assert.AreEqual(0, wrongTypeCases.Count);
 }
Пример #3
0
        [TestMethod] public void testEmergency()
        {
            int wrongTypeCounter = 0;

            foreach (String regionCode in shortNumberInfo.getSupportedRegions())
            {
                PhoneNumberDesc desc =
                    MetadataManager.getShortNumberMetadataForRegion(regionCode).getEmergency();
                if (desc.HasExampleNumber())
                {
                    String exampleNumber = desc.getExampleNumber();
                    if (!Regex.IsMatch(exampleNumber, desc.getPossibleNumberPattern()) ||
                        !shortNumberInfo.isEmergencyNumber(exampleNumber, regionCode))
                    {
                        wrongTypeCounter++;
                        LOGGER.log(Level.SEVERE, "Emergency example number test failed for " + regionCode);
                    }
                    else if (shortNumberInfo.getExpectedCostForRegion(exampleNumber, regionCode) !=
                             ShortNumberInfo.ShortNumberCost.TOLL_FREE)
                    {
                        wrongTypeCounter++;
                        LOGGER.log(Level.WARNING, "Emergency example number not toll free for " + regionCode);
                    }
                }
            }
            Assert.AreEqual(0, wrongTypeCounter);
        }
        public bool MatchNationalNumber(string number, PhoneNumberDesc numberDesc, bool allowPrefixMatch)
        {
            var nationalNumberPattern = numberDesc.NationalNumberPattern;

            // We don't want to consider it a prefix match when matching non-empty input against an empty
            // pattern.
            return(nationalNumberPattern.Length > 0 &&
                   Match(number, RegexCache.GetPatternForRegex(nationalNumberPattern), allowPrefixMatch));
        }
Пример #5
0
 public PhoneMetadata setTollFree(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasTollFree = true;
     tollFree_    = value;
     return(this);
 }
Пример #6
0
 public PhoneMetadata setPremiumRate(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasPremiumRate = true;
     premiumRate_    = value;
     return(this);
 }
Пример #7
0
 public PhoneMetadata setSharedCost(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasSharedCost = true;
     sharedCost_    = value;
     return(this);
 }
Пример #8
0
 public PhoneMetadata setPager(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasPager = true;
     pager_    = value;
     return(this);
 }
Пример #9
0
 public PhoneMetadata setEmergency(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasEmergency = true;
     emergency_    = value;
     return(this);
 }
Пример #10
0
 public PhoneMetadata setGeneralDesc(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasGeneralDesc = true;
     generalDesc_    = value;
     return(this);
 }
Пример #11
0
 public PhoneMetadata setShortCode(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasShortCode = true;
     shortCode_    = value;
     return(this);
 }
Пример #12
0
 public PhoneMetadata setStandardRate(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasStandardRate = true;
     standardRate_    = value;
     return(this);
 }
Пример #13
0
 public PhoneMetadata setCarrierSpecific(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasCarrierSpecific = true;
     carrierSpecific_    = value;
     return(this);
 }
Пример #14
0
 public PhoneMetadata setNoInternationalDialling(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasNoInternationalDialling = true;
     noInternationalDialling_    = value;
     return(this);
 }
Пример #15
0
 public PhoneMetadata setMobile(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasMobile = true;
     mobile_    = value;
     return(this);
 }
Пример #16
0
 public PhoneMetadata setFixedLine(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasFixedLine = true;
     fixedLine_    = value;
     return(this);
 }
Пример #17
0
 public PhoneMetadata setVoicemail(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasVoicemail = true;
     voicemail_    = value;
     return(this);
 }
Пример #18
0
 public PhoneMetadata setUan(PhoneNumberDesc value)
 {
     if (value == null)
     {
         throw new NullPointerException();
     }
     _hasUan = true;
     uan_    = value;
     return(this);
 }
Пример #19
0
        // Tests processPhoneNumberDescElement().
        [TestMethod] public void testProcessPhoneNumberDescElementWithInvalidInput()
        {
            PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
            XmlElement territoryElement         = parseXmlString("<territory/>");

            PhoneNumberDesc.Builder phoneNumberDesc;

            phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
                generalDesc, territoryElement, "invalidType", false);
            Assert.AreEqual("NA", phoneNumberDesc.getPossibleNumberPattern());
            Assert.AreEqual("NA", phoneNumberDesc.getNationalNumberPattern());
        }
Пример #20
0
        [TestMethod] public void testProcessPhoneNumberDescElementMergesWithGeneralDesc()
        {
            PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
            generalDesc.setPossibleNumberPattern("\\d{6}");
            XmlElement territoryElement = parseXmlString("<territory><fixedLine/></territory>");

            PhoneNumberDesc.Builder phoneNumberDesc;

            phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
                generalDesc, territoryElement, "fixedLine", false);
            Assert.AreEqual("\\d{6}", phoneNumberDesc.getPossibleNumberPattern());
        }
Пример #21
0
        // @VisibleForTesting
        internal static void setRelevantDescPatterns(PhoneMetadata.Builder metadata, XmlElement element,
                                                     bool liteBuild, bool isShortNumberMetadata)
        {
            PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
            generalDesc = processPhoneNumberDescElement(generalDesc, element, GENERAL_DESC, liteBuild);
            metadata.setGeneralDesc(generalDesc);

            if (!isShortNumberMetadata)
            {
                // Set fields used only by regular length phone numbers.
                metadata.setFixedLine(
                    processPhoneNumberDescElement(generalDesc, element, FIXED_LINE, liteBuild));
                metadata.setMobile(
                    processPhoneNumberDescElement(generalDesc, element, MOBILE, liteBuild));
                metadata.setSharedCost(
                    processPhoneNumberDescElement(generalDesc, element, SHARED_COST, liteBuild));
                metadata.setVoip(
                    processPhoneNumberDescElement(generalDesc, element, VOIP, liteBuild));
                metadata.setPersonalNumber(
                    processPhoneNumberDescElement(generalDesc, element, PERSONAL_NUMBER, liteBuild));
                metadata.setPager(
                    processPhoneNumberDescElement(generalDesc, element, PAGER, liteBuild));
                metadata.setUan(
                    processPhoneNumberDescElement(generalDesc, element, UAN, liteBuild));
                metadata.setVoicemail(
                    processPhoneNumberDescElement(generalDesc, element, VOICEMAIL, liteBuild));
                metadata.setNoInternationalDialling(
                    processPhoneNumberDescElement(generalDesc, element, NO_INTERNATIONAL_DIALLING,
                                                  liteBuild));
                metadata.setSameMobileAndFixedLinePattern(
                    metadata.getMobile().getNationalNumberPattern().Equals(
                        metadata.getFixedLine().getNationalNumberPattern()));
            }
            else
            {
                // Set fields used only by short numbers.
                metadata.setStandardRate(
                    processPhoneNumberDescElement(generalDesc, element, STANDARD_RATE, liteBuild));
                metadata.setShortCode(
                    processPhoneNumberDescElement(generalDesc, element, SHORT_CODE, liteBuild));
                metadata.setCarrierSpecific(
                    processPhoneNumberDescElement(generalDesc, element, CARRIER_SPECIFIC, liteBuild));
                metadata.setEmergency(
                    processPhoneNumberDescElement(generalDesc, element, EMERGENCY, liteBuild));
            }

            // Set fields used by both regular length and short numbers.
            metadata.setTollFree(
                processPhoneNumberDescElement(generalDesc, element, TOLL_FREE, liteBuild));
            metadata.setPremiumRate(
                processPhoneNumberDescElement(generalDesc, element, PREMIUM_RATE, liteBuild));
        }
Пример #22
0
        [TestMethod] public void testProcessPhoneNumberDescRemovesWhiteSpacesInPatterns()
        {
            PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
            String xmlInput =
                "<territory><fixedLine>" +
                "  <possibleNumberPattern>\t \\d { 6 } </possibleNumberPattern>" +
                "</fixedLine></territory>";
            XmlElement countryElement = parseXmlString(xmlInput);

            PhoneNumberDesc.Builder phoneNumberDesc;

            phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
                generalDesc, countryElement, "fixedLine", false);
            Assert.AreEqual("\\d{6}", phoneNumberDesc.getPossibleNumberPattern());
        }
Пример #23
0
        [TestMethod] public void testProcessPhoneNumberDescOutputsExampleNumberByDefault()
        {
            PhoneNumberDesc.Builder generalDesc = PhoneNumberDesc.newBuilder();
            String xmlInput =
                "<territory><fixedLine>" +
                "  <exampleNumber>01 01 01 01</exampleNumber>" +
                "</fixedLine></territory>";
            XmlElement territoryElement = parseXmlString(xmlInput);

            PhoneNumberDesc.Builder phoneNumberDesc;

            phoneNumberDesc = BuildMetadataFromXml.processPhoneNumberDescElement(
                generalDesc, territoryElement, "fixedLine", false);
            Assert.AreEqual("01 01 01 01", phoneNumberDesc.getExampleNumber());
        }
Пример #24
0
 public PhoneNumberDesc mergeFrom(PhoneNumberDesc other)
 {
     if (other.hasNationalNumberPattern())
     {
         setNationalNumberPattern(other.getNationalNumberPattern());
     }
     if (other.hasPossibleNumberPattern())
     {
         setPossibleNumberPattern(other.getPossibleNumberPattern());
     }
     if (other.hasExampleNumber())
     {
         setExampleNumber(other.getExampleNumber());
     }
     return(this);
 }
Пример #25
0
        /**
         * Processes a phone number description element from the XML file and returns it as a
         * PhoneNumberDesc. If the description element is a fixed line or mobile number, the general
         * description will be used to fill in the whole element if necessary, or any components that are
         * missing. For all other types, the general description will only be used to fill in missing
         * components if the type has a partial definition. For example, if no "tollFree" element exists,
         * we assume there are no toll free numbers for that locale, and return a phone number description
         * with "NA" for both the national and possible number patterns.
         *
         * @param generalDesc  a generic phone number description that will be used to fill in missing
         *                     parts of the description
         * @param countryXmlElement  the XML element representing all the country information
         * @param numberType  the name of the number type, corresponding to the appropriate tag in the XML
         *                    file with information about that type
         * @return  complete description of that phone number type
         */
        // @VisibleForTesting
        internal static PhoneNumberDesc.Builder processPhoneNumberDescElement(PhoneNumberDesc.Builder generalDesc,
                                                                              XmlElement countryXmlElement,
                                                                              String numberType,
                                                                              bool liteBuild)
        {
            var phoneNumberDescList = countryXmlElement.GetElementsByTagName(numberType);

            PhoneNumberDesc.Builder numberDesc = PhoneNumberDesc.newBuilder();
            if (phoneNumberDescList.Count == 0 && !isValidNumberType(numberType))
            {
                numberDesc.setNationalNumberPattern("NA");
                numberDesc.setPossibleNumberPattern("NA");
                return(numberDesc);
            }
            numberDesc.mergeFrom(generalDesc.build());
            if (phoneNumberDescList.Count > 0)
            {
                XmlElement element         = (XmlElement)phoneNumberDescList.Item(0);
                var        possiblePattern = element.GetElementsByTagName(POSSIBLE_NUMBER_PATTERN);
                if (possiblePattern.Count > 0)
                {
                    numberDesc.setPossibleNumberPattern(
                        validateRE(possiblePattern.Item(0).FirstChild.Value, true));
                }

                var validPattern = element.GetElementsByTagName(NATIONAL_NUMBER_PATTERN);
                if (validPattern.Count > 0)
                {
                    numberDesc.setNationalNumberPattern(
                        validateRE(validPattern.Item(0).FirstChild.Value, true));
                }

                if (!liteBuild)
                {
                    var exampleNumber = element.GetElementsByTagName(EXAMPLE_NUMBER);
                    if (exampleNumber.Count > 0)
                    {
                        numberDesc.setExampleNumber(exampleNumber.Item(0).FirstChild.Value);
                    }
                }
            }
            return(numberDesc);
        }
        public void TestEmergency()
        {
            ShortNumberUtil shortUtil        = new ShortNumberUtil(phoneNumberUtil);
            int             wrongTypeCounter = 0;

            foreach (var regionCode in phoneNumberUtil.GetSupportedRegions())
            {
                PhoneNumberDesc desc =
                    phoneNumberUtil.GetMetadataForRegion(regionCode).Emergency;
                if (desc.HasExampleNumber)
                {
                    String exampleNumber = desc.ExampleNumber;
                    if (!new PhoneRegex(desc.PossibleNumberPattern).MatchAll(exampleNumber).Success ||
                        !shortUtil.IsEmergencyNumber(exampleNumber, regionCode))
                    {
                        wrongTypeCounter++;
                        // LOGGER.log(Level.SEVERE, "Emergency example number Test failed for " + regionCode);
                    }
                }
            }
            Assert.Equal(0, wrongTypeCounter);
        }
Пример #27
0
        [TestMethod] public void testCarrierSpecificShortNumbers()
        {
            int wrongTagCounter = 0;

            foreach (String regionCode in shortNumberInfo.getSupportedRegions())
            {
                // Test the carrier-specific tag.
                PhoneNumberDesc desc =
                    MetadataManager.getShortNumberMetadataForRegion(regionCode).getCarrierSpecific();
                if (desc.HasExampleNumber())
                {
                    String      exampleNumber         = desc.getExampleNumber();
                    PhoneNumber carrierSpecificNumber = phoneNumberUtil.parse(exampleNumber, regionCode);
                    if (!Regex.IsMatch(exampleNumber, desc.getPossibleNumberPattern()) ||
                        !shortNumberInfo.isCarrierSpecific(carrierSpecificNumber))
                    {
                        wrongTagCounter++;
                        LOGGER.log(Level.SEVERE, "Carrier-specific test failed for " + regionCode);
                    }
                }
                // TODO: Test other tags here.
            }
            Assert.AreEqual(0, wrongTagCounter);
        }
 public PhoneMetadata setMobile(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasMobile = true;
       mobile_ = value;
       return this;
 }
Пример #29
0
            override public void readExternal(ObjectInput objectInput)
            {
                boolean hasDesc = objectInput.readBoolean();

                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setGeneralDesc(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setFixedLine(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setMobile(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setTollFree(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setPremiumRate(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setSharedCost(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setPersonalNumber(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setVoip(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setPager(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setUan(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setEmergency(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setVoicemail(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setShortCode(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setStandardRate(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setCarrierSpecific(desc);
                }
                hasDesc = objectInput.readBoolean();
                if (hasDesc)
                {
                    PhoneNumberDesc desc = new PhoneNumberDesc();
                    desc.readExternal(objectInput);
                    setNoInternationalDialling(desc);
                }

                setId(objectInput.readUTF());
                setCountryCode(objectInput.readInt());
                setInternationalPrefix(objectInput.readUTF());

                boolean hasString = objectInput.readBoolean();

                if (hasString)
                {
                    setPreferredInternationalPrefix(objectInput.readUTF());
                }

                hasString = objectInput.readBoolean();
                if (hasString)
                {
                    setNationalPrefix(objectInput.readUTF());
                }

                hasString = objectInput.readBoolean();
                if (hasString)
                {
                    setPreferredExtnPrefix(objectInput.readUTF());
                }

                hasString = objectInput.readBoolean();
                if (hasString)
                {
                    setNationalPrefixForParsing(objectInput.readUTF());
                }

                hasString = objectInput.readBoolean();
                if (hasString)
                {
                    setNationalPrefixTransformRule(objectInput.readUTF());
                }

                setSameMobileAndFixedLinePattern(objectInput.readBoolean());

                int nationalFormatSize = objectInput.readInt();

                for (int i = 0; i < nationalFormatSize; i++)
                {
                    NumberFormat numFormat = new NumberFormat();
                    numFormat.readExternal(objectInput);
                    numberFormat_.add(numFormat);
                }

                int intlNumberFormatSize = objectInput.readInt();

                for (int i = 0; i < intlNumberFormatSize; i++)
                {
                    NumberFormat numFormat = new NumberFormat();
                    numFormat.readExternal(objectInput);
                    intlNumberFormat_.add(numFormat);
                }

                setMainCountryForCode(objectInput.readBoolean());

                hasString = objectInput.readBoolean();
                if (hasString)
                {
                    setLeadingDigits(objectInput.readUTF());
                }

                setLeadingZeroPossible(objectInput.readBoolean());
            }
 public PhoneMetadata setPersonalNumber(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasPersonalNumber = true;
       personalNumber_ = value;
       return this;
 }
 public PhoneMetadata setNoInternationalDialling(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasNoInternationalDialling = true;
       noInternationalDialling_ = value;
       return this;
 }
 public PhoneMetadata setSharedCost(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasSharedCost = true;
       sharedCost_ = value;
       return this;
 }
 public PhoneMetadata setPremiumRate(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasPremiumRate = true;
       premiumRate_ = value;
       return this;
 }
 public PhoneMetadata setStandardRate(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasStandardRate = true;
       standardRate_ = value;
       return this;
 }
            public override void readExternal(ObjectInput objectInput)
            {
                boolean hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setGeneralDesc(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setFixedLine(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setMobile(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setTollFree(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setPremiumRate(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setSharedCost(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setPersonalNumber(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setVoip(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setPager(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setUan(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setEmergency(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setVoicemail(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setShortCode(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setStandardRate(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setCarrierSpecific(desc);
                  }
                  hasDesc = objectInput.readBoolean();
                  if (hasDesc) {
                PhoneNumberDesc desc = new PhoneNumberDesc();
                desc.readExternal(objectInput);
                setNoInternationalDialling(desc);
                  }

                  setId(objectInput.readUTF());
                  setCountryCode(objectInput.readInt());
                  setInternationalPrefix(objectInput.readUTF());

                  boolean hasString = objectInput.readBoolean();
                  if (hasString) {
                setPreferredInternationalPrefix(objectInput.readUTF());
                  }

                  hasString = objectInput.readBoolean();
                  if (hasString) {
                setNationalPrefix(objectInput.readUTF());
                  }

                  hasString = objectInput.readBoolean();
                  if (hasString) {
                setPreferredExtnPrefix(objectInput.readUTF());
                  }

                  hasString = objectInput.readBoolean();
                  if (hasString) {
                setNationalPrefixForParsing(objectInput.readUTF());
                  }

                  hasString = objectInput.readBoolean();
                  if (hasString) {
                setNationalPrefixTransformRule(objectInput.readUTF());
                  }

                  setSameMobileAndFixedLinePattern(objectInput.readBoolean());

                  int nationalFormatSize = objectInput.readInt();
                  for (int i = 0; i < nationalFormatSize; i++) {
                NumberFormat numFormat = new NumberFormat();
                numFormat.readExternal(objectInput);
                numberFormat_.add(numFormat);
                  }

                  int intlNumberFormatSize = objectInput.readInt();
                  for (int i = 0; i < intlNumberFormatSize; i++) {
                NumberFormat numFormat = new NumberFormat();
                numFormat.readExternal(objectInput);
                intlNumberFormat_.add(numFormat);
                  }

                  setMainCountryForCode(objectInput.readBoolean());

                  hasString = objectInput.readBoolean();
                  if (hasString) {
                setLeadingDigits(objectInput.readUTF());
                  }

                  setLeadingZeroPossible(objectInput.readBoolean());
            }
Пример #36
0
 public boolean exactlySameAs(PhoneNumberDesc other)
 {
     return(nationalNumberPattern_.equals(other.nationalNumberPattern_) &&
            possibleNumberPattern_.equals(other.possibleNumberPattern_) &&
            exampleNumber_.equals(other.exampleNumber_));
 }
 public PhoneMetadata setFixedLine(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasFixedLine = true;
       fixedLine_ = value;
       return this;
 }
 public PhoneMetadata setVoip(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasVoip = true;
       voip_ = value;
       return this;
 }
 public boolean exactlySameAs(PhoneNumberDesc other)
 {
     return nationalNumberPattern_.equals(other.nationalNumberPattern_) &&
       possibleNumberPattern_.equals(other.possibleNumberPattern_) &&
       exampleNumber_.equals(other.exampleNumber_);
 }
 public PhoneNumberDesc mergeFrom(PhoneNumberDesc other)
 {
     if (other.hasNationalNumberPattern()) {
     setNationalNumberPattern(other.getNationalNumberPattern());
       }
       if (other.hasPossibleNumberPattern()) {
     setPossibleNumberPattern(other.getPossibleNumberPattern());
       }
       if (other.hasExampleNumber()) {
     setExampleNumber(other.getExampleNumber());
       }
       return this;
 }
 public PhoneMetadata setEmergency(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasEmergency = true;
       emergency_ = value;
       return this;
 }
 public PhoneMetadata setShortCode(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasShortCode = true;
       shortCode_ = value;
       return this;
 }
 public PhoneMetadata setUan(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasUan = true;
       uan_ = value;
       return this;
 }
 public PhoneMetadata setCarrierSpecific(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasCarrierSpecific = true;
       carrierSpecific_ = value;
       return this;
 }
 public PhoneMetadata setTollFree(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasTollFree = true;
       tollFree_ = value;
       return this;
 }
 public PhoneMetadata setGeneralDesc(PhoneNumberDesc value)
 {
     if (value == null) {
     throw new NullPointerException();
       }
       _hasGeneralDesc = true;
       generalDesc_ = value;
       return this;
 }