net.fortuna.ical4j.model.property
Class RDate

java.lang.Object
  extended bynet.fortuna.ical4j.model.Content
      extended bynet.fortuna.ical4j.model.Property
          extended bynet.fortuna.ical4j.model.property.DateListProperty
              extended bynet.fortuna.ical4j.model.property.RDate
All Implemented Interfaces:
Serializable

public class RDate
extends DateListProperty

Defines an RDATE iCalendar component property.

 4.8.5.3 Recurrence Date/Times
 
    Property Name: RDATE
 
    Purpose: This property defines the list of date/times for a
    recurrence set.
 
    Value Type: The default value type for this property is DATE-TIME.
    The value type can be set to DATE or PERIOD.
 
    Property Parameters: Non-standard, value data type and time zone
    identifier property parameters can be specified on this property.
 
    Conformance: The property can be specified in "VEVENT", "VTODO",
    "VJOURNAL" or "VTIMEZONE" calendar components.
 
    Description: This property can appear along with the "RRULE" property
    to define an aggregate set of repeating occurrences. When they both
    appear in an iCalendar object, the recurring events are defined by
    the union of occurrences defined by both the "RDATE" and "RRULE".
 
    The recurrence dates, if specified, are used in computing the
    recurrence set. The recurrence set is the complete set of recurrence
    instances for a calendar component. The recurrence set is generated
    by considering the initial "DTSTART" property along with the "RRULE",
    "RDATE", "EXDATE" and "EXRULE" properties contained within the
    iCalendar object. The "DTSTART" property defines the first instance
    in the recurrence set. Multiple instances of the "RRULE" and "EXRULE"
    properties can also be specified to define more sophisticated
    recurrence sets. The final recurrence set is generated by gathering
    all of the start date/times generated by any of the specified "RRULE"
    and "RDATE" properties, and excluding any start date/times which fall
    within the union of start date/times generated by any specified
    "EXRULE" and "EXDATE" properties. This implies that start date/times
    within exclusion related properties (i.e., "EXDATE" and "EXRULE")
    take precedence over those specified by inclusion properties (i.e.,
    "RDATE" and "RRULE"). Where duplicate instances are generated by the
    "RRULE" and "RDATE" properties, only one recurrence is considered.
    Duplicate instances are ignored.
 
    Format Definition: The property is defined by the following notation:
 
      rdate      = "RDATE" rdtparam ":" rdtval *("," rdtval) CRLF
 
      rdtparam   = *(
 
                 ; the following are optional,
                 ; but MUST NOT occur more than once
 
                 (";" "VALUE" "=" ("DATE-TIME" / "DATE" / "PERIOD")) /
                 (";" tzidparam) /
 
                 ; the following is optional,
                 ; and MAY occur more than once
 
                 (";" xparam)
 
                 )
 
      rdtval     = date-time / date / period
      ;Value MUST match value type
 
    Example: The following are examples of this property:
 
      RDATE:19970714T123000Z
 
      RDATE;TZID=US-EASTERN:19970714T083000
 
      RDATE;VALUE=PERIOD:19960403T020000Z/19960403T040000Z,
       19960404T010000Z/PT3H
 
      RDATE;VALUE=DATE:19970101,19970120,19970217,19970421
       19970526,19970704,19970901,19971014,19971128,19971129,19971225
 

Author:
Ben Fortuna
See Also:
Serialized Form

Field Summary
 
Fields inherited from class net.fortuna.ical4j.model.Property
ACTION, ATTACH, ATTENDEE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, FREEBUSY, GEO, LAST_MODIFIED, LOCATION, METHOD, ORGANIZER, PERCENT_COMPLETE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, SUMMARY, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION
 
Constructor Summary
RDate()
          Default constructor.
RDate(DateList dates)
          Constructor.
RDate(ParameterList aList, DateList dates)
          Constructor.
RDate(ParameterList aList, PeriodList periods)
          Constructor.
RDate(ParameterList aList, String aValue)
           
RDate(PeriodList periods)
          Constructor.
 
Method Summary
 PeriodList getPeriods()
           
 String getValue()
           
 void setValue(String aValue)
          Sets the current value of the property.
 void validate()
          Perform validation on a property.
 
Methods inherited from class net.fortuna.ical4j.model.property.DateListProperty
getDates, setTimeZone, setUtc
 
Methods inherited from class net.fortuna.ical4j.model.Property
equals, getName, getParameter, getParameters, getParameters, hashCode, isCalendarProperty, isComponentProperty, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RDate

public RDate()
Default constructor.


RDate

public RDate(ParameterList aList,
             String aValue)
      throws ParseException
Parameters:
aList - a list of parameters for this component
aValue - a value string for this component
Throws:
ParseException - where the specified value string is not a valid date-time/date representation

RDate

public RDate(DateList dates)
Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.


RDate

public RDate(ParameterList aList,
             DateList dates)
Constructor. Date or Date-Time format is determined based on the presence of a VALUE parameter.

Parameters:
aList - a list of parameters for this component

RDate

public RDate(PeriodList periods)
Constructor.


RDate

public RDate(ParameterList aList,
             PeriodList periods)
Constructor.

Parameters:
aList - a list of parameters for this component
Method Detail

validate

public final void validate()
                    throws ValidationException
Description copied from class: Property
Perform validation on a property.

Specified by:
validate in class Property
Throws:
ValidationException - where the property is not in a valid state
See Also:
Property.validate()

getPeriods

public final PeriodList getPeriods()
Returns:
Returns the period list.

setValue

public final void setValue(String aValue)
                    throws ParseException
Description copied from class: Property
Sets the current value of the property.

Overrides:
setValue in class DateListProperty
Throws:
ParseException

getValue

public final String getValue()
Overrides:
getValue in class DateListProperty