public final class VCardResultParser extends ResultParser
Modifier and Type | Field and Description |
---|---|
private static java.util.regex.Pattern |
BEGIN_VCARD |
private static java.util.regex.Pattern |
COMMA |
private static java.util.regex.Pattern |
CR_LF_SPACE_TAB |
private static java.util.regex.Pattern |
EQUALS |
private static java.util.regex.Pattern |
NEWLINE_ESCAPE |
private static java.util.regex.Pattern |
SEMICOLON |
private static java.util.regex.Pattern |
SEMICOLON_OR_COMMA |
private static java.util.regex.Pattern |
UNESCAPED_SEMICOLONS |
private static java.util.regex.Pattern |
VCARD_ESCAPES |
private static java.util.regex.Pattern |
VCARD_LIKE_DATE |
EMPTY_STR_ARRAY
Constructor and Description |
---|
VCardResultParser() |
Modifier and Type | Method and Description |
---|---|
private static java.lang.String |
decodeQuotedPrintable(java.lang.CharSequence value,
java.lang.String charset) |
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.
|
private static boolean |
isLikeVCardDate(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 void |
maybeAppendComponent(java.lang.String[] components,
int i,
java.lang.StringBuilder newName) |
private static void |
maybeAppendFragment(java.io.ByteArrayOutputStream fragmentBuffer,
java.lang.String charset,
java.lang.StringBuilder result) |
AddressBookParsedResult |
parse(Result result)
Attempts to parse the raw
Result 's contents as a particular type
of information (email, URL, etc.) and return a ParsedResult encapsulating
the result of parsing. |
private static java.lang.String |
toPrimaryValue(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) |
getMassagedText, isStringOfDigits, isSubstringOfDigits, matchPrefixedField, matchSinglePrefixedField, maybeAppend, maybeAppend, maybeWrap, parseHexDigit, parseNameValuePairs, parseResult, unescapeBackslash, urlDecode
private static final java.util.regex.Pattern BEGIN_VCARD
private static final java.util.regex.Pattern VCARD_LIKE_DATE
private static final java.util.regex.Pattern CR_LF_SPACE_TAB
private static final java.util.regex.Pattern NEWLINE_ESCAPE
private static final java.util.regex.Pattern VCARD_ESCAPES
private static final java.util.regex.Pattern EQUALS
private static final java.util.regex.Pattern SEMICOLON
private static final java.util.regex.Pattern UNESCAPED_SEMICOLONS
private static final java.util.regex.Pattern COMMA
private static final java.util.regex.Pattern SEMICOLON_OR_COMMA
public AddressBookParsedResult parse(Result result)
ResultParser
Result
's contents as a particular type
of information (email, URL, etc.) and return a ParsedResult
encapsulating
the result of parsing.parse
in class ResultParser
result
- the raw Result
to parseParsedResult
encapsulating the parsing resultstatic java.util.List<java.util.List<java.lang.String>> matchVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)
private static java.lang.String decodeQuotedPrintable(java.lang.CharSequence value, java.lang.String charset)
private static void maybeAppendFragment(java.io.ByteArrayOutputStream fragmentBuffer, java.lang.String charset, java.lang.StringBuilder result)
static java.util.List<java.lang.String> matchSingleVCardPrefixedField(java.lang.CharSequence prefix, java.lang.String rawText, boolean trim, boolean parseFieldDivider)
private static java.lang.String toPrimaryValue(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)
private static boolean isLikeVCardDate(java.lang.CharSequence value)
private static void formatNames(java.lang.Iterable<java.util.List<java.lang.String>> names)
names
- name values to format, in placeprivate static void maybeAppendComponent(java.lang.String[] components, int i, java.lang.StringBuilder newName)