public class RRule extends java.lang.Object implements ICalendarProperty
Recurrence Rule, RRULE, as defined in RFC 5545 iCalendar 3.8.5.3, page 122. Used as a part of a VEVENT as defined by 3.6.1, page 52.
Produces a stream of start date/times after applying all modification rules.
Type | Property and Description |
---|---|
javafx.beans.property.IntegerProperty |
count |
javafx.beans.property.ObjectProperty<Frequency> |
frequency
FREQ rule as defined in RFC 5545 iCalendar 3.3.10 p37 (i.e.
|
javafx.beans.property.SimpleObjectProperty<java.time.temporal.Temporal> |
until
UNTIL: (RFC 5545 iCalendar 3.3.10, page 41) date/time repeat rule ends
Must be same Temporal type as dateTimeStart (DTSTART)
If DTSTART has time then UNTIL must be UTC time.
|
Constructor and Description |
---|
RRule() |
RRule(RRule source) |
RRule(java.lang.String propertyString) |
Modifier and Type | Method and Description |
---|---|
javafx.beans.property.IntegerProperty |
countProperty() |
boolean |
equals(java.lang.Object obj)
Deep copy all fields from source to destination
|
javafx.beans.property.ObjectProperty<Frequency> |
frequencyProperty()
FREQ rule as defined in RFC 5545 iCalendar 3.3.10 p37 (i.e.
|
java.lang.Integer |
getCount() |
Frequency |
getFrequency() |
java.time.temporal.Temporal |
getUntil() |
int |
hashCode() |
boolean |
isInfinite()
Determines if recurrence set is goes on forever
|
java.lang.String |
makeErrorString(VComponent<?> parent)
Checks to see if object contains required properties.
|
java.util.Set<VComponent<?>> |
recurrences()
The set of specific instances of recurring "VEVENT", "VTODO", or "VJOURNAL" calendar components
specified individually in conjunction with "UID" and "SEQUENCE" properties.
|
void |
setCount(java.lang.Integer i) |
void |
setFrequency(Frequency frequency) |
void |
setUntil(java.time.temporal.Temporal until) |
java.util.stream.Stream<java.time.temporal.Temporal> |
stream(java.time.temporal.Temporal start)
Stream of date/times made after applying all modification rules.
|
java.lang.String |
toString() |
javafx.beans.property.SimpleObjectProperty<java.time.temporal.Temporal> |
untilProperty()
UNTIL: (RFC 5545 iCalendar 3.3.10, page 41) date/time repeat rule ends
Must be same Temporal type as dateTimeStart (DTSTART)
If DTSTART has time then UNTIL must be UTC time.
|
RRule |
withCount(int count) |
RRule |
withFrequency(Frequency frequency) |
RRule |
withRecurrences(VComponent<?>... v) |
RRule |
withUntil(java.time.temporal.Temporal until) |
public javafx.beans.property.ObjectProperty<Frequency> frequencyProperty
FREQ rule as defined in RFC 5545 iCalendar 3.3.10 p37 (i.e. Daily, Weekly, Monthly, etc.)
getFrequency()
,
setFrequency(Frequency)
public javafx.beans.property.IntegerProperty countProperty
getCount()
,
setCount(Integer)
public javafx.beans.property.SimpleObjectProperty<java.time.temporal.Temporal> untilProperty
UNTIL: (RFC 5545 iCalendar 3.3.10, page 41) date/time repeat rule ends Must be same Temporal type as dateTimeStart (DTSTART) If DTSTART has time then UNTIL must be UTC time. That means the Temporal can be LocalDate or ZonedDateTime with ZoneID.of("Z");
getUntil()
,
setUntil(Temporal)
public RRule()
public RRule(java.lang.String propertyString)
public RRule(RRule source)
public javafx.beans.property.ObjectProperty<Frequency> frequencyProperty()
FREQ rule as defined in RFC 5545 iCalendar 3.3.10 p37 (i.e. Daily, Weekly, Monthly, etc.)
getFrequency()
,
setFrequency(Frequency)
public Frequency getFrequency()
public void setFrequency(Frequency frequency)
public javafx.beans.property.IntegerProperty countProperty()
getCount()
,
setCount(Integer)
public java.lang.Integer getCount()
public void setCount(java.lang.Integer i)
public RRule withCount(int count)
public javafx.beans.property.SimpleObjectProperty<java.time.temporal.Temporal> untilProperty()
UNTIL: (RFC 5545 iCalendar 3.3.10, page 41) date/time repeat rule ends Must be same Temporal type as dateTimeStart (DTSTART) If DTSTART has time then UNTIL must be UTC time. That means the Temporal can be LocalDate or ZonedDateTime with ZoneID.of("Z");
getUntil()
,
setUntil(Temporal)
public java.time.temporal.Temporal getUntil()
public void setUntil(java.time.temporal.Temporal until)
public RRule withUntil(java.time.temporal.Temporal until)
public java.util.Set<VComponent<?>> recurrences()
The set of specific instances of recurring "VEVENT", "VTODO", or "VJOURNAL" calendar components specified individually in conjunction with "UID" and "SEQUENCE" properties. Each instance has a RECURRENCE ID with a value equal to the original value of the "DTSTART" property of the recurrence instance. The UID matches the UID of the parent calendar component. See 3.8.4.4 of RFC 5545 iCalendar
public RRule withRecurrences(VComponent<?>... v)
public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object obj)
Deep copy all fields from source to destination
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String makeErrorString(VComponent<?> parent)
Checks to see if object contains required properties. Returns empty string if it is valid. Returns string of errors if not valid.
public boolean isInfinite()
Determines if recurrence set is goes on forever
public java.util.stream.Stream<java.time.temporal.Temporal> stream(java.time.temporal.Temporal start)
Stream of date/times made after applying all modification rules. Stream is infinite if COUNT or UNTIL not present or ends when COUNT or UNTIL condition is met. Starts on startDateTime, which MUST be a valid event date/time, not necessarily the first date/time (DTSTART) in the sequence.