diff --git a/java/libphonenumber/src/com/google/i18n/phonenumbers/ParsingOptions.java b/java/libphonenumber/src/com/google/i18n/phonenumbers/ParsingOptions.java index 1fc1ceb7e..5e83a4625 100644 --- a/java/libphonenumber/src/com/google/i18n/phonenumbers/ParsingOptions.java +++ b/java/libphonenumber/src/com/google/i18n/phonenumbers/ParsingOptions.java @@ -30,7 +30,10 @@ public class ParsingOptions { public boolean hasDefaultRegion() { return hasDefaultRegion; } public String getDefaultRegion() { return defaultRegion_; } public ParsingOptions setDefaultRegion(String value) { - hasDefaultRegion = (value != null); + if (value == null) { + throw new NullPointerException(); + } + hasDefaultRegion = true; defaultRegion_ = value; return this; } diff --git a/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java b/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java index b8100b08a..6de3061a0 100644 --- a/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java +++ b/java/libphonenumber/src/com/google/i18n/phonenumbers/PhoneNumberUtil.java @@ -3249,6 +3249,18 @@ public class PhoneNumberUtil { parseHelper(numberToParse, options.getDefaultRegion(), options.isKeepRawInput(), true, phoneNumber); } + public PhoneNumber parseWithOptions(CharSequence numberToParse, ParsingOptions options) + throws NumberParseException { + PhoneNumber phoneNumber = new PhoneNumber(); + parseHelper(numberToParse, options.getDefaultRegion(), options.hasKeepRawInput(), options.hasDefaultRegion(), phoneNumber); + return phoneNumber; + } + + public void parseWithOptions(CharSequence numberToParse, ParsingOptions options, PhoneNumber phoneNumber) + throws NumberParseException { + parseHelper(numberToParse, options.getDefaultRegion(), options.hasKeepRawInput(), options.hasDefaultRegion(), phoneNumber); + } + /** * Returns an iterable over all {@link PhoneNumberMatch PhoneNumberMatches} in {@code text}. This * is a shortcut for {@link #findNumbers(CharSequence, String, Leniency, long)