Example #1
0
 // @VisibleForTesting
 internal static PhoneMetadata.Builder loadTerritoryTagMetadata(String regionCode, XmlElement element,
                                                                String nationalPrefix)
 {
     PhoneMetadata.Builder metadata = PhoneMetadata.newBuilder();
     metadata.setId(regionCode);
     if (element.HasAttribute(COUNTRY_CODE))
     {
         metadata.setCountryCode(int.Parse(element.GetAttribute(COUNTRY_CODE)));
     }
     if (element.HasAttribute(LEADING_DIGITS))
     {
         metadata.setLeadingDigits(validateRE(element.GetAttribute(LEADING_DIGITS)));
     }
     metadata.setInternationalPrefix(validateRE(element.GetAttribute(INTERNATIONAL_PREFIX)));
     if (element.HasAttribute(PREFERRED_INTERNATIONAL_PREFIX))
     {
         String preferredInternationalPrefix = element.GetAttribute(PREFERRED_INTERNATIONAL_PREFIX);
         metadata.setPreferredInternationalPrefix(preferredInternationalPrefix);
     }
     if (element.HasAttribute(NATIONAL_PREFIX_FOR_PARSING))
     {
         metadata.setNationalPrefixForParsing(
             validateRE(element.GetAttribute(NATIONAL_PREFIX_FOR_PARSING), true));
         if (element.HasAttribute(NATIONAL_PREFIX_TRANSFORM_RULE))
         {
             metadata.setNationalPrefixTransformRule(
                 validateRE(element.GetAttribute(NATIONAL_PREFIX_TRANSFORM_RULE)));
         }
     }
     if (nationalPrefix.Length != 0)
     {
         metadata.setNationalPrefix(nationalPrefix);
         if (!metadata.HasNationalPrefixForParsing())
         {
             metadata.setNationalPrefixForParsing(nationalPrefix);
         }
     }
     if (element.HasAttribute(PREFERRED_EXTN_PREFIX))
     {
         metadata.setPreferredExtnPrefix(element.GetAttribute(PREFERRED_EXTN_PREFIX));
     }
     if (element.HasAttribute(MAIN_COUNTRY_FOR_CODE))
     {
         metadata.setMainCountryForCode(true);
     }
     if (element.HasAttribute(LEADING_ZERO_POSSIBLE))
     {
         metadata.setLeadingZeroPossible(true);
     }
     if (element.HasAttribute(MOBILE_NUMBER_PORTABLE_REGION))
     {
         metadata.setMobileNumberPortableRegion(true);
     }
     return(metadata);
 }