jfxtras.icalendarfx.properties.component.relationship.RelatedTo Maven / Gradle / Ivy
package jfxtras.icalendarfx.properties.component.relationship;
import jfxtras.icalendarfx.components.VEvent;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.components.VTodo;
import jfxtras.icalendarfx.parameters.Relationship;
import jfxtras.icalendarfx.parameters.Relationship.RelationshipType;
import jfxtras.icalendarfx.properties.PropRelationship;
import jfxtras.icalendarfx.properties.VPropertyBase;
import jfxtras.icalendarfx.properties.component.relationship.RelatedTo;
/**
* RELATED-TO
* RFC 5545, 3.8.4.5, page 115
*
* This property is used to represent a relationship or
* reference between one calendar component and another.
*
* Example:
* RECURRENCE-ID;VALUE=DATE:19960401
*
* @author David Bal
* @see VEvent
* @see VTodo
* @see VJournal
*/
public class RelatedTo extends VPropertyBase implements PropRelationship
{
/**
* RELTYPE
* Relationship Type
* RFC 5545, 3.2.15, page 25
*
* To specify the type of hierarchical relationship associated
* with the calendar component specified by the property.
*
* Example:
* RELATED-TO;RELTYPE=SIBLING:19960401-080045-4000F192713@
* example.com
*/
@Override
public Relationship getRelationship() { return relationship; }
private Relationship relationship;
@Override
public void setRelationship(Relationship relationship)
{
orderChild(relationship);
this.relationship = relationship;
}
public void setRelationship(String value) { setRelationship(Relationship.parse(value)); }
public RelatedTo withRelationship(Relationship altrep) { setRelationship(altrep); return this; }
public RelatedTo withRelationship(RelationshipType value) { setRelationship(new Relationship(value)); return this; }
public RelatedTo withRelationship(String content) { setRelationship(content); return this; }
public RelatedTo(RelatedTo source)
{
super(source);
}
public RelatedTo()
{
super();
}
public static RelatedTo parse(String content)
{
return RelatedTo.parse(new RelatedTo(), content);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy