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.ObjectAbstract 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.PatternAMPERSANDprivate static java.lang.StringBYTE_ORDER_MARKprivate static java.util.regex.PatternDIGITS(package private) static java.lang.String[]EMPTY_STR_ARRAYprivate static java.util.regex.PatternEQUALSprivate 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 voidappendKeyValue(java.lang.CharSequence keyValue, java.util.Map<java.lang.String,java.lang.String> result)private static intcountPrecedingBackslashes(java.lang.CharSequence s, int pos)protected static java.lang.StringgetMassagedText(Result result)protected static booleanisStringOfDigits(java.lang.CharSequence value, int length)protected static booleanisSubstringOfDigits(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.StringmatchSinglePrefixedField(java.lang.String prefix, java.lang.String rawText, char endChar, boolean trim)protected static voidmaybeAppend(java.lang.String[] value, java.lang.StringBuilder result)protected static voidmaybeAppend(java.lang.String value, java.lang.StringBuilder result)protected static java.lang.String[]maybeWrap(java.lang.String value)abstract ParsedResultparse(Result theResult)Attempts to parse the rawResult's contents as a particular type of information (email, URL, etc.) and return aParsedResultencapsulating the result of parsing.protected static intparseHexDigit(char c)(package private) static java.util.Map<java.lang.String,java.lang.String>parseNameValuePairs(java.lang.String uri)static ParsedResultparseResult(Result theResult)protected static java.lang.StringunescapeBackslash(java.lang.String escaped)(package private) static java.lang.StringurlDecode(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 aParsedResultencapsulating the result of parsing.- Parameters:
theResult- the rawResultto parse- Returns:
ParsedResultencapsulating 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)
-
-