jfxtras.icalendarfx.components.VDescribable2 Maven / Gradle / Ivy
package jfxtras.icalendarfx.components;
import jfxtras.icalendarfx.components.VComponent;
import jfxtras.icalendarfx.components.VDescribable;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.properties.component.descriptive.Description;
import jfxtras.icalendarfx.properties.component.descriptive.Summary;
/**
* For single DESCRIPTION property
* Note: Not for VJournal - allows multiple descriptions
*
* {@link VComponent} with the following properties
*
* - {@link Description DESCRIPTION}
*
*
*
* @author David Bal
*/
public interface VDescribable2 extends VDescribable
{
/**
* This property provides a more complete description of the
* calendar component than that provided by the {@link Summary} property.
* RFC 5545 iCalendar 3.8.1.5. page 84
*
* Example:
*
* - DESCRIPTION:Meeting to provide technical review for "Phoenix"
* design.\nHappy Face Conference Room. Phoenix design team
* MUST attend this meeting.\nRSVP to team leader.
*
*
* Note: Only {@link VJournal} allows multiple instances of DESCRIPTION
*/
Description getDescription();
void setDescription(Description description);
default void setDescription(String description)
{
setDescription(Description.parse(description));
}
/**
* Sets the value of the {@link Description}
*
* @return - this class for chaining
*/
default T withDescription(Description description)
{
setDescription(description);
return (T) this;
}
/**
* Sets the value of the {@link Description} by parsing iCalendar text
*
* @return - this class for chaining
*/
default T withDescription(String description)
{
setDescription(description);
return (T) this;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy