Package com.google.zxing.client.result
Class VCardResultParser
- java.lang.Object
-
- com.google.zxing.client.result.ResultParser
-
- com.google.zxing.client.result.VCardResultParser
-
public final class VCardResultParser extends ResultParser
Parses contact information formatted according to the VCard (2.1) format. This is not a complete implementation but should parse information as commonly encoded in 2D barcodes.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternBEGIN_VCARDprivate static java.util.regex.PatternCOMMAprivate static java.util.regex.PatternCR_LF_SPACE_TABprivate static java.util.regex.PatternEQUALSprivate static java.util.regex.PatternNEWLINE_ESCAPEprivate static java.util.regex.PatternSEMICOLONprivate static java.util.regex.PatternSEMICOLON_OR_COMMAprivate static java.util.regex.PatternUNESCAPED_SEMICOLONSprivate static java.util.regex.PatternVCARD_ESCAPESprivate static java.util.regex.PatternVCARD_LIKE_DATE-
Fields inherited from class com.google.zxing.client.result.ResultParser
EMPTY_STR_ARRAY
-
-
Constructor Summary
Constructors Constructor Description VCardResultParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.lang.StringdecodeQuotedPrintable(java.lang.CharSequence value, java.lang.String charset)private static voidformatNames(java.lang.Iterable<java.util.List<java.lang.String>> names)Formats name fields of the form "Public;John;Q.;Reverend;III" into a form like "Reverend John Q.private static booleanisLikeVCardDate(java.lang.CharSequence value)(package private) static java.util.List<java.lang.String>matchSingleVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)(package private) static java.util.List<java.util.List<java.lang.String>>matchVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)private static voidmaybeAppendComponent(java.lang.String[] components, int i, java.lang.StringBuilder newName)private static voidmaybeAppendFragment(java.io.ByteArrayOutputStream fragmentBuffer, java.lang.String charset, java.lang.StringBuilder result)AddressBookParsedResultparse(Result result)Attempts to parse the rawResult's contents as a particular type of information (email, URL, etc.) and return aParsedResultencapsulating the result of parsing.private static java.lang.StringtoPrimaryValue(java.util.List<java.lang.String> list)private static java.lang.String[]toPrimaryValues(java.util.Collection<java.util.List<java.lang.String>> lists)private static java.lang.String[]toTypes(java.util.Collection<java.util.List<java.lang.String>> lists)-
Methods inherited from class com.google.zxing.client.result.ResultParser
getMassagedText, isStringOfDigits, isSubstringOfDigits, matchPrefixedField, matchSinglePrefixedField, maybeAppend, maybeAppend, maybeWrap, parseHexDigit, parseNameValuePairs, parseResult, unescapeBackslash, urlDecode
-
-
-
-
Field Detail
-
BEGIN_VCARD
private static final java.util.regex.Pattern BEGIN_VCARD
-
VCARD_LIKE_DATE
private static final java.util.regex.Pattern VCARD_LIKE_DATE
-
CR_LF_SPACE_TAB
private static final java.util.regex.Pattern CR_LF_SPACE_TAB
-
NEWLINE_ESCAPE
private static final java.util.regex.Pattern NEWLINE_ESCAPE
-
VCARD_ESCAPES
private static final java.util.regex.Pattern VCARD_ESCAPES
-
EQUALS
private static final java.util.regex.Pattern EQUALS
-
SEMICOLON
private static final java.util.regex.Pattern SEMICOLON
-
UNESCAPED_SEMICOLONS
private static final java.util.regex.Pattern UNESCAPED_SEMICOLONS
-
COMMA
private static final java.util.regex.Pattern COMMA
-
SEMICOLON_OR_COMMA
private static final java.util.regex.Pattern SEMICOLON_OR_COMMA
-
-
Method Detail
-
parse
public AddressBookParsedResult parse(Result result)
Description copied from class:ResultParserAttempts to parse the rawResult's contents as a particular type of information (email, URL, etc.) and return aParsedResultencapsulating the result of parsing.- Specified by:
parsein classResultParser- Parameters:
result- the rawResultto parse- Returns:
ParsedResultencapsulating the parsing result
-
matchVCardPrefixedField
static java.util.List<java.util.List<java.lang.String>> matchVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)
-
decodeQuotedPrintable
private static java.lang.String decodeQuotedPrintable(java.lang.CharSequence value, java.lang.String charset)
-
maybeAppendFragment
private static void maybeAppendFragment(java.io.ByteArrayOutputStream fragmentBuffer, java.lang.String charset, java.lang.StringBuilder result)
-
matchSingleVCardPrefixedField
static java.util.List<java.lang.String> matchSingleVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)
-
toPrimaryValue
private static java.lang.String toPrimaryValue(java.util.List<java.lang.String> list)
-
toPrimaryValues
private static java.lang.String[] toPrimaryValues(java.util.Collection<java.util.List<java.lang.String>> lists)
-
toTypes
private static java.lang.String[] toTypes(java.util.Collection<java.util.List<java.lang.String>> lists)
-
isLikeVCardDate
private static boolean isLikeVCardDate(java.lang.CharSequence value)
-
formatNames
private static void formatNames(java.lang.Iterable<java.util.List<java.lang.String>> names)
Formats name fields of the form "Public;John;Q.;Reverend;III" into a form like "Reverend John Q. Public III".- Parameters:
names- name values to format, in place
-
maybeAppendComponent
private static void maybeAppendComponent(java.lang.String[] components, int i, java.lang.StringBuilder newName)
-
-