jfxtras.icalendarfx.components.VDescribableBase Maven / Gradle / Ivy
package jfxtras.icalendarfx.components;
import java.util.List;
import jfxtras.icalendarfx.components.VCommon;
import jfxtras.icalendarfx.components.VComponent;
import jfxtras.icalendarfx.components.VDescribable;
import jfxtras.icalendarfx.components.VDescribableBase;
import jfxtras.icalendarfx.properties.component.descriptive.Attachment;
import jfxtras.icalendarfx.properties.component.descriptive.Summary;
/**
* {@link VComponent} with the following properties
*
* - {@link Attachment ATTACH}
*
- {@link Summary SUMMARY}
*
*
*
* @author David Bal
*
* @param - concrete subclass
*
*/
public abstract class VDescribableBase extends VCommon implements VDescribable
{
/**
* This property provides the capability to associate a document object with a calendar component.
*
*Example: The following is an example of this property:
*
*- ATTACH:CID:[email protected]
*
- ATTACH;FMTTYPE=application/postscript:ftp://example.com/pub/
* reports/r-960812.ps
*
*
*/
@Override
public List> getAttachments() { return attachments; }
private List> attachments;
@Override
public void setAttachments(List> attachments)
{
if (this.attachments != null)
{
this.attachments.forEach(e -> orderChild(e, null)); // remove old elements
}
this.attachments = attachments;
if (attachments != null)
{
attachments.forEach(c -> orderChild(c));
}
}
/**
*This property defines a short summary or subject for the calendar component
*
*Example: The following is an example of this property:
*
*- SUMMARY:Department Party
*
*
*/
@Override
public Summary getSummary() { return summary; }
private Summary summary;
@Override
public void setSummary(Summary summary)
{
orderChild(this.summary, summary);
this.summary = summary;
}
/*
* CONSTRUCTORS
*/
VDescribableBase()
{
super();
}
VDescribableBase(VDescribableBase source)
{
super(source);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy