public class FreeBusyScribe extends ICalPropertyScribe<FreeBusy>
FreeBusy
properties.ICalPropertyScribe.DateParser, ICalPropertyScribe.DateWriter, ICalPropertyScribe.ListCallback<T>, ICalPropertyScribe.Result<T>, ICalPropertyScribe.SemiStructuredIterator, ICalPropertyScribe.Splitter, ICalPropertyScribe.StructuredIterator
clazz, propertyName, qname
Constructor and Description |
---|
FreeBusyScribe() |
Modifier and Type | Method and Description |
---|---|
protected ICalDataType |
_defaultDataType(ICalVersion version)
Determines the default data type of this property.
|
protected FreeBusy |
_parseJson(JCalValue value,
ICalDataType dataType,
ICalParameters parameters,
ParseContext context)
Unmarshals a property from a JSON data stream (jCal).
|
protected FreeBusy |
_parseText(String value,
ICalDataType dataType,
ICalParameters parameters,
ParseContext context)
Unmarshals a property from a plain-text iCalendar data stream.
|
protected FreeBusy |
_parseXml(XCalElement element,
ICalParameters parameters,
ParseContext context)
Unmarshals a property from an XML document (xCal).
|
protected JCalValue |
_writeJson(FreeBusy property,
WriteContext context)
Marshals a property's value to a JSON data stream (jCal).
|
protected String |
_writeText(FreeBusy property,
WriteContext context)
Marshals a property's value to a string.
|
protected void |
_writeXml(FreeBusy property,
XCalElement element,
WriteContext context)
Marshals a property's value to an XML element (xCal).
|
Set<ICalVersion> |
getSupportedVersions()
Gets the iCalendar versions that support this property.
|
_dataType, _prepareParameters, dataType, date, date, date, date, date, defaultDataType, escape, getPropertyClass, getPropertyName, getQName, handleTzidParameter, isInObservance, list, list, list, list, missingXmlElements, missingXmlElements, object, object, parseJson, parseText, parseXml, prepareParameters, semistructured, semistructured, splitter, structured, structured, structured, unescape, writeJson, writeText, writeXml
public FreeBusyScribe()
protected ICalDataType _defaultDataType(ICalVersion version)
ICalPropertyScribe
Determines the default data type of this property.
This method should be overridden by child classes if a property's default
data type changes depending the iCalendar version. The default
implementation of this method returns the data type that was passed into
the ICalPropertyScribe.ICalPropertyScribe(Class, String, ICalDataType)
constructor.
Null is returned if this constructor was not invoked.
_defaultDataType
in class ICalPropertyScribe<FreeBusy>
version
- the version of the iCalendar object being generatedprotected String _writeText(FreeBusy property, WriteContext context)
ICalPropertyScribe
_writeText
in class ICalPropertyScribe<FreeBusy>
property
- the propertycontext
- the write contextprotected FreeBusy _parseText(String value, ICalDataType dataType, ICalParameters parameters, ParseContext context)
ICalPropertyScribe
_parseText
in class ICalPropertyScribe<FreeBusy>
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. Note that the VALUE parameter is removed from the
property's parameter list after it has been read.parameters
- 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.context
- the parse contextprotected void _writeXml(FreeBusy property, XCalElement element, WriteContext context)
ICalPropertyScribe
Marshals a property's value to an XML element (xCal).
This method should be overridden by child classes that wish to support
xCal. 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 ICalPropertyScribe.dataType(T, biweekly.ICalVersion)
method), and the child element's text content will be set to the
property's marshalled plain-text value (retrieved using the
ICalPropertyScribe.writeText(T, biweekly.io.WriteContext)
method).
_writeXml
in class ICalPropertyScribe<FreeBusy>
property
- the propertyelement
- the property's XML elementcontext
- the contextprotected FreeBusy _parseXml(XCalElement element, ICalParameters parameters, ParseContext context)
ICalPropertyScribe
Unmarshals a property from an XML document (xCal).
This method should be overridden by child classes that wish to support
xCal. The default implementation of this method will find the first child
element with the xCal namespace. The element's name will be used as the
property's data type and its text content will be passed into the
ICalPropertyScribe._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, biweekly.io.ParseContext)
method. If no such child element is found, then the
parent element's text content will be passed into ICalPropertyScribe._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, biweekly.io.ParseContext)
and
the data type will be null.
_parseXml
in class ICalPropertyScribe<FreeBusy>
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.context
- the contextprotected JCalValue _writeJson(FreeBusy property, WriteContext context)
ICalPropertyScribe
Marshals a property's value to a JSON data stream (jCal).
This method should be overridden by child classes that wish to support
jCal. The default implementation of this method will create a jCard
property that has a single JSON string value (generated by the
ICalPropertyScribe.writeText(T, biweekly.io.WriteContext)
method).
_writeJson
in class ICalPropertyScribe<FreeBusy>
property
- the propertycontext
- the contextprotected FreeBusy _parseJson(JCalValue value, ICalDataType dataType, ICalParameters parameters, ParseContext context)
ICalPropertyScribe
Unmarshals a property from a JSON data stream (jCal).
This method should be overridden by child classes that wish to support
jCal. The default implementation of this method will convert the jCal
property value to a string and pass it into the ICalPropertyScribe._parseText(java.lang.String, biweekly.ICalDataType, biweekly.parameter.ICalParameters, biweekly.io.ParseContext)
method.
The following paragraphs describe the way in which this method's default implementation converts a jCal value to a string:
If the jCal 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 iCalendar object.
["x-foo", {}, "text", "the;value"] --> "the\;value"
["x-foo", {}, "text", 2] --> "2"
If the jCal 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 iCalendar object.
["x-foo", {}, "text", "one", "two,three"] -->
"one,two\,three"
If the jCal 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 jCal value starts with a JSON object, then the object is converted
to a format identical to the one used in the RRULE and EXRULE properties.
Special characters (backslashes, commas, semicolons, and equal signs) are
escaped for each value in order to preserve the syntax of the string
value.
["x-foo", {}, "text", {"one": 1, "two": [2, 2.5]}] --> "ONE=1;TWO=2,2.5"
For all other cases, behavior is undefined.
_parseJson
in class ICalPropertyScribe<FreeBusy>
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.context
- the contextpublic Set<ICalVersion> getSupportedVersions()
ICalPropertyScribe
getSupportedVersions
in class ICalPropertyScribe<FreeBusy>
Copyright © 2013-2016 Michael Angstadt. All Rights Reserved.