|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecta_vcard.android.syncml.pim.vcard.VCardParser_V21
public class VCardParser_V21
This class is used to parse vcard. Please refer to vCard Specification 2.1.
Field Summary | |
---|---|
static java.lang.String |
DEFAULT_CHARSET
|
protected VBuilder |
mBuilder
The builder to build parsed data |
protected java.lang.String |
mEncoding
The encoding type |
protected java.io.BufferedReader |
mReader
|
protected java.util.HashSet<java.lang.String> |
mWarningValueMap
|
protected java.lang.String |
sDefaultEncoding
|
Constructor Summary | |
---|---|
VCardParser_V21()
Create a new VCard parser. |
|
VCardParser_V21(VCardSourceDetector detector)
|
Method Summary | |
---|---|
void |
cancel()
Cancel parsing. |
protected java.lang.String |
getBase64(java.lang.String firstString)
|
protected java.lang.String |
getLine()
|
protected java.lang.String |
getNonEmptyLine()
|
protected java.lang.String |
getQuotedPrintable(java.lang.String firstString)
|
protected java.lang.String |
getVersion()
|
protected void |
handleAgent(java.lang.String propertyValue)
vCard 2.1 specifies AGENT allows one vcard entry. |
protected void |
handleAnyParam(java.lang.String paramName,
java.lang.String paramValue)
Mainly for "X-" type. |
protected void |
handleCharset(java.lang.String charsetval)
vCard specification only allows us-ascii and iso-8859-xxx (See RFC 1521), but some vCard contains other charset, so we allow them. |
protected void |
handleEncoding(java.lang.String pencodingval)
pencodingval = "7BIT" / "8BIT" / "QUOTED-PRINTABLE" / "BASE64" / "X-" word |
protected void |
handleLanguage(java.lang.String langval)
See also Section 7.1 of RFC 1521 |
protected void |
handleMultiplePropertyValue(java.lang.String propertyName,
java.lang.String propertyValue)
Mainly for "ADR", "ORG", and "N" We do not care the number of strnosemi here. |
protected void |
handleParams(java.lang.String params)
params = ";" [ws] paramlist paramlist = paramlist [ws] ";" [ws] param / param param = "TYPE" [ws] "=" [ws] ptypeval / "VALUE" [ws] "=" [ws] pvalueval / "ENCODING" [ws] "=" [ws] pencodingval / "CHARSET" [ws] "=" [ws] charsetval / "LANGUAGE" [ws] "=" [ws] langval / "X-" word [ws] "=" [ws] word / knowntype |
protected void |
handlePropertyValue(java.lang.String propertyName,
java.lang.String propertyValue)
|
protected void |
handleType(java.lang.String ptypeval)
ptypeval = knowntype / "X-" word |
protected void |
handleValue(java.lang.String pvalueval)
pvalueval = "INLINE" / "URL" / "CONTENT-ID" / "CID" / "X-" word |
protected boolean |
isValidEncoding(java.lang.String encoding)
|
protected boolean |
isValidPropertyName(java.lang.String propertyName)
|
protected java.lang.String |
maybeUnescape(char ch)
Returns unescaped String if the character should be unescaped. |
protected java.lang.String |
maybeUnescapeText(java.lang.String text)
For vCard 3.0. |
boolean |
parse(java.io.InputStream is,
java.lang.String charset,
VBuilder builder)
Parse the given stream and constructs VCardDataBuilder object. |
void |
parse(java.io.InputStream is,
java.lang.String charset,
VBuilder builder,
boolean canceled)
It is very, very rare case, but there is a case where canceled may be already true outside this object. |
boolean |
parse(java.io.InputStream is,
VBuilder builder)
|
protected boolean |
parseItem()
item = [groups "."] name [params] ":" value CRLF / [groups "."] "ADR" [params] ":" addressparts CRLF / [groups "."] "ORG" [params] ":" orgparts CRLF / [groups "."] "N" [params] ":" nameparts CRLF / [groups "."] "AGENT" [params] ":" vcard CRLF |
protected void |
parseItems()
items = *CRLF item / item |
protected void |
parseVCardFile()
Parse the file at the given position vcard_file = [wsls] vcard [wsls] |
protected boolean |
readBeginVCard(boolean allowGarbage)
|
protected void |
readEndVCard(boolean useCache,
boolean allowGarbage)
The arguments useCache and allowGarbase are usually true and false accordingly when this function is called outside this function itself. |
protected java.lang.String[] |
separateLineAndHandleGroup(java.lang.String line)
|
void |
showDebugInfo()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.lang.String DEFAULT_CHARSET
protected VBuilder mBuilder
protected java.lang.String mEncoding
protected final java.lang.String sDefaultEncoding
protected java.io.BufferedReader mReader
protected java.util.HashSet<java.lang.String> mWarningValueMap
Constructor Detail |
---|
public VCardParser_V21()
public VCardParser_V21(VCardSourceDetector detector)
Method Detail |
---|
protected void parseVCardFile() throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected java.lang.String getVersion()
protected boolean isValidPropertyName(java.lang.String propertyName)
protected boolean isValidEncoding(java.lang.String encoding)
protected java.lang.String getLine() throws java.io.IOException
java.io.IOException
protected java.lang.String getNonEmptyLine() throws java.io.IOException, VCardException
java.io.IOException
VCardException
- when the stream reached end of lineprotected boolean readBeginVCard(boolean allowGarbage) throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected void readEndVCard(boolean useCache, boolean allowGarbage) throws java.io.IOException, VCardException
useCache
- When true, line is obtained from mPreviousline. Otherwise, getLine()
is used.allowGarbage
- When true, ignore non "END:VCARD" line.
java.io.IOException
VCardException
protected void parseItems() throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected boolean parseItem() throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected java.lang.String[] separateLineAndHandleGroup(java.lang.String line) throws VCardException
VCardException
protected void handleParams(java.lang.String params) throws VCardException
VCardException
protected void handleType(java.lang.String ptypeval)
protected void handleValue(java.lang.String pvalueval) throws VCardException
VCardException
protected void handleEncoding(java.lang.String pencodingval) throws VCardException
VCardException
protected void handleCharset(java.lang.String charsetval)
protected void handleLanguage(java.lang.String langval) throws VCardException
VCardException
protected void handleAnyParam(java.lang.String paramName, java.lang.String paramValue)
protected void handlePropertyValue(java.lang.String propertyName, java.lang.String propertyValue) throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected java.lang.String getQuotedPrintable(java.lang.String firstString) throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected java.lang.String getBase64(java.lang.String firstString) throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected void handleMultiplePropertyValue(java.lang.String propertyName, java.lang.String propertyValue) throws java.io.IOException, VCardException
java.io.IOException
VCardException
protected void handleAgent(java.lang.String propertyValue) throws VCardException
VCardException
protected java.lang.String maybeUnescapeText(java.lang.String text)
protected java.lang.String maybeUnescape(char ch)
public boolean parse(java.io.InputStream is, java.lang.String charset, VBuilder builder) throws java.io.IOException, VCardException
is
- The source to parse.charset
- The charset.builder
- The v builder which used to construct data.
java.io.IOException
VCardException
public boolean parse(java.io.InputStream is, VBuilder builder) throws java.io.IOException, VCardException
java.io.IOException
VCardException
public void cancel()
public void parse(java.io.InputStream is, java.lang.String charset, VBuilder builder, boolean canceled) throws java.io.IOException, VCardException
java.io.IOException
VCardException
public void showDebugInfo()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |