Ejemplo n.º 1
0
        /**
         * Extracts IDD and plus sign to prefixBeforeNationalNumber when they are available, and places
         * the remaining input into nationalNumber.
         *
         * @return  true when accruedInputWithoutFormatting begins with the plus sign or valid IDD for
         *     defaultCountry.
         */
        private boolean attemptToExtractIdd()
        {
            Pattern internationalPrefix =
                regexCache.getPatternForRegex("\\" + PhoneNumberUtil.PLUS_SIGN + "|" +
                                              currentMetadata.getInternationalPrefix());
            Matcher iddMatcher = internationalPrefix.matcher(accruedInputWithoutFormatting);

            if (iddMatcher.lookingAt())
            {
                isCompleteNumber = true;
                int startOfCountryCallingCode = iddMatcher.end();
                nationalNumber.setLength(0);
                nationalNumber.append(accruedInputWithoutFormatting.substring(startOfCountryCallingCode));
                prefixBeforeNationalNumber.setLength(0);
                prefixBeforeNationalNumber.append(
                    accruedInputWithoutFormatting.substring(0, startOfCountryCallingCode));
                if (accruedInputWithoutFormatting.charAt(0) != PhoneNumberUtil.PLUS_SIGN)
                {
                    prefixBeforeNationalNumber.append(SEPARATOR_BEFORE_NATIONAL_NUMBER);
                }
                return(true);
            }
            return(false);
        }