|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectezvcard.io.scribe.VCardPropertyScribe<Timezone>
ezvcard.io.scribe.TimezoneScribe
public class TimezoneScribe
Marshals Timezone
properties.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ezvcard.io.scribe.VCardPropertyScribe |
---|
VCardPropertyScribe.DateWriter, VCardPropertyScribe.Result<T extends VCardProperty>, VCardPropertyScribe.SemiStructuredIterator, VCardPropertyScribe.Splitter, VCardPropertyScribe.StructuredIterator |
Field Summary |
---|
Fields inherited from class ezvcard.io.scribe.VCardPropertyScribe |
---|
clazz, propertyName, qname |
Constructor Summary | |
---|---|
TimezoneScribe()
|
Method Summary | |
---|---|
protected VCardDataType |
_dataType(Timezone property,
VCardVersion version)
Determines the data type of a property instance. |
protected VCardDataType |
_defaultDataType(VCardVersion version)
Determines the property's default data type. |
protected Timezone |
_parseHtml(HCardElement element,
List<String> warnings)
Unmarshals the property from an hCard (HTML document). |
protected Timezone |
_parseJson(JCardValue value,
VCardDataType dataType,
VCardParameters parameters,
List<String> warnings)
Unmarshals a property from a JSON data stream (jCard). |
protected Timezone |
_parseText(String value,
VCardDataType dataType,
VCardVersion version,
VCardParameters parameters,
List<String> warnings)
Unmarshals a property from a plain-text vCard. |
protected Timezone |
_parseXml(XCardElement element,
VCardParameters parameters,
List<String> warnings)
Unmarshals a property from an XML document (xCard). |
protected JCardValue |
_writeJson(Timezone property)
Marshals a property's value to a JSON data stream (jCard). |
protected String |
_writeText(Timezone property,
VCardVersion version)
Marshals a property's value to a string. |
protected void |
_writeXml(Timezone property,
XCardElement parent)
Marshals a property's value to an XML element (xCard). |
Methods inherited from class ezvcard.io.scribe.VCardPropertyScribe |
---|
_prepareParameters, dataType, date, date, defaultDataType, escape, getPropertyClass, getPropertyName, getQName, handlePrefParam, list, list, list, missingXmlElements, missingXmlElements, parseHtml, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, split, structured, structured, structured, unescape, writeJson, writeText, writeXml |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TimezoneScribe()
Method Detail |
---|
protected VCardDataType _defaultDataType(VCardVersion version)
VCardPropertyScribe
Determines the property's default data type.
When writing a plain-text vCard, if the data type of a property instance
(as determined by the VCardPropertyScribe.dataType(T, ezvcard.VCardVersion)
method) matches the default data
type, then a VALUE parameter will *not* be written.
When parsing a plain-text vCard, if a property has no VALUE parameter,
then the property's default data type will be passed into the
VCardPropertyScribe.parseText(java.lang.String, ezvcard.VCardDataType, ezvcard.VCardVersion, ezvcard.parameter.VCardParameters)
method.
_defaultDataType
in class VCardPropertyScribe<Timezone>
version
- the vCard version
protected VCardDataType _dataType(Timezone property, VCardVersion version)
VCardPropertyScribe
Determines the data type of a property instance.
This method should be overridden by child classes if a property's data
type changes depending on its value. The default implementation of this
method calls VCardPropertyScribe._defaultDataType(ezvcard.VCardVersion)
.
_dataType
in class VCardPropertyScribe<Timezone>
property
- the propertyversion
- the version of the vCard that is being generated
protected String _writeText(Timezone property, VCardVersion version)
VCardPropertyScribe
_writeText
in class VCardPropertyScribe<Timezone>
property
- the propertyversion
- the version of the vCard that is being generated
protected Timezone _parseText(String value, VCardDataType dataType, VCardVersion version, VCardParameters parameters, List<String> warnings)
VCardPropertyScribe
_parseText
in class VCardPropertyScribe<Timezone>
value
- the value as read off the wiredataType
- the data type of the property value. The property's VALUE
parameter is used to determine the data type. If the property has no
VALUE parameter, then this parameter will be set to the property's
default datatype, as determined by the VCardPropertyScribe.defaultDataType(ezvcard.VCardVersion)
method.
Note that the VALUE parameter is removed from the property's parameter
list after it has been read.version
- the version of the vCard that is being parsedparameters
- the parsed parameters. These parameters will be
assigned to the property object once this method returns. Therefore, do
not assign any parameters to the property object itself whilst inside of
this method, or else they will be overwritten.warnings
- allows the programmer to alert the user to any
note-worthy (but non-critical) issues that occurred during the
unmarshalling process
protected void _writeXml(Timezone property, XCardElement parent)
VCardPropertyScribe
Marshals a property's value to an XML element (xCard).
This method should be overridden by child classes that wish to support
xCard. The default implementation of this method will append one child
element to the property's XML element. The child element's name will be
that of the property's data type (retrieved using the VCardPropertyScribe.dataType(T, ezvcard.VCardVersion)
method), and the child element's text content will be set to the
property's marshalled plain-text value (retrieved using the
VCardPropertyScribe.writeText(T, ezvcard.VCardVersion)
method).
_writeXml
in class VCardPropertyScribe<Timezone>
property
- the propertyparent
- the property's XML elementprotected Timezone _parseXml(XCardElement element, VCardParameters parameters, List<String> warnings)
VCardPropertyScribe
Unmarshals a property from an XML document (xCard).
This method should be overridden by child classes that wish to support
xCard. The default implementation of this method will find the first
child element with the xCard namespace. The element's name will be used
as the property's data type and its text content will be passed into the
VCardPropertyScribe._parseText(java.lang.String, ezvcard.VCardDataType, ezvcard.VCardVersion, ezvcard.parameter.VCardParameters, java.util.List
method. If no such child element is found, then the
parent element's text content will be passed into VCardPropertyScribe._parseText(java.lang.String, ezvcard.VCardDataType, ezvcard.VCardVersion, ezvcard.parameter.VCardParameters, java.util.List
and
the data type will be null.
_parseXml
in class VCardPropertyScribe<Timezone>
element
- the property's XML elementparameters
- the parsed parameters. These parameters will be
assigned to the property object once this method returns. Therefore, do
not assign any parameters to the property object itself whilst inside of
this method, or else they will be overwritten.warnings
- allows the programmer to alert the user to any
note-worthy (but non-critical) issues that occurred during the
unmarshalling process
protected Timezone _parseHtml(HCardElement element, List<String> warnings)
VCardPropertyScribe
Unmarshals the property from an hCard (HTML document).
This method should be overridden by child classes that wish to support
hCard. The default implementation of this method will retrieve the HTML
element's hCard value (as described in HCardElement.value()
), and
pass it into the VCardPropertyScribe._parseText(java.lang.String, ezvcard.VCardDataType, ezvcard.VCardVersion, ezvcard.parameter.VCardParameters, java.util.List
method.
_parseHtml
in class VCardPropertyScribe<Timezone>
element
- the property's HTML elementwarnings
- allows the programmer to alert the user to any
note-worthy (but non-critical) issues that occurred during the
unmarshalling processprotected JCardValue _writeJson(Timezone property)
VCardPropertyScribe
Marshals a property's value to a JSON data stream (jCard).
This method should be overridden by child classes that wish to support
jCard. The default implementation of this method will create a jCard
property that has a single JSON string value (generated by the
VCardPropertyScribe.writeText(T, ezvcard.VCardVersion)
method).
_writeJson
in class VCardPropertyScribe<Timezone>
property
- the property
protected Timezone _parseJson(JCardValue value, VCardDataType dataType, VCardParameters parameters, List<String> warnings)
VCardPropertyScribe
Unmarshals a property from a JSON data stream (jCard).
This method should be overridden by child classes that wish to support
jCard. The default implementation of this method will convert the jCard
property value to a string and pass it into the VCardPropertyScribe._parseText(java.lang.String, ezvcard.VCardDataType, ezvcard.VCardVersion, ezvcard.parameter.VCardParameters, java.util.List
method.
The following paragraphs describe the way in which this method's default implementation converts a jCard value to a string:
If the jCard value consists of a single, non-array, non-object value,
then the value is converted to a string. Special characters (backslashes,
commas, and semicolons) are escaped in order to simulate what the value
might look like in a plain-text vCard.
["x-foo", {}, "text", "the;value"] --> "the\;value"
["x-foo", {}, "text", 2] --> "2"
If the jCard value consists of multiple, non-array, non-object values,
then all the values are appended together in a single string, separated
by commas. Special characters (backslashes, commas, and semicolons) are
escaped for each value in order to prevent commas from being treated as
delimiters, and to simulate what the value might look like in a
plain-text vCard.
["x-foo", {}, "text", "one", "two,three"] -->
"one,two\,three"
If the jCard value is a single array, then this array is treated as a
"structured value", and converted its plain-text representation. Special
characters (backslashes, commas, and semicolons) are escaped for each
value in order to prevent commas and semicolons from being treated as
delimiters.
["x-foo", {}, "text", ["one", ["two", "three"], "four;five"]]
--> "one;two,three;four\;five"
If the jCard value starts with a JSON object, then it is converted to an
empty string (JSON objects are not supported by this method).
["x-foo", , "text", {"one": 1}] --> ""}
For all other cases, behavior is undefined.
_parseJson
in class VCardPropertyScribe<Timezone>
value
- the property's JSON valuedataType
- the data typeparameters
- the parsed parameters. These parameters will be
assigned to the property object once this method returns. Therefore, do
not assign any parameters to the property object itself whilst inside of
this method, or else they will be overwritten.warnings
- allows the programmer to alert the user to any
note-worthy (but non-critical) issues that occurred during the
unmarshalling process
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |