package jfxtras.icalendarfx.properties.component.descriptive;
import jfxtras.icalendarfx.components.VAlarm;
import jfxtras.icalendarfx.components.VEvent;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.components.VTodo;
import jfxtras.icalendarfx.parameters.AlternateText;
import jfxtras.icalendarfx.parameters.Language;
import jfxtras.icalendarfx.parameters.NonStandardParameter;
import jfxtras.icalendarfx.properties.PropBaseAltText;
import jfxtras.icalendarfx.properties.ValueType;
import jfxtras.icalendarfx.properties.component.descriptive.Description;
import jfxtras.icalendarfx.properties.component.descriptive.Summary;
/**
* <h2>3.8.1.5. Description</h2>
<p>Property Name: DESCRIPTION</p>
<p>Purpose: This property provides a more complete description of the
calendar component than that provided by the {@link Summary SUMMARY} property.</p>
<p>Value Type: {@link ValueType.TEXT TEXT}</p>
<p>Property Parameters: IANA, {@link NonStandardParameter non-standard},
{@link AlternateText alternate text representation}, and {@link Language language property} parameters can be specified
on this property.</p>
<p>Conformance: The property can be specified in the {@link VEvent VEVENT}, {@link VTodo VTODO},
{@link VJournal VJOURNAL}, or {@link VAlarm VALARM} calendar components. The property can be
specified multiple times only within a {@link VJournal VJOURNAL} calendar
component.</p>
<p>Description: This property is used in the {@link VEvent VEVENT} and {@link VTodo VTODO} to
capture lengthy textual descriptions associated with the activity.</p>
<p>This property is used in the {@link VJournal VJOURNAL} calendar component to
capture one or more textual journal entries.</p>
<p>This property is used in the {@link VAlarm VALARM} calendar component to
capture the display text for a DISPLAY category of alarm, and to
capture the body text for an EMAIL category of alarm.</p>
<p>Format Definition: This property is defined by the following notation:
<ul>
<li>description
<ul>
<li>"DESCRIPTION" descparam ":" text CRLF
</ul>
<li>descparam
<ul>
<li>The following are OPTIONAL, but MUST NOT occur more than once.
<ul>
<li>";" {@link AlternateText Alternate text representation}
<li>";" {@link Language Language for text}
</ul>
<li>The following are OPTIONAL, and MAY occur more than once.
<ul>
<li>other-param
<ul>
<li>";" {@link NonStandardParameter}
<li>";" {@link IANAParameter}
</ul>
</ul>
</ul>
<p>Example: The following is an example of this property with formatted
line breaks in the property value:
<ul>
<li>DESCRIPTION:Meeting to provide technical review for "Phoenix"<br>
design.\nHappy Face Conference Room. Phoenix design team<br>
MUST attend this meeting.\nRSVP to team leader.
</ul>
</p>
RFC 5545 iCalendar September 2009
*/
public class Description extends PropBaseAltText<String,Description>
{
/** Create deep copy of source Description */
public Description(Description source)
{
super(source);
}
/** Create Description with property value set to input parameter */
public Description(String value)
{
super();
setValue(value);
}
/** Create default Description with no value set */
public Description()
{
super();
}
/** Create new Description by parsing unfolded calendar content */
public static Description parse(String unfoldedContent)
{
return Description.parse(new Description(), unfoldedContent);
}
}