Refactored to avoid use of exceptions in parsing, at the suggestion of Jeff Griffin...
[zxing.git] / core / src / com / google / zxing / client / result / URIParsedResult.java
index 922a313..da59712 100644 (file)
@@ -23,13 +23,17 @@ public final class URIParsedResult extends ParsedReaderResult {
 
   private final String uri;
 
-  public URIParsedResult(String rawText) {
+  private URIParsedResult(String uri) {
     super(ParsedReaderResultType.URI);
+    this.uri = uri;
+  }
+
+  public static URIParsedResult parse(String rawText) {
     if (!isBasicallyValidURI(rawText)) {
-      throw new IllegalArgumentException("Invalid URI: " + rawText);
+      return null;
     }
-    uri = massagePossibleURI(rawText);
-
+    String uri = massagePossibleURI(rawText);
+    return new URIParsedResult(uri);
   }
 
   public String getURI() {