public class RecurrenceRule extends Object
Represents one recurrence or exception rule in a recurrence pattern.
Corresponds to RRULE or EXRULE part in iCalendar. To construct a recurrence rule, you typically need to: 1. Specify the type of the rule inFrequency
. 2. Specify how the recurrence pattern ends usingEndType
,Count
orUntil
. 3. Specify values in one or more ByXXX collections. Note, that if ByXXX rule part values are found which are beyond the available scope (ie, BYMONTHDAY=30 in February), they are simply ignored. Information, not contained in the rule, necessary to determine the various recurrence instance start time and dates are derived fromCalendarRecurrence.StartDate
. For example, "FREQ=YEARLY;BYMONTH=1" doesn't specify a specific day within the month or a time. This information would be the same as what is specified for DTSTART. ByXXX rule parts modify the recurrence in some manner. ByXXX rule parts for a period of time which is the same or greater than the frequency generally reduce or limit the number of occurrences of the recurrence generated. For example, "FREQ=DAILY;BYMONTH=1" reduces the number of recurrence instances from all days (if BYMONTH tag is not present) to all days in January. ByXXX rule parts for a period of time less than the frequency generally increase or expand the number of occurrences of the recurrence. For example, "FREQ=YEARLY;BYMONTH=1,2" increases the number of days within the yearly recurrence set from 1 (if BYMONTH tag is not present) to 2. If multiple ByXXX rule parts are specified, then after evaluating the specified Frequency and Interval rule parts, the ByXXX rule parts are applied to the current set of evaluated occurrences in the following order:ByMonth
,ByWeekNo
,ByYearDay
,ByMonthDay
,ByDay
,ByHour
,ByMinute
,BySecond
andBySetPos
; thenCount
andUntil
are evaluated.
Constructor and Description |
---|
RecurrenceRule()
Initializes a new instance of the
RecurrenceRule class. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object obj)
Determines whether the specified Object is equal to the current Object.
|
boolean |
equals(RecurrenceRule other)
Determines whether the specified
RecurrenceRule is equal to this instance. |
ByDayCollection |
getByDay()
Gets the by day.
|
ByNumberCollection |
getByHour()
Gets the by hour.
|
ByNumberCollection |
getByMinute()
Gets the by minute.
|
ByNumberCollection |
getByMonth()
Gets the by month.
|
ByNumberCollection |
getByMonthDay()
Gets the by month day.
|
ByNumberCollection |
getBySecond()
Gets the by second.
|
ByNumberCollection |
getBySetPos()
Gets the by set pos.
|
ByNumberCollection |
getByWeekNo()
Gets the by week no.
|
ByNumberCollection |
getByYearDay()
Gets the by year day.
|
int |
getCount()
Gets or sets the count.
|
int |
getEndType()
Gets or sets the end type.
|
int |
getFrequency()
Gets or sets the type of the recurrence rule.
|
String |
getFriendlyText()
Gets user friendly text of rule.
|
int |
getInterval()
Gets or sets the interval.
|
Date |
getUntil()
Gets or sets the until.
|
int |
getWeekStart()
Gets or sets the starting day of the week.
|
int |
hashCode()
GetHashCode returns a hash function for this object.
|
void |
setCount(int value)
Gets or sets the count.
|
void |
setEndType(int value)
Gets or sets the end type.
|
void |
setFrequency(int value)
Gets or sets the type of the recurrence rule.
|
void |
setInterval(int value)
Gets or sets the interval.
|
void |
setUntil(Date value)
Gets or sets the until.
|
void |
setWeekStart(int value)
Gets or sets the starting day of the week.
|
public RecurrenceRule()
Initializes a new instance of the RecurrenceRule
class.
public final String getFriendlyText()
Gets user friendly text of rule.
public final int getWeekStart()
Gets or sets the starting day of the week.
public final void setWeekStart(int value)
Gets or sets the starting day of the week.
public final int getFrequency()
Gets or sets the type of the recurrence rule.
Value: The frequency.public final void setFrequency(int value)
Gets or sets the type of the recurrence rule.
Value: The frequency.public final int getInterval()
Gets or sets the interval.
Value: The interval.public final void setInterval(int value)
Gets or sets the interval.
Value: The interval.public final int getEndType()
Gets or sets the end type.
Value: The end type.public final void setEndType(int value)
Gets or sets the end type.
Value: The end type.public final int getCount()
Gets or sets the count.
Value: The count.public final void setCount(int value)
Gets or sets the count.
Value: The count.public final Date getUntil()
Gets or sets the until.
Value: The until.public final void setUntil(Date value)
Gets or sets the until.
Value: The until.public final ByNumberCollection getBySecond()
Gets the by second.
Value: The by second.public final ByNumberCollection getByMinute()
Gets the by minute.
Value: The by minute.public final ByNumberCollection getByHour()
Gets the by hour.
Value: The by hour.public final ByNumberCollection getByMonth()
Gets the by month.
Value: The by month.public final ByDayCollection getByDay()
Gets the by day.
Value: The by day.public final ByNumberCollection getBySetPos()
Gets the by set pos.
Value: The by set pos.public final ByNumberCollection getByMonthDay()
Gets the by month day.
Value: The by month day.public final ByNumberCollection getByYearDay()
Gets the by year day.
Value: The by year day.public final ByNumberCollection getByWeekNo()
Gets the by week no.
Value: The by week no.public boolean equals(RecurrenceRule other)
Determines whether the specified RecurrenceRule
is equal to this instance.
other
- The RecurrenceRule
to compare with this instance.true
if the specified RecurrenceRule
is equal to this instance; otherwise, false
.public boolean equals(Object obj)
Determines whether the specified Object is equal to the current Object.