move all Result to RXingResult

This commit is contained in:
Henry Schimke
2022-08-20 12:12:30 -05:00
parent 9f72478dc8
commit 90ace738b7
149 changed files with 1658 additions and 1658 deletions

View File

@@ -26,7 +26,7 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
abstract class AbstractDoCoMoResultParser extends ResultParser {
abstract class AbstractDoCoMoRXingResultParser extends RXingResultParser {
static String[] matchDoCoMoPrefixedField(String prefix, String rawText) {
return matchPrefixedField(prefix, rawText, ';', true);

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.ArrayList;
import java.util.List;
@@ -29,10 +29,10 @@ import java.util.List;
*
* @author Sean Owen
*/
public final class AddressBookAUResultParser extends ResultParser {
public final class AddressBookAURXingResultParser extends RXingResultParser {
@Override
public AddressBookParsedResult parse(Result result) {
public AddressBookParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
// MEMORY is mandatory; seems like a decent indicator, as does end-of-record separator CR/LF
if (!rawText.contains("MEMORY") || !rawText.contains("\r\n")) {
@@ -49,7 +49,7 @@ public final class AddressBookAUResultParser extends ResultParser {
String note = matchSinglePrefixedField("MEMORY:", rawText, '\r', false);
String address = matchSinglePrefixedField("ADD:", rawText, '\r', true);
String[] addresses = address == null ? null : new String[] {address};
return new AddressBookParsedResult(maybeWrap(name),
return new AddressBookParsedRXingResult(maybeWrap(name),
null,
pronunciation,
phoneNumbers,

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* Implements the "MECARD" address book entry format.
@@ -33,10 +33,10 @@ import com.google.zxing.Result;
*
* @author Sean Owen
*/
public final class AddressBookDoCoMoResultParser extends AbstractDoCoMoResultParser {
public final class AddressBookDoCoMoRXingResultParser extends AbstractDoCoMoRXingResultParser {
@Override
public AddressBookParsedResult parse(Result result) {
public AddressBookParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("MECARD:")) {
return null;
@@ -62,7 +62,7 @@ public final class AddressBookDoCoMoResultParser extends AbstractDoCoMoResultPar
// honor it when found in the wild.
String org = matchSingleDoCoMoPrefixedField("ORG:", rawText, true);
return new AddressBookParsedResult(maybeWrap(name),
return new AddressBookParsedRXingResult(maybeWrap(name),
null,
pronunciation,
phoneNumbers,

View File

@@ -22,7 +22,7 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class AddressBookParsedResult extends ParsedResult {
public final class AddressBookParsedRXingResult extends ParsedRXingResult {
private final String[] names;
private final String[] nicknames;
@@ -41,7 +41,7 @@ public final class AddressBookParsedResult extends ParsedResult {
private final String[] urls;
private final String[] geo;
public AddressBookParsedResult(String[] names,
public AddressBookParsedRXingResult(String[] names,
String[] phoneNumbers,
String[] phoneTypes,
String[] emails,
@@ -66,7 +66,7 @@ public final class AddressBookParsedResult extends ParsedResult {
null);
}
public AddressBookParsedResult(String[] names,
public AddressBookParsedRXingResult(String[] names,
String[] nicknames,
String pronunciation,
String[] phoneNumbers,
@@ -82,7 +82,7 @@ public final class AddressBookParsedResult extends ParsedResult {
String title,
String[] urls,
String[] geo) {
super(ParsedResultType.ADDRESSBOOK);
super(ParsedRXingResultType.ADDRESSBOOK);
if (phoneNumbers != null && phoneTypes != null && phoneNumbers.length != phoneTypes.length) {
throw new IllegalArgumentException("Phone numbers and types lengths differ");
}
@@ -199,7 +199,7 @@ public final class AddressBookParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(100);
maybeAppend(names, result);
maybeAppend(nicknames, result);

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.ArrayList;
import java.util.List;
@@ -28,14 +28,14 @@ import java.util.List;
*
* @author Sean Owen
*/
public final class BizcardResultParser extends AbstractDoCoMoResultParser {
public final class BizcardRXingResultParser extends AbstractDoCoMoRXingResultParser {
// Yes, we extend AbstractDoCoMoResultParser since the format is very much
// Yes, we extend AbstractDoCoMoRXingResultParser since the format is very much
// like the DoCoMo MECARD format, but this is not technically one of
// DoCoMo's proposed formats
@Override
public AddressBookParsedResult parse(Result result) {
public AddressBookParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("BIZCARD:")) {
return null;
@@ -51,7 +51,7 @@ public final class BizcardResultParser extends AbstractDoCoMoResultParser {
String phoneNumber3 = matchSingleDoCoMoPrefixedField("F:", rawText, true);
String email = matchSingleDoCoMoPrefixedField("E:", rawText, true);
return new AddressBookParsedResult(maybeWrap(fullName),
return new AddressBookParsedRXingResult(maybeWrap(fullName),
null,
null,
buildPhoneNumbers(phoneNumber1, phoneNumber2, phoneNumber3),

View File

@@ -16,15 +16,15 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* @author Sean Owen
*/
public final class BookmarkDoCoMoResultParser extends AbstractDoCoMoResultParser {
public final class BookmarkDoCoMoRXingResultParser extends AbstractDoCoMoRXingResultParser {
@Override
public URIParsedResult parse(Result result) {
public URIParsedRXingResult parse(RXingResult result) {
String rawText = result.getText();
if (!rawText.startsWith("MEBKM:")) {
return null;
@@ -35,7 +35,7 @@ public final class BookmarkDoCoMoResultParser extends AbstractDoCoMoResultParser
return null;
}
String uri = rawUri[0];
return URIResultParser.isBasicallyValidURI(uri) ? new URIParsedResult(uri, title) : null;
return URIRXingResultParser.isBasicallyValidURI(uri) ? new URIParsedRXingResult(uri, title) : null;
}
}

View File

@@ -33,7 +33,7 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class CalendarParsedResult extends ParsedResult {
public final class CalendarParsedRXingResult extends ParsedRXingResult {
private static final Pattern RFC2445_DURATION =
Pattern.compile("P(?:(\\d+)W)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)S)?)?");
@@ -59,7 +59,7 @@ public final class CalendarParsedResult extends ParsedResult {
private final double latitude;
private final double longitude;
public CalendarParsedResult(String summary,
public CalendarParsedRXingResult(String summary,
String startString,
String endString,
String durationString,
@@ -69,7 +69,7 @@ public final class CalendarParsedResult extends ParsedResult {
String description,
double latitude,
double longitude) {
super(ParsedResultType.CALENDAR);
super(ParsedRXingResultType.CALENDAR);
this.summary = summary;
try {
@@ -177,7 +177,7 @@ public final class CalendarParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(100);
maybeAppend(summary, result);
maybeAppend(format(startAllDay, start), result);

View File

@@ -22,7 +22,7 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class EmailAddressParsedResult extends ParsedResult {
public final class EmailAddressParsedRXingResult extends ParsedRXingResult {
private final String[] tos;
private final String[] ccs;
@@ -30,16 +30,16 @@ public final class EmailAddressParsedResult extends ParsedResult {
private final String subject;
private final String body;
EmailAddressParsedResult(String to) {
EmailAddressParsedRXingResult(String to) {
this(new String[] {to}, null, null, null, null);
}
EmailAddressParsedResult(String[] tos,
EmailAddressParsedRXingResult(String[] tos,
String[] ccs,
String[] bccs,
String subject,
String body) {
super(ParsedResultType.EMAIL_ADDRESS);
super(ParsedRXingResultType.EMAIL_ADDRESS);
this.tos = tos;
this.ccs = ccs;
this.bccs = bccs;
@@ -86,7 +86,7 @@ public final class EmailAddressParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(30);
maybeAppend(tos, result);
maybeAppend(ccs, result);

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.Map;
import java.util.regex.Pattern;
@@ -27,12 +27,12 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class EmailAddressResultParser extends ResultParser {
public final class EmailAddressRXingResultParser extends RXingResultParser {
private static final Pattern COMMA = Pattern.compile(",");
@Override
public EmailAddressParsedResult parse(Result result) {
public EmailAddressParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (rawText.startsWith("mailto:") || rawText.startsWith("MAILTO:")) {
// If it starts with mailto:, assume it is definitely trying to be an email address
@@ -73,12 +73,12 @@ public final class EmailAddressResultParser extends ResultParser {
subject = nameValues.get("subject");
body = nameValues.get("body");
}
return new EmailAddressParsedResult(tos, ccs, bccs, subject, body);
return new EmailAddressParsedRXingResult(tos, ccs, bccs, subject, body);
} else {
if (!EmailDoCoMoResultParser.isBasicallyValidEmailAddress(rawText)) {
if (!EmailDoCoMoRXingResultParser.isBasicallyValidEmailAddress(rawText)) {
return null;
}
return new EmailAddressParsedResult(rawText);
return new EmailAddressParsedRXingResult(rawText);
}
}

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.regex.Pattern;
@@ -27,12 +27,12 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class EmailDoCoMoResultParser extends AbstractDoCoMoResultParser {
public final class EmailDoCoMoRXingResultParser extends AbstractDoCoMoRXingResultParser {
private static final Pattern ATEXT_ALPHANUMERIC = Pattern.compile("[a-zA-Z0-9@.!#$%&'*+\\-/=?^_`{|}~]+");
@Override
public EmailAddressParsedResult parse(Result result) {
public EmailAddressParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("MATMSG:")) {
return null;
@@ -48,7 +48,7 @@ public final class EmailDoCoMoResultParser extends AbstractDoCoMoResultParser {
}
String subject = matchSingleDoCoMoPrefixedField("SUB:", rawText, false);
String body = matchSingleDoCoMoPrefixedField("BODY:", rawText, false);
return new EmailAddressParsedResult(tos, null, null, subject, body);
return new EmailAddressParsedRXingResult(tos, null, null, subject, body);
}
/**

View File

@@ -36,7 +36,7 @@ import java.util.Objects;
* @author Antonio Manuel Benjumea Conde, Servinform, S.A.
* @author Agustín Delgado, Servinform, S.A.
*/
public final class ExpandedProductParsedResult extends ParsedResult {
public final class ExpandedProductParsedRXingResult extends ParsedRXingResult {
public static final String KILOGRAM = "KG";
public static final String POUND = "LB";
@@ -58,7 +58,7 @@ public final class ExpandedProductParsedResult extends ParsedResult {
// For AIS that not exist in this object
private final Map<String,String> uncommonAIs;
public ExpandedProductParsedResult(String rawText,
public ExpandedProductParsedRXingResult(String rawText,
String productID,
String sscc,
String lotNumber,
@@ -73,7 +73,7 @@ public final class ExpandedProductParsedResult extends ParsedResult {
String priceIncrement,
String priceCurrency,
Map<String,String> uncommonAIs) {
super(ParsedResultType.PRODUCT);
super(ParsedRXingResultType.PRODUCT);
this.rawText = rawText;
this.productID = productID;
this.sscc = sscc;
@@ -93,11 +93,11 @@ public final class ExpandedProductParsedResult extends ParsedResult {
@Override
public boolean equals(Object o) {
if (!(o instanceof ExpandedProductParsedResult)) {
if (!(o instanceof ExpandedProductParsedRXingResult)) {
return false;
}
ExpandedProductParsedResult other = (ExpandedProductParsedResult) o;
ExpandedProductParsedRXingResult other = (ExpandedProductParsedRXingResult) o;
return Objects.equals(productID, other.productID)
&& Objects.equals(sscc, other.sscc)
@@ -193,7 +193,7 @@ public final class ExpandedProductParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
return String.valueOf(rawText);
}
}

View File

@@ -30,7 +30,7 @@ import java.util.HashMap;
import java.util.Map;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* Parses strings of digits that represent a RSS Extended code.
@@ -38,13 +38,13 @@ import com.google.zxing.Result;
* @author Antonio Manuel Benjumea Conde, Servinform, S.A.
* @author Agustín Delgado, Servinform, S.A.
*/
public final class ExpandedProductResultParser extends ResultParser {
public final class ExpandedProductRXingResultParser extends RXingResultParser {
@Override
public ExpandedProductParsedResult parse(Result result) {
public ExpandedProductParsedRXingResult parse(RXingResult result) {
BarcodeFormat format = result.getBarcodeFormat();
if (format != BarcodeFormat.RSS_EXPANDED) {
// ExtendedProductParsedResult NOT created. Not a RSS Expanded barcode
// ExtendedProductParsedRXingResult NOT created. Not a RSS Expanded barcode
return null;
}
String rawText = getMassagedText(result);
@@ -70,7 +70,7 @@ public final class ExpandedProductResultParser extends ResultParser {
String ai = findAIvalue(i, rawText);
if (ai == null) {
// Error. Code doesn't match with RSS expanded pattern
// ExtendedProductParsedResult NOT created. Not match with RSS Expanded pattern
// ExtendedProductParsedRXingResult NOT created. Not match with RSS Expanded pattern
return null;
}
i += ai.length() + 2;
@@ -110,7 +110,7 @@ public final class ExpandedProductResultParser extends ResultParser {
case "3108":
case "3109":
weight = value;
weightType = ExpandedProductParsedResult.KILOGRAM;
weightType = ExpandedProductParsedRXingResult.KILOGRAM;
weightIncrement = ai.substring(3);
break;
case "3200":
@@ -124,7 +124,7 @@ public final class ExpandedProductResultParser extends ResultParser {
case "3208":
case "3209":
weight = value;
weightType = ExpandedProductParsedResult.POUND;
weightType = ExpandedProductParsedRXingResult.POUND;
weightIncrement = ai.substring(3);
break;
case "3920":
@@ -141,7 +141,7 @@ public final class ExpandedProductResultParser extends ResultParser {
if (value.length() < 4) {
// The value must have more of 3 symbols (3 for currency and
// 1 at least for the price)
// ExtendedProductParsedResult NOT created. Not match with RSS Expanded pattern
// ExtendedProductParsedRXingResult NOT created. Not match with RSS Expanded pattern
return null;
}
price = value.substring(3);
@@ -155,7 +155,7 @@ public final class ExpandedProductResultParser extends ResultParser {
}
}
return new ExpandedProductParsedResult(rawText,
return new ExpandedProductParsedRXingResult(rawText,
productID,
sscc,
lotNumber,

View File

@@ -22,15 +22,15 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class GeoParsedResult extends ParsedResult {
public final class GeoParsedRXingResult extends ParsedRXingResult {
private final double latitude;
private final double longitude;
private final double altitude;
private final String query;
GeoParsedResult(double latitude, double longitude, double altitude, String query) {
super(ParsedResultType.GEO);
GeoParsedRXingResult(double latitude, double longitude, double altitude, String query) {
super(ParsedRXingResultType.GEO);
this.latitude = latitude;
this.longitude = longitude;
this.altitude = altitude;
@@ -83,7 +83,7 @@ public final class GeoParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(20);
result.append(latitude);
result.append(", ");

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -29,13 +29,13 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class GeoResultParser extends ResultParser {
public final class GeoRXingResultParser extends RXingResultParser {
private static final Pattern GEO_URL_PATTERN =
Pattern.compile("geo:([\\-0-9.]+),([\\-0-9.]+)(?:,([\\-0-9.]+))?(?:\\?(.*))?", Pattern.CASE_INSENSITIVE);
@Override
public GeoParsedResult parse(Result result) {
public GeoParsedRXingResult parse(RXingResult result) {
CharSequence rawText = getMassagedText(result);
Matcher matcher = GEO_URL_PATTERN.matcher(rawText);
if (!matcher.matches()) {
@@ -67,7 +67,7 @@ public final class GeoResultParser extends ResultParser {
} catch (NumberFormatException ignored) {
return null;
}
return new GeoParsedResult(latitude, longitude, altitude, query);
return new GeoParsedRXingResult(latitude, longitude, altitude, query);
}
}

View File

@@ -21,12 +21,12 @@ package com.google.zxing.client.result;
*
* @author jbreiden@google.com (Jeff Breidenbach)
*/
public final class ISBNParsedResult extends ParsedResult {
public final class ISBNParsedRXingResult extends ParsedRXingResult {
private final String isbn;
ISBNParsedResult(String isbn) {
super(ParsedResultType.ISBN);
ISBNParsedRXingResult(String isbn) {
super(ParsedRXingResultType.ISBN);
this.isbn = isbn;
}
@@ -35,7 +35,7 @@ public final class ISBNParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
return isbn;
}

View File

@@ -17,20 +17,20 @@
package com.google.zxing.client.result;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* Parses strings of digits that represent a ISBN.
*
* @author jbreiden@google.com (Jeff Breidenbach)
*/
public final class ISBNResultParser extends ResultParser {
public final class ISBNRXingResultParser extends RXingResultParser {
/**
* See <a href="http://www.bisg.org/isbn-13/for.dummies.html">ISBN-13 For Dummies</a>
*/
@Override
public ISBNParsedResult parse(Result result) {
public ISBNParsedRXingResult parse(RXingResult result) {
BarcodeFormat format = result.getBarcodeFormat();
if (format != BarcodeFormat.EAN_13) {
return null;
@@ -44,7 +44,7 @@ public final class ISBNResultParser extends ResultParser {
return null;
}
return new ISBNParsedResult(rawText);
return new ISBNParsedRXingResult(rawText);
}
}

View File

@@ -19,7 +19,7 @@ package com.google.zxing.client.result;
/**
* <p>Abstract class representing the result of decoding a barcode, as more than
* a String -- as some type of structured data. This might be a subclass which represents
* a URL, or an e-mail address. {@link ResultParser#parseResult(com.google.zxing.Result)} will turn a raw
* a URL, or an e-mail address. {@link RXingResultParser#parseRXingResult(com.google.zxing.RXingResult)} will turn a raw
* decoded string into the most appropriate type of structured representation.</p>
*
* <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
@@ -27,23 +27,23 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public abstract class ParsedResult {
public abstract class ParsedRXingResult {
private final ParsedResultType type;
private final ParsedRXingResultType type;
protected ParsedResult(ParsedResultType type) {
protected ParsedRXingResult(ParsedRXingResultType type) {
this.type = type;
}
public final ParsedResultType getType() {
public final ParsedRXingResultType getType() {
return type;
}
public abstract String getDisplayResult();
public abstract String getDisplayRXingResult();
@Override
public final String toString() {
return getDisplayResult();
return getDisplayRXingResult();
}
public static void maybeAppend(String value, StringBuilder result) {

View File

@@ -22,7 +22,7 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public enum ParsedResultType {
public enum ParsedRXingResultType {
ADDRESSBOOK,
EMAIL_ADDRESS,

View File

@@ -21,17 +21,17 @@ package com.google.zxing.client.result;
*
* @author dswitkin@google.com (Daniel Switkin)
*/
public final class ProductParsedResult extends ParsedResult {
public final class ProductParsedRXingResult extends ParsedRXingResult {
private final String productID;
private final String normalizedProductID;
ProductParsedResult(String productID) {
ProductParsedRXingResult(String productID) {
this(productID, productID);
}
ProductParsedResult(String productID, String normalizedProductID) {
super(ParsedResultType.PRODUCT);
ProductParsedRXingResult(String productID, String normalizedProductID) {
super(ParsedRXingResultType.PRODUCT);
this.productID = productID;
this.normalizedProductID = normalizedProductID;
}
@@ -45,7 +45,7 @@ public final class ProductParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
return productID;
}

View File

@@ -17,7 +17,7 @@
package com.google.zxing.client.result;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import com.google.zxing.oned.UPCEReader;
/**
@@ -25,11 +25,11 @@ import com.google.zxing.oned.UPCEReader;
*
* @author dswitkin@google.com (Daniel Switkin)
*/
public final class ProductResultParser extends ResultParser {
public final class ProductRXingResultParser extends RXingResultParser {
// Treat all UPC and EAN variants as UPCs, in the sense that they are all product barcodes.
@Override
public ProductParsedResult parse(Result result) {
public ProductParsedRXingResult parse(RXingResult result) {
BarcodeFormat format = result.getBarcodeFormat();
if (!(format == BarcodeFormat.UPC_A || format == BarcodeFormat.UPC_E ||
format == BarcodeFormat.EAN_8 || format == BarcodeFormat.EAN_13)) {
@@ -49,7 +49,7 @@ public final class ProductResultParser extends ResultParser {
normalizedProductID = rawText;
}
return new ProductParsedResult(rawText, normalizedProductID);
return new ProductParsedRXingResult(rawText, normalizedProductID);
}
}

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
@@ -29,7 +29,7 @@ import java.util.regex.Pattern;
/**
* <p>Abstract class representing the result of decoding a barcode, as more than
* a String -- as some type of structured data. This might be a subclass which represents
* a URL, or an e-mail address. {@link #parseResult(Result)} will turn a raw
* a URL, or an e-mail address. {@link #parseRXingResult(RXingResult)} will turn a raw
* decoded string into the most appropriate type of structured representation.</p>
*
* <p>Thanks to Jeff Griffin for proposing rewrite of these classes that relies less
@@ -37,29 +37,29 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public abstract class ResultParser {
public abstract class RXingResultParser {
private static final ResultParser[] PARSERS = {
new BookmarkDoCoMoResultParser(),
new AddressBookDoCoMoResultParser(),
new EmailDoCoMoResultParser(),
new AddressBookAUResultParser(),
new VCardResultParser(),
new BizcardResultParser(),
new VEventResultParser(),
new EmailAddressResultParser(),
new SMTPResultParser(),
new TelResultParser(),
new SMSMMSResultParser(),
new SMSTOMMSTOResultParser(),
new GeoResultParser(),
new WifiResultParser(),
new URLTOResultParser(),
new URIResultParser(),
new ISBNResultParser(),
new ProductResultParser(),
new ExpandedProductResultParser(),
new VINResultParser(),
private static final RXingResultParser[] PARSERS = {
new BookmarkDoCoMoRXingResultParser(),
new AddressBookDoCoMoRXingResultParser(),
new EmailDoCoMoRXingResultParser(),
new AddressBookAURXingResultParser(),
new VCardRXingResultParser(),
new BizcardRXingResultParser(),
new VEventRXingResultParser(),
new EmailAddressRXingResultParser(),
new SMTPRXingResultParser(),
new TelRXingResultParser(),
new SMSMMSRXingResultParser(),
new SMSTOMMSTORXingResultParser(),
new GeoRXingResultParser(),
new WifiRXingResultParser(),
new URLTORXingResultParser(),
new URIRXingResultParser(),
new ISBNRXingResultParser(),
new ProductRXingResultParser(),
new ExpandedProductRXingResultParser(),
new VINRXingResultParser(),
};
private static final Pattern DIGITS = Pattern.compile("\\d+");
@@ -70,16 +70,16 @@ public abstract class ResultParser {
static final String[] EMPTY_STR_ARRAY = new String[0];
/**
* Attempts to parse the raw {@link Result}'s contents as a particular type
* of information (email, URL, etc.) and return a {@link ParsedResult} encapsulating
* Attempts to parse the raw {@link RXingResult}'s contents as a particular type
* of information (email, URL, etc.) and return a {@link ParsedRXingResult} encapsulating
* the result of parsing.
*
* @param theResult the raw {@link Result} to parse
* @return {@link ParsedResult} encapsulating the parsing result
* @param theRXingResult the raw {@link RXingResult} to parse
* @return {@link ParsedRXingResult} encapsulating the parsing result
*/
public abstract ParsedResult parse(Result theResult);
public abstract ParsedRXingResult parse(RXingResult theRXingResult);
protected static String getMassagedText(Result result) {
protected static String getMassagedText(RXingResult result) {
String text = result.getText();
if (text.startsWith(BYTE_ORDER_MARK)) {
text = text.substring(1);
@@ -87,14 +87,14 @@ public abstract class ResultParser {
return text;
}
public static ParsedResult parseResult(Result theResult) {
for (ResultParser parser : PARSERS) {
ParsedResult result = parser.parse(theResult);
public static ParsedRXingResult parseRXingResult(RXingResult theRXingResult) {
for (RXingResultParser parser : PARSERS) {
ParsedRXingResult result = parser.parse(theRXingResult);
if (result != null) {
return result;
}
}
return new TextParsedResult(theResult.getText(), null);
return new TextParsedRXingResult(theRXingResult.getText(), null);
}
protected static void maybeAppend(String value, StringBuilder result) {

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.ArrayList;
import java.util.Collection;
@@ -38,10 +38,10 @@ import java.util.Map;
*
* @author Sean Owen
*/
public final class SMSMMSResultParser extends ResultParser {
public final class SMSMMSRXingResultParser extends RXingResultParser {
@Override
public SMSParsedResult parse(Result result) {
public SMSParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!(rawText.startsWith("sms:") || rawText.startsWith("SMS:") ||
rawText.startsWith("mms:") || rawText.startsWith("MMS:"))) {
@@ -80,7 +80,7 @@ public final class SMSMMSResultParser extends ResultParser {
}
addNumberVia(numbers, vias, smsURIWithoutQuery.substring(lastComma + 1));
return new SMSParsedResult(numbers.toArray(EMPTY_STR_ARRAY),
return new SMSParsedRXingResult(numbers.toArray(EMPTY_STR_ARRAY),
vias.toArray(EMPTY_STR_ARRAY),
subject,
body);

View File

@@ -22,29 +22,29 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class SMSParsedResult extends ParsedResult {
public final class SMSParsedRXingResult extends ParsedRXingResult {
private final String[] numbers;
private final String[] vias;
private final String subject;
private final String body;
public SMSParsedResult(String number,
public SMSParsedRXingResult(String number,
String via,
String subject,
String body) {
super(ParsedResultType.SMS);
super(ParsedRXingResultType.SMS);
this.numbers = new String[] {number};
this.vias = new String[] {via};
this.subject = subject;
this.body = body;
}
public SMSParsedResult(String[] numbers,
public SMSParsedRXingResult(String[] numbers,
String[] vias,
String subject,
String body) {
super(ParsedResultType.SMS);
super(ParsedRXingResultType.SMS);
this.numbers = numbers;
this.vias = vias;
this.subject = subject;
@@ -103,7 +103,7 @@ public final class SMSParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(100);
maybeAppend(numbers, result);
maybeAppend(subject, result);

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* <p>Parses an "smsto:" URI result, whose format is not standardized but appears to be like:
@@ -28,10 +28,10 @@ import com.google.zxing.Result;
*
* @author Sean Owen
*/
public final class SMSTOMMSTOResultParser extends ResultParser {
public final class SMSTOMMSTORXingResultParser extends RXingResultParser {
@Override
public SMSParsedResult parse(Result result) {
public SMSParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!(rawText.startsWith("smsto:") || rawText.startsWith("SMSTO:") ||
rawText.startsWith("mmsto:") || rawText.startsWith("MMSTO:"))) {
@@ -46,7 +46,7 @@ public final class SMSTOMMSTOResultParser extends ResultParser {
body = number.substring(bodyStart + 1);
number = number.substring(0, bodyStart);
}
return new SMSParsedResult(number, null, null, body);
return new SMSParsedRXingResult(number, null, null, body);
}
}

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* <p>Parses an "smtp:" URI result, whose format is not standardized but appears to be like:
@@ -24,10 +24,10 @@ import com.google.zxing.Result;
*
* @author Sean Owen
*/
public final class SMTPResultParser extends ResultParser {
public final class SMTPRXingResultParser extends RXingResultParser {
@Override
public EmailAddressParsedResult parse(Result result) {
public EmailAddressParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!(rawText.startsWith("smtp:") || rawText.startsWith("SMTP:"))) {
return null;
@@ -45,7 +45,7 @@ public final class SMTPResultParser extends ResultParser {
subject = subject.substring(0, colon);
}
}
return new EmailAddressParsedResult(new String[] {emailAddress},
return new EmailAddressParsedRXingResult(new String[] {emailAddress},
null,
null,
subject,

View File

@@ -21,14 +21,14 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class TelParsedResult extends ParsedResult {
public final class TelParsedRXingResult extends ParsedRXingResult {
private final String number;
private final String telURI;
private final String title;
public TelParsedResult(String number, String telURI, String title) {
super(ParsedResultType.TEL);
public TelParsedRXingResult(String number, String telURI, String title) {
super(ParsedRXingResultType.TEL);
this.number = number;
this.telURI = telURI;
this.title = title;
@@ -47,7 +47,7 @@ public final class TelParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(20);
maybeAppend(number, result);
maybeAppend(title, result);

View File

@@ -16,17 +16,17 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* Parses a "tel:" URI result, which specifies a phone number.
*
* @author Sean Owen
*/
public final class TelResultParser extends ResultParser {
public final class TelRXingResultParser extends RXingResultParser {
@Override
public TelParsedResult parse(Result result) {
public TelParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("tel:") && !rawText.startsWith("TEL:")) {
return null;
@@ -36,7 +36,7 @@ public final class TelResultParser extends ResultParser {
// Drop tel, query portion
int queryStart = rawText.indexOf('?', 4);
String number = queryStart < 0 ? rawText.substring(4) : rawText.substring(4, queryStart);
return new TelParsedResult(number, telURI, null);
return new TelParsedRXingResult(number, telURI, null);
}
}

View File

@@ -22,13 +22,13 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class TextParsedResult extends ParsedResult {
public final class TextParsedRXingResult extends ParsedRXingResult {
private final String text;
private final String language;
public TextParsedResult(String text, String language) {
super(ParsedResultType.TEXT);
public TextParsedRXingResult(String text, String language) {
super(ParsedRXingResultType.TEXT);
this.text = text;
this.language = language;
}
@@ -42,7 +42,7 @@ public final class TextParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
return text;
}

View File

@@ -21,13 +21,13 @@ package com.google.zxing.client.result;
*
* @author Sean Owen
*/
public final class URIParsedResult extends ParsedResult {
public final class URIParsedRXingResult extends ParsedRXingResult {
private final String uri;
private final String title;
public URIParsedResult(String uri, String title) {
super(ParsedResultType.URI);
public URIParsedRXingResult(String uri, String title) {
super(ParsedRXingResultType.URI);
this.uri = massageURI(uri);
this.title = title;
}
@@ -43,15 +43,15 @@ public final class URIParsedResult extends ParsedResult {
/**
* @return true if the URI contains suspicious patterns that may suggest it intends to
* mislead the user about its true nature
* @deprecated see {@link URIResultParser#isPossiblyMaliciousURI(String)}
* @deprecated see {@link URIRXingResultParser#isPossiblyMaliciousURI(String)}
*/
@Deprecated
public boolean isPossiblyMaliciousURI() {
return URIResultParser.isPossiblyMaliciousURI(uri);
return URIRXingResultParser.isPossiblyMaliciousURI(uri);
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(30);
maybeAppend(title, result);
maybeAppend(uri, result);
@@ -79,7 +79,7 @@ public final class URIParsedResult extends ParsedResult {
if (nextSlash < 0) {
nextSlash = uri.length();
}
return ResultParser.isSubstringOfDigits(uri, start, nextSlash - start);
return RXingResultParser.isSubstringOfDigits(uri, start, nextSlash - start);
}

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -26,7 +26,7 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class URIResultParser extends ResultParser {
public final class URIRXingResultParser extends RXingResultParser {
private static final Pattern ALLOWED_URI_CHARS_PATTERN =
Pattern.compile("[-._~:/?#\\[\\]@!$&'()*+,;=%A-Za-z0-9]+");
@@ -39,18 +39,18 @@ public final class URIResultParser extends ResultParser {
"(/|\\?|$)"); // query, path or nothing
@Override
public URIParsedResult parse(Result result) {
public URIParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
// We specifically handle the odd "URL" scheme here for simplicity and add "URI" for fun
// Assume anything starting this way really means to be a URI
if (rawText.startsWith("URL:") || rawText.startsWith("URI:")) {
return new URIParsedResult(rawText.substring(4).trim(), null);
return new URIParsedRXingResult(rawText.substring(4).trim(), null);
}
rawText = rawText.trim();
if (!isBasicallyValidURI(rawText) || isPossiblyMaliciousURI(rawText)) {
return null;
}
return new URIParsedResult(rawText, null);
return new URIParsedRXingResult(rawText, null);
}
/**

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
/**
* Parses the "URLTO" result format, which is of the form "URLTO:[title]:[url]".
@@ -25,10 +25,10 @@ import com.google.zxing.Result;
*
* @author Sean Owen
*/
public final class URLTOResultParser extends ResultParser {
public final class URLTORXingResultParser extends RXingResultParser {
@Override
public URIParsedResult parse(Result result) {
public URIParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("urlto:") && !rawText.startsWith("URLTO:")) {
return null;
@@ -39,7 +39,7 @@ public final class URLTOResultParser extends ResultParser {
}
String title = titleEnd <= 6 ? null : rawText.substring(6, titleEnd);
String uri = rawText.substring(titleEnd + 1);
return new URIParsedResult(uri, title);
return new URIParsedRXingResult(uri, title);
}
}

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.io.ByteArrayOutputStream;
import java.io.UnsupportedEncodingException;
@@ -34,7 +34,7 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class VCardResultParser extends ResultParser {
public final class VCardRXingResultParser extends RXingResultParser {
private static final Pattern BEGIN_VCARD = Pattern.compile("BEGIN:VCARD", Pattern.CASE_INSENSITIVE);
private static final Pattern VCARD_LIKE_DATE = Pattern.compile("\\d{4}-?\\d{2}-?\\d{2}");
@@ -48,7 +48,7 @@ public final class VCardResultParser extends ResultParser {
private static final Pattern SEMICOLON_OR_COMMA = Pattern.compile("[;,]");
@Override
public AddressBookParsedResult parse(Result result) {
public AddressBookParsedRXingResult parse(RXingResult result) {
// Although we should insist on the raw text ending with "END:VCARD", there's no reason
// to throw out everything else we parsed just because this was omitted. In fact, Eclair
// is doing just that, and we can't parse its contacts without this leniency.
@@ -82,7 +82,7 @@ public final class VCardResultParser extends ResultParser {
if (geo != null && geo.length != 2) {
geo = null;
}
return new AddressBookParsedResult(toPrimaryValues(names),
return new AddressBookParsedRXingResult(toPrimaryValues(names),
nicknames,
null,
toPrimaryValues(phoneNumbers),

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.List;
@@ -26,10 +26,10 @@ import java.util.List;
*
* @author Sean Owen
*/
public final class VEventResultParser extends ResultParser {
public final class VEventRXingResultParser extends RXingResultParser {
@Override
public CalendarParsedResult parse(Result result) {
public CalendarParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
int vEventStart = rawText.indexOf("BEGIN:VEVENT");
if (vEventStart < 0) {
@@ -74,7 +74,7 @@ public final class VEventResultParser extends ResultParser {
}
try {
return new CalendarParsedResult(summary,
return new CalendarParsedRXingResult(summary,
start,
end,
duration,
@@ -91,12 +91,12 @@ public final class VEventResultParser extends ResultParser {
private static String matchSingleVCardPrefixedField(CharSequence prefix,
String rawText) {
List<String> values = VCardResultParser.matchSingleVCardPrefixedField(prefix, rawText, true, false);
List<String> values = VCardRXingResultParser.matchSingleVCardPrefixedField(prefix, rawText, true, false);
return values == null || values.isEmpty() ? null : values.get(0);
}
private static String[] matchVCardPrefixedField(CharSequence prefix, String rawText) {
List<List<String>> values = VCardResultParser.matchVCardPrefixedField(prefix, rawText, true, false);
List<List<String>> values = VCardRXingResultParser.matchVCardPrefixedField(prefix, rawText, true, false);
if (values == null || values.isEmpty()) {
return null;
}

View File

@@ -20,7 +20,7 @@ package com.google.zxing.client.result;
/**
* Represents a parsed result that encodes a Vehicle Identification Number (VIN).
*/
public final class VINParsedResult extends ParsedResult {
public final class VINParsedRXingResult extends ParsedRXingResult {
private final String vin;
private final String worldManufacturerID;
@@ -32,7 +32,7 @@ public final class VINParsedResult extends ParsedResult {
private final char plantCode;
private final String sequentialNumber;
public VINParsedResult(String vin,
public VINParsedRXingResult(String vin,
String worldManufacturerID,
String vehicleDescriptorSection,
String vehicleIdentifierSection,
@@ -41,7 +41,7 @@ public final class VINParsedResult extends ParsedResult {
int modelYear,
char plantCode,
String sequentialNumber) {
super(ParsedResultType.VIN);
super(ParsedRXingResultType.VIN);
this.vin = vin;
this.worldManufacturerID = worldManufacturerID;
this.vehicleDescriptorSection = vehicleDescriptorSection;
@@ -90,7 +90,7 @@ public final class VINParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(50);
result.append(worldManufacturerID).append(' ');
result.append(vehicleDescriptorSection).append(' ');

View File

@@ -17,7 +17,7 @@
package com.google.zxing.client.result;
import com.google.zxing.BarcodeFormat;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
import java.util.regex.Pattern;
@@ -26,13 +26,13 @@ import java.util.regex.Pattern;
*
* @author Sean Owen
*/
public final class VINResultParser extends ResultParser {
public final class VINRXingResultParser extends RXingResultParser {
private static final Pattern IOQ = Pattern.compile("[IOQ]");
private static final Pattern AZ09 = Pattern.compile("[A-Z0-9]{17}");
@Override
public VINParsedResult parse(Result result) {
public VINParsedRXingResult parse(RXingResult result) {
if (result.getBarcodeFormat() != BarcodeFormat.CODE_39) {
return null;
}
@@ -46,7 +46,7 @@ public final class VINResultParser extends ResultParser {
return null;
}
String wmi = rawText.substring(0, 3);
return new VINParsedResult(rawText,
return new VINParsedRXingResult(rawText,
wmi,
rawText.substring(3, 9),
rawText.substring(9, 17),

View File

@@ -21,7 +21,7 @@ package com.google.zxing.client.result;
*
* @author Vikram Aggarwal
*/
public final class WifiParsedResult extends ParsedResult {
public final class WifiParsedRXingResult extends ParsedRXingResult {
private final String ssid;
private final String networkEncryption;
@@ -32,15 +32,15 @@ public final class WifiParsedResult extends ParsedResult {
private final String eapMethod;
private final String phase2Method;
public WifiParsedResult(String networkEncryption, String ssid, String password) {
public WifiParsedRXingResult(String networkEncryption, String ssid, String password) {
this(networkEncryption, ssid, password, false);
}
public WifiParsedResult(String networkEncryption, String ssid, String password, boolean hidden) {
public WifiParsedRXingResult(String networkEncryption, String ssid, String password, boolean hidden) {
this(networkEncryption, ssid, password, hidden, null, null, null, null);
}
public WifiParsedResult(String networkEncryption,
public WifiParsedRXingResult(String networkEncryption,
String ssid,
String password,
boolean hidden,
@@ -48,7 +48,7 @@ public final class WifiParsedResult extends ParsedResult {
String anonymousIdentity,
String eapMethod,
String phase2Method) {
super(ParsedResultType.WIFI);
super(ParsedRXingResultType.WIFI);
this.ssid = ssid;
this.networkEncryption = networkEncryption;
this.password = password;
@@ -92,7 +92,7 @@ public final class WifiParsedResult extends ParsedResult {
}
@Override
public String getDisplayResult() {
public String getDisplayRXingResult() {
StringBuilder result = new StringBuilder(80);
maybeAppend(ssid, result);
maybeAppend(networkEncryption, result);

View File

@@ -16,7 +16,7 @@
package com.google.zxing.client.result;
import com.google.zxing.Result;
import com.google.zxing.RXingResult;
@SuppressWarnings("checkstyle:lineLength")
/**
@@ -36,10 +36,10 @@ import com.google.zxing.Result;
* @author Sean Owen
* @author Steffen Kieß
*/
public final class WifiResultParser extends ResultParser {
public final class WifiRXingResultParser extends RXingResultParser {
@Override
public WifiParsedResult parse(Result result) {
public WifiParsedRXingResult parse(RXingResult result) {
String rawText = getMassagedText(result);
if (!rawText.startsWith("WIFI:")) {
return null;
@@ -74,6 +74,6 @@ public final class WifiResultParser extends ResultParser {
String anonymousIdentity = matchSinglePrefixedField("A:", rawText, ';', false);
String eapMethod = matchSinglePrefixedField("E:", rawText, ';', false);
return new WifiParsedResult(type, ssid, pass, hidden, identity, anonymousIdentity, eapMethod, phase2Method);
return new WifiParsedRXingResult(type, ssid, pass, hidden, identity, anonymousIdentity, eapMethod, phase2Method);
}
}