All Downloads are FREE. Search and download functionalities are using the official Maven repository.

jfxtras.icalendarfx.properties.component.recurrence.RecurrenceDates Maven / Gradle / Ivy

There is a newer version: 17-r1
Show newest version
package jfxtras.icalendarfx.properties.component.recurrence;

import java.time.temporal.Temporal;
import java.util.Set;

import jfxtras.icalendarfx.components.DaylightSavingTime;
import jfxtras.icalendarfx.components.StandardTime;
import jfxtras.icalendarfx.components.VEvent;
import jfxtras.icalendarfx.components.VJournal;
import jfxtras.icalendarfx.components.VTodo;
import jfxtras.icalendarfx.properties.component.recurrence.PropertyBaseRecurrence;
import jfxtras.icalendarfx.properties.component.recurrence.RecurrenceDates;

/**
 * RDATE
 * Recurrence Date-Times
 * RFC 5545 iCalendar 3.8.5.2, page 120.
 * 
 * This property defines the list of DATE-TIME values for
 * recurring events, to-dos, journal entries, or time zone definitions.
 * 
 * NOTE: DOESN'T CURRENTLY SUPPORT PERIOD VALUE TYPE
 * 
 * @author David Bal
 * @see VEvent
 * @see VTodo
 * @see VJournal
 * @see DaylightSavingTime
 * @see StandardTime
 */
public class RecurrenceDates extends PropertyBaseRecurrence
{       
    @SuppressWarnings("unchecked")
    public RecurrenceDates(Temporal...temporals)
    {
        super(temporals);
    }
    
    public RecurrenceDates(RecurrenceDates source)
    {
        super(source);
    }
    
    public RecurrenceDates(Set value)
    {
        super(value);
    }
    
    public RecurrenceDates()
    {
        super();
    }

    /** Parse string to Temporal.  Not type safe.  Implementation must
     * ensure parameterized type is the same as date-time represented by String parameter */
    public static RecurrenceDates parse(String content)
    {
    	return RecurrenceDates.parse(new RecurrenceDates(), content);
    }
    
    /** Parse string with Temporal class Exceptions provided as parameter */
    public static RecurrenceDates parse(Class clazz, String content)
    {
    	RecurrenceDates property = RecurrenceDates.parse(new RecurrenceDates(), content);
        clazz.cast(property.getValue().iterator().next()); // class check
        return property;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy