From 9a5a9eb2e5f2568d018445d50540d7574414cb36 Mon Sep 17 00:00:00 2001 From: srowen Date: Fri, 14 Mar 2008 18:53:25 +0000 Subject: [PATCH] Changed signature of parse() to take in more general Result git-svn-id: http://zxing.googlecode.com/svn/trunk@279 59b500cc-1b3d-0410-9834-0bbf25fbcc57 --- .../client/result/AddressBookAUResult.java | 5 ++++- .../result/AddressBookDoCoMoResult.java | 5 ++++- .../client/result/BookmarkDoCoMoResult.java | 5 ++++- .../client/result/EmailAddressResult.java | 5 ++++- .../client/result/EmailDoCoMoResult.java | 5 ++++- .../client/result/ParsedReaderResult.java | 19 +++++++++---------- .../zxing/client/result/TextParsedResult.java | 6 ++++-- .../zxing/client/result/UPCParsedResult.java | 5 ++++- .../zxing/client/result/URIParsedResult.java | 5 ++++- .../zxing/client/result/URLTOResult.java | 5 ++++- 10 files changed, 45 insertions(+), 20 deletions(-) diff --git a/core/src/com/google/zxing/client/result/AddressBookAUResult.java b/core/src/com/google/zxing/client/result/AddressBookAUResult.java index 46409bba..963d6b16 100644 --- a/core/src/com/google/zxing/client/result/AddressBookAUResult.java +++ b/core/src/com/google/zxing/client/result/AddressBookAUResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + import java.util.Vector; /** @@ -43,7 +45,8 @@ public final class AddressBookAUResult extends ParsedReaderResult { this.address = address; } - public static AddressBookAUResult parse(String rawText) { + public static AddressBookAUResult parse(Result result) { + String rawText = result.getText(); // MEMORY is mandatory; seems like a decent indicator, as does end-of-record separator CR/LF if (rawText.indexOf("MEMORY") < 0 || rawText.indexOf("\r\n") < 0) { return null; diff --git a/core/src/com/google/zxing/client/result/AddressBookDoCoMoResult.java b/core/src/com/google/zxing/client/result/AddressBookDoCoMoResult.java index 2150d33b..0921a62d 100644 --- a/core/src/com/google/zxing/client/result/AddressBookDoCoMoResult.java +++ b/core/src/com/google/zxing/client/result/AddressBookDoCoMoResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * Implements the "MECARD" address book entry format. * @@ -43,7 +45,8 @@ public final class AddressBookDoCoMoResult extends AbstractDoCoMoResult { this.address = address; } - public static AddressBookDoCoMoResult parse(String rawText) { + public static AddressBookDoCoMoResult parse(Result result) { + String rawText = result.getText(); if (!rawText.startsWith("MECARD:")) { return null; } diff --git a/core/src/com/google/zxing/client/result/BookmarkDoCoMoResult.java b/core/src/com/google/zxing/client/result/BookmarkDoCoMoResult.java index f137a354..3e97a74d 100644 --- a/core/src/com/google/zxing/client/result/BookmarkDoCoMoResult.java +++ b/core/src/com/google/zxing/client/result/BookmarkDoCoMoResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * @author srowen@google.com (Sean Owen) */ @@ -30,7 +32,8 @@ public final class BookmarkDoCoMoResult extends AbstractDoCoMoResult { this.uri = uri; } - public static BookmarkDoCoMoResult parse(String rawText) { + public static BookmarkDoCoMoResult parse(Result result) { + String rawText = result.getText(); if (!rawText.startsWith("MEBKM:")) { return null; } diff --git a/core/src/com/google/zxing/client/result/EmailAddressResult.java b/core/src/com/google/zxing/client/result/EmailAddressResult.java index 62d6abc7..9708da99 100644 --- a/core/src/com/google/zxing/client/result/EmailAddressResult.java +++ b/core/src/com/google/zxing/client/result/EmailAddressResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * Represents a result that encodes an e-mail address, either as a plain address * like "joe@example.org" or a mailto: URL like "mailto:joe@example.org". @@ -31,7 +33,8 @@ public final class EmailAddressResult extends AbstractDoCoMoResult { this.emailAddress = emailAddress; } - public static EmailAddressResult parse(String rawText) { + public static EmailAddressResult parse(Result result) { + String rawText = result.getText(); String emailAddress; if (rawText.startsWith("mailto:")) { // If it starts with mailto:, assume it is definitely trying to be an email address diff --git a/core/src/com/google/zxing/client/result/EmailDoCoMoResult.java b/core/src/com/google/zxing/client/result/EmailDoCoMoResult.java index 6161d420..6457e0e7 100644 --- a/core/src/com/google/zxing/client/result/EmailDoCoMoResult.java +++ b/core/src/com/google/zxing/client/result/EmailDoCoMoResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * Implements the "MATMSG" email message entry format. * @@ -36,7 +38,8 @@ public final class EmailDoCoMoResult extends AbstractDoCoMoResult { this.body = body; } - public static EmailDoCoMoResult parse(String rawText) { + public static EmailDoCoMoResult parse(Result result) { + String rawText = result.getText(); if (!rawText.startsWith("MATMSG:")) { return null; } diff --git a/core/src/com/google/zxing/client/result/ParsedReaderResult.java b/core/src/com/google/zxing/client/result/ParsedReaderResult.java index 82aff736..d4b4f00d 100644 --- a/core/src/com/google/zxing/client/result/ParsedReaderResult.java +++ b/core/src/com/google/zxing/client/result/ParsedReaderResult.java @@ -47,26 +47,25 @@ public abstract class ParsedReaderResult { // This is a bit messy, but given limited options in MIDP / CLDC, this may well be the simplest // way to go about this. For example, we have no reflection available, really. // Order is important here. - String rawText = theResult.getText(); ParsedReaderResult result; - if ((result = BookmarkDoCoMoResult.parse(rawText)) != null) { + if ((result = BookmarkDoCoMoResult.parse(theResult)) != null) { return result; - } else if ((result = AddressBookDoCoMoResult.parse(rawText)) != null) { + } else if ((result = AddressBookDoCoMoResult.parse(theResult)) != null) { return result; - } else if ((result = EmailDoCoMoResult.parse(rawText)) != null) { + } else if ((result = EmailDoCoMoResult.parse(theResult)) != null) { return result; - } else if ((result = EmailAddressResult.parse(rawText)) != null) { + } else if ((result = EmailAddressResult.parse(theResult)) != null) { return result; - } else if ((result = AddressBookAUResult.parse(rawText)) != null) { + } else if ((result = AddressBookAUResult.parse(theResult)) != null) { return result; - } else if ((result = URLTOResult.parse(rawText)) != null) { + } else if ((result = URLTOResult.parse(theResult)) != null) { return result; - } else if ((result = URIParsedResult.parse(rawText)) != null) { + } else if ((result = URIParsedResult.parse(theResult)) != null) { return result; - } else if ((result = UPCParsedResult.parse(rawText)) != null) { + } else if ((result = UPCParsedResult.parse(theResult)) != null) { return result; } - return TextParsedResult.parse(rawText); + return TextParsedResult.parse(theResult); } public String toString() { diff --git a/core/src/com/google/zxing/client/result/TextParsedResult.java b/core/src/com/google/zxing/client/result/TextParsedResult.java index 79739b59..81293512 100644 --- a/core/src/com/google/zxing/client/result/TextParsedResult.java +++ b/core/src/com/google/zxing/client/result/TextParsedResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * @author srowen@google.com (Sean Owen) */ @@ -28,8 +30,8 @@ public final class TextParsedResult extends ParsedReaderResult { this.text = text; } - public static TextParsedResult parse(String rawText) { - return new TextParsedResult(rawText); + public static TextParsedResult parse(Result result) { + return new TextParsedResult(result.getText()); } public String getText() { diff --git a/core/src/com/google/zxing/client/result/UPCParsedResult.java b/core/src/com/google/zxing/client/result/UPCParsedResult.java index 18848210..bb112ad3 100644 --- a/core/src/com/google/zxing/client/result/UPCParsedResult.java +++ b/core/src/com/google/zxing/client/result/UPCParsedResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * @author dswitkin@google.com (Daniel Switkin) */ @@ -28,7 +30,8 @@ public final class UPCParsedResult extends ParsedReaderResult { this.upc = upc; } - public static UPCParsedResult parse(String rawText) { + public static UPCParsedResult parse(Result result) { + String rawText = result.getText(); int length = rawText.length(); if (length != 12 && length != 13) { return null; diff --git a/core/src/com/google/zxing/client/result/URIParsedResult.java b/core/src/com/google/zxing/client/result/URIParsedResult.java index c237aaaa..792aceaa 100644 --- a/core/src/com/google/zxing/client/result/URIParsedResult.java +++ b/core/src/com/google/zxing/client/result/URIParsedResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * @author srowen@google.com (Sean Owen) */ @@ -28,7 +30,8 @@ public final class URIParsedResult extends ParsedReaderResult { this.uri = uri; } - public static URIParsedResult parse(String rawText) { + public static URIParsedResult parse(Result result) { + String rawText = result.getText(); if (!isBasicallyValidURI(rawText)) { return null; } diff --git a/core/src/com/google/zxing/client/result/URLTOResult.java b/core/src/com/google/zxing/client/result/URLTOResult.java index a854bee7..35503902 100644 --- a/core/src/com/google/zxing/client/result/URLTOResult.java +++ b/core/src/com/google/zxing/client/result/URLTOResult.java @@ -16,6 +16,8 @@ package com.google.zxing.client.result; +import com.google.zxing.Result; + /** * "URLTO" result format, which is of the form "URLTO:[title]:[url]". * This seems to be used sometimes, but I am not able to find documentation @@ -34,7 +36,8 @@ public final class URLTOResult extends ParsedReaderResult { this.uri = uri; } - public static URLTOResult parse(String rawText) { + public static URLTOResult parse(Result result) { + String rawText = result.getText(); if (!rawText.startsWith("URLTO:")) { return null; } -- 2.20.1