Package com.google.zxing.client.result
Class ResultParser
- java.lang.Object
-
- com.google.zxing.client.result.ResultParser
-
- Direct Known Subclasses:
AbstractDoCoMoResultParser
,AddressBookAUResultParser
,EmailAddressResultParser
,ExpandedProductResultParser
,GeoResultParser
,ISBNResultParser
,ProductResultParser
,SMSMMSResultParser
,SMSTOMMSTOResultParser
,SMTPResultParser
,TelResultParser
,URIResultParser
,URLTOResultParser
,VCardResultParser
,VEventResultParser
,VINResultParser
,WifiResultParser
public abstract class ResultParser extends java.lang.Object
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.
parseResult(Result)
will turn a raw decoded string into the most appropriate type of structured representation.Thanks to Jeff Griffin for proposing rewrite of these classes that relies less on exception-based mechanisms during parsing.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.Pattern
AMPERSAND
private static java.lang.String
BYTE_ORDER_MARK
private static java.util.regex.Pattern
DIGITS
(package private) static java.lang.String[]
EMPTY_STR_ARRAY
private static java.util.regex.Pattern
EQUALS
private static ResultParser[]
PARSERS
-
Constructor Summary
Constructors Constructor Description ResultParser()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description private static void
appendKeyValue(java.lang.CharSequence keyValue, java.util.Map<java.lang.String,java.lang.String> result)
private static int
countPrecedingBackslashes(java.lang.CharSequence s, int pos)
protected static java.lang.String
getMassagedText(Result result)
protected static boolean
isStringOfDigits(java.lang.CharSequence value, int length)
protected static boolean
isSubstringOfDigits(java.lang.CharSequence value, int offset, int length)
(package private) static java.lang.String[]
matchPrefixedField(java.lang.String prefix, java.lang.String rawText, char endChar, boolean trim)
(package private) static java.lang.String
matchSinglePrefixedField(java.lang.String prefix, java.lang.String rawText, char endChar, boolean trim)
protected static void
maybeAppend(java.lang.String[] value, java.lang.StringBuilder result)
protected static void
maybeAppend(java.lang.String value, java.lang.StringBuilder result)
protected static java.lang.String[]
maybeWrap(java.lang.String value)
abstract ParsedResult
parse(Result theResult)
Attempts to parse the rawResult
's contents as a particular type of information (email, URL, etc.) and return aParsedResult
encapsulating the result of parsing.protected static int
parseHexDigit(char c)
(package private) static java.util.Map<java.lang.String,java.lang.String>
parseNameValuePairs(java.lang.String uri)
static ParsedResult
parseResult(Result theResult)
protected static java.lang.String
unescapeBackslash(java.lang.String escaped)
(package private) static java.lang.String
urlDecode(java.lang.String encoded)
-
-
-
Field Detail
-
PARSERS
private static final ResultParser[] PARSERS
-
DIGITS
private static final java.util.regex.Pattern DIGITS
-
AMPERSAND
private static final java.util.regex.Pattern AMPERSAND
-
EQUALS
private static final java.util.regex.Pattern EQUALS
-
BYTE_ORDER_MARK
private static final java.lang.String BYTE_ORDER_MARK
- See Also:
- Constant Field Values
-
EMPTY_STR_ARRAY
static final java.lang.String[] EMPTY_STR_ARRAY
-
-
Method Detail
-
parse
public abstract ParsedResult parse(Result theResult)
Attempts to parse the rawResult
's contents as a particular type of information (email, URL, etc.) and return aParsedResult
encapsulating the result of parsing.- Parameters:
theResult
- the rawResult
to parse- Returns:
ParsedResult
encapsulating the parsing result
-
getMassagedText
protected static java.lang.String getMassagedText(Result result)
-
parseResult
public static ParsedResult parseResult(Result theResult)
-
maybeAppend
protected static void maybeAppend(java.lang.String value, java.lang.StringBuilder result)
-
maybeAppend
protected static void maybeAppend(java.lang.String[] value, java.lang.StringBuilder result)
-
maybeWrap
protected static java.lang.String[] maybeWrap(java.lang.String value)
-
unescapeBackslash
protected static java.lang.String unescapeBackslash(java.lang.String escaped)
-
parseHexDigit
protected static int parseHexDigit(char c)
-
isStringOfDigits
protected static boolean isStringOfDigits(java.lang.CharSequence value, int length)
-
isSubstringOfDigits
protected static boolean isSubstringOfDigits(java.lang.CharSequence value, int offset, int length)
-
parseNameValuePairs
static java.util.Map<java.lang.String,java.lang.String> parseNameValuePairs(java.lang.String uri)
-
appendKeyValue
private static void appendKeyValue(java.lang.CharSequence keyValue, java.util.Map<java.lang.String,java.lang.String> result)
-
urlDecode
static java.lang.String urlDecode(java.lang.String encoded)
-
matchPrefixedField
static java.lang.String[] matchPrefixedField(java.lang.String prefix, java.lang.String rawText, char endChar, boolean trim)
-
countPrecedingBackslashes
private static int countPrecedingBackslashes(java.lang.CharSequence s, int pos)
-
matchSinglePrefixedField
static java.lang.String matchSinglePrefixedField(java.lang.String prefix, java.lang.String rawText, char endChar, boolean trim)
-
-