public class RecurrenceId extends DateProperty
4.8.4.4 Recurrence ID
Property Name: RECURRENCE-ID
Purpose: This property is used in conjunction with the "UID" and
"SEQUENCE" property to identify a specific instance of a recurring
"VEVENT", "VTODO" or "VJOURNAL" calendar component. The property
value is the effective value of the "DTSTART" property of the
recurrence instance.
Value Type: The default value type for this property is DATE-TIME.
The time format can be any of the valid forms defined for a DATE-TIME
value type. See DATE-TIME value type definition for specific
interpretations of the various forms. The value type can be set to
DATE.
Property Parameters: Non-standard property, value data type, time
zone identifier and recurrence identifier range parameters can be
specified on this property.
Conformance: This property can be specified in an iCalendar object
containing a recurring calendar component.
Description: The full range of calendar components specified by a
recurrence set is referenced by referring to just the "UID" property
value corresponding to the calendar component. The "RECURRENCE-ID"
property allows the reference to an individual instance within the
recurrence set.
If the value of the "DTSTART" property is a DATE type value, then the
value MUST be the calendar date for the recurrence instance.
The date/time value is set to the time when the original recurrence
instance would occur; meaning that if the intent is to change a
Friday meeting to Thursday, the date/time is still set to the
original Friday meeting.
The "RECURRENCE-ID" property is used in conjunction with the "UID"
and "SEQUENCE" property to identify a particular instance of a
recurring event, to-do or journal. For a given pair of "UID" and
"SEQUENCE" property values, the "RECURRENCE-ID" value for a
recurrence instance is fixed. When the definition of the recurrence
set for a calendar component changes, and hence the "SEQUENCE"
property value changes, the "RECURRENCE-ID" for a given recurrence
instance might also change.The "RANGE" parameter is used to specify
the effective range of recurrence instances from the instance
specified by the "RECURRENCE-ID" property value. The default value
for the range parameter is the single recurrence instance only. The
value can also be "THISANDPRIOR" to indicate a range defined by the
given recurrence instance and all prior instances or the value can be
"THISANDFUTURE" to indicate a range defined by the given recurrence
instance and all subsequent instances.
Format Definition: The property is defined by the following notation:
recurid = "RECURRENCE-ID" ridparam ":" ridval CRLF
ridparam = *(
; the following are optional,
; but MUST NOT occur more than once
(";" "VALUE" "=" ("DATE-TIME" / "DATE)) /
(";" tzidparam) / (";" rangeparam) /
; the following is optional,
; and MAY occur more than once
(";" xparam)
)
ridval = date-time / date
;Value MUST match value type
| Modifier and Type | Class and Description |
|---|---|
static class |
RecurrenceId.Factory |
ACTION, ATTACH, ATTENDEE, BUSYTYPE, CALSCALE, CATEGORIES, CLASS, COMMENT, COMPLETED, CONTACT, COUNTRY, CREATED, DESCRIPTION, DTEND, DTSTAMP, DTSTART, DUE, DURATION, EXDATE, EXPERIMENTAL_PREFIX, EXRULE, EXTENDED_ADDRESS, FREEBUSY, GEO, LAST_MODIFIED, LOCALITY, LOCATION, LOCATION_TYPE, METHOD, NAME, ORGANIZER, PERCENT_COMPLETE, POSTALCODE, PRIORITY, PRODID, RDATE, RECURRENCE_ID, REGION, RELATED_TO, REPEAT, REQUEST_STATUS, RESOURCES, RRULE, SEQUENCE, STATUS, STREET_ADDRESS, SUMMARY, TEL, TRANSP, TRIGGER, TZID, TZNAME, TZOFFSETFROM, TZOFFSETTO, TZURL, UID, URL, VERSION| Constructor and Description |
|---|
RecurrenceId()
Default constructor.
|
RecurrenceId(Date aDate)
Constructor.
|
RecurrenceId(ParameterList aList,
Date aDate)
Constructor.
|
RecurrenceId(ParameterList aList,
java.lang.String aValue) |
RecurrenceId(java.lang.String value)
Creates a new instance initialised with the parsed value.
|
RecurrenceId(java.lang.String value,
TimeZone timezone)
Creates a new RECURRENCE_ID property initialised with the specified timezone and value.
|
RecurrenceId(TimeZone timezone)
Creates a new RECURRENCE_ID property initialised with the specified timezone.
|
| Modifier and Type | Method and Description |
|---|---|
void |
validate()
Perform validation on a property.
|
copy, getDate, getTimeZone, getValue, hashCode, isUtc, setDate, setTimeZone, setUtc, setValueequals, getName, getParameter, getParameters, getParameters, toStringpublic RecurrenceId()
public RecurrenceId(TimeZone timezone)
timezone - initial timezonepublic RecurrenceId(java.lang.String value)
throws java.text.ParseException
value - the RECURRENCE_ID value string to parsejava.text.ParseException - where the specified string is not a valid RECURRENCE_ID value representationpublic RecurrenceId(java.lang.String value,
TimeZone timezone)
throws java.text.ParseException
value - a string representation of a RECURRENCE_ID valuetimezone - initial timezonejava.text.ParseException - where the specified value is not a valid string
representationpublic RecurrenceId(ParameterList aList, java.lang.String aValue) throws java.text.ParseException
aList - a list of parameters for this componentaValue - a value string for this componentjava.text.ParseException - where the specified value string is not a valid date-time/date representationpublic RecurrenceId(Date aDate)
aDate - a date representation of a date or date-timepublic RecurrenceId(ParameterList aList, Date aDate)
aList - a list of parameters for this componentaDate - a date representation of a date or date-timepublic final void validate()
throws ValidationException
validate in class DatePropertyValidationException - where the property is not in a valid state