public interface VRepeatable<T> extends VComponent
Contains following properties:
RecurrenceRule
,
RecurrenceDates
,
VEventOld
,
VTodo
,
VJournal
,
StandardTime
,
DaylightSavingTime
Type | Property and Description |
---|---|
javafx.beans.property.ObjectProperty<javafx.collections.ObservableList<RecurrenceDates>> |
recurrenceDates
RDATE: Recurrence Date-Times
Set of date/times for recurring events, to-dos, journal entries.
|
javafx.beans.property.ObjectProperty<RecurrenceRule> |
recurrenceRule
RRULE, Recurrence Rule
RFC 5545 iCalendar 3.8.5.3, page 122.
|
Modifier and Type | Interface and Description |
---|---|
static class |
VRepeatable.MergedIterator<T>
Merge two sorted iterators
|
Modifier and Type | Method and Description |
---|---|
default void |
checkDateTimeStartConsistency() |
static java.lang.String |
checkPotentialRecurrencesConsistency(java.util.List<? extends PropertyBaseRecurrence<?>> list,
PropertyBaseRecurrence<?> testObj)
<p>Determines if recurrence objects are valid.
|
default java.lang.String |
checkRecurrencesConsistency(java.util.List<? extends PropertyBaseRecurrence<?>> list)
Determines if recurrence objects are valid.
|
static java.util.List<java.lang.String> |
errorsRepeatable(VRepeatable<?> testObj) |
DateTimeStart |
getDateTimeStart() |
javafx.collections.ObservableList<RecurrenceDates> |
getRecurrenceDates() |
RecurrenceRule |
getRecurrenceRule() |
default javafx.collections.ListChangeListener<PropertyBaseRecurrence<?>> |
getRecurrencesConsistencyWithDateTimeStartListener()
Ensures new recurrence values match previously added ones.
|
default boolean |
isRecurrence(java.time.temporal.Temporal temporal)
Returns true if temporal is in vComponent’s stream of start date-time
values, false otherwise.
|
default boolean |
isRecurrenceSetEmpty()
Returns true if VComponent has zero instances in recurrence set
|
default java.time.temporal.Temporal |
lastRecurrence()
returns the last date or date/time of the series.
|
static <T> java.util.stream.Stream<T> |
merge(java.util.stream.Stream<T> stream1,
java.util.stream.Stream<T> stream2,
java.util.Comparator<T> comparator)
Deprecated.
|
default java.time.temporal.Temporal |
previousStreamValue(java.time.temporal.Temporal value)
finds previous stream Temporal before input parameter value
|
RecurrenceRuleCache |
recurrenceCache()
Handles caching of recurrence start Temporal values.
|
javafx.beans.property.ObjectProperty<javafx.collections.ObservableList<RecurrenceDates>> |
recurrenceDatesProperty()
RDATE: Recurrence Date-Times
Set of date/times for recurring events, to-dos, journal entries.
|
javafx.beans.property.ObjectProperty<RecurrenceRule> |
recurrenceRuleProperty()
RRULE, Recurrence Rule
RFC 5545 iCalendar 3.8.5.3, page 122.
|
void |
setRecurrenceDates(javafx.collections.ObservableList<RecurrenceDates> recurrences) |
default void |
setRecurrenceRule(RecurrenceRule recurrenceRule) |
default void |
setRecurrenceRule(RecurrenceRule2 rrule) |
default void |
setRecurrenceRule(java.lang.String rrule) |
default java.util.stream.Stream<java.time.temporal.Temporal> |
streamRecurrences()
Stream of recurrences starting at dateTimeStart (DTSTART)
|
default java.util.stream.Stream<java.time.temporal.Temporal> |
streamRecurrences(java.time.temporal.Temporal start)
Produces a stream of dates or date-times (depending on DTSTART) that represents the start
of each element in the recurrence set.
|
default java.util.stream.Stream<java.time.temporal.Temporal> |
streamRecurrences(java.time.temporal.Temporal start,
java.time.temporal.Temporal end)
Produces a stream of dates or date-times bounded by the start and end parameters.
|
default T |
withRecurrenceDates(javafx.collections.ObservableList<RecurrenceDates> recurrenceDates) |
default T |
withRecurrenceDates(RecurrenceDates... recurrenceDates) |
default T |
withRecurrenceDates(java.lang.String... recurrenceDates) |
default T |
withRecurrenceDates(java.time.temporal.Temporal... recurrenceDates) |
default T |
withRecurrenceRule(RecurrenceRule rrule) |
default T |
withRecurrenceRule(RecurrenceRule2 rrule) |
default T |
withRecurrenceRule(java.lang.String rrule) |
parseContent, toContent
childrenUnmodifiable, copyInto
errors, isValid, name, parseContent
javafx.beans.property.ObjectProperty<javafx.collections.ObservableList<RecurrenceDates>> recurrenceDatesProperty
RDATE: Recurrence Date-Times Set of date/times for recurring events, to-dos, journal entries. 3.8.5.2, RFC 5545 iCalendar
Examples: RDATE;TZID=America/New_York:19970714T083000 RDATE;VALUE=DATE:19970101,19970120,19970217,19970421 19970526,19970704,19970901,19971014,19971128,19971129,1997122
javafx.beans.property.ObjectProperty<RecurrenceRule> recurrenceRuleProperty
RRULE, Recurrence Rule RFC 5545 iCalendar 3.8.5.3, page 122. This property defines a rule or repeating pattern for recurring events, to-dos, journal entries, or time zone definitions If component is not repeating the value is null.
Examples: RRULE:FREQ=DAILY;COUNT=10 RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
javafx.beans.property.ObjectProperty<javafx.collections.ObservableList<RecurrenceDates>> recurrenceDatesProperty()
RDATE: Recurrence Date-Times Set of date/times for recurring events, to-dos, journal entries. 3.8.5.2, RFC 5545 iCalendar
Examples: RDATE;TZID=America/New_York:19970714T083000 RDATE;VALUE=DATE:19970101,19970120,19970217,19970421 19970526,19970704,19970901,19971014,19971128,19971129,1997122
javafx.collections.ObservableList<RecurrenceDates> getRecurrenceDates()
void setRecurrenceDates(javafx.collections.ObservableList<RecurrenceDates> recurrences)
default T withRecurrenceDates(javafx.collections.ObservableList<RecurrenceDates> recurrenceDates)
default T withRecurrenceDates(java.lang.String... recurrenceDates)
default T withRecurrenceDates(java.time.temporal.Temporal... recurrenceDates)
default T withRecurrenceDates(RecurrenceDates... recurrenceDates)
default javafx.collections.ListChangeListener<PropertyBaseRecurrence<?>> getRecurrencesConsistencyWithDateTimeStartListener()
Ensures new recurrence values match previously added ones. Also ensures recurrence value match DateTimeStart. Should be called after dateTimeEndProperty()
exceptions
- default java.lang.String checkRecurrencesConsistency(java.util.List<? extends PropertyBaseRecurrence<?>> list)
Determines if recurrence objects are valid. They are valid if the date-time types are the same and matches DateTimeStart. This should be run when a change occurs to the recurrences list and when the recurrences Observable list is set.
Also works for exceptions.
<U>
- list
- - list of recurrence objects to be tested.firstRecurrence
- - example of Temporal to match against. If null uses first element in first recurrence in liststatic java.lang.String checkPotentialRecurrencesConsistency(java.util.List<? extends PropertyBaseRecurrence<?>> list, PropertyBaseRecurrence<?> testObj)
<p>Determines if recurrence objects are valid. They are valid if the date-time types are the same and matches DateTimeStart. This should be run when a change occurs to the recurrences list and when the recurrences Observable list is set.</p>
<p>Uses first recurrence in list as firstRecurrence value.</p>
Also works for exceptions.
<U>
- list
- - list of recurrence objects to be tested.default void checkDateTimeStartConsistency()
javafx.beans.property.ObjectProperty<RecurrenceRule> recurrenceRuleProperty()
RRULE, Recurrence Rule RFC 5545 iCalendar 3.8.5.3, page 122. This property defines a rule or repeating pattern for recurring events, to-dos, journal entries, or time zone definitions If component is not repeating the value is null.
Examples: RRULE:FREQ=DAILY;COUNT=10 RRULE:FREQ=WEEKLY;UNTIL=19971007T000000Z;WKST=SU;BYDAY=TU,TH
RecurrenceRule getRecurrenceRule()
default void setRecurrenceRule(RecurrenceRule recurrenceRule)
default void setRecurrenceRule(RecurrenceRule2 rrule)
default void setRecurrenceRule(java.lang.String rrule)
default T withRecurrenceRule(java.lang.String rrule)
default T withRecurrenceRule(RecurrenceRule rrule)
default T withRecurrenceRule(RecurrenceRule2 rrule)
DateTimeStart getDateTimeStart()
RecurrenceRuleCache recurrenceCache()
Handles caching of recurrence start Temporal values.
default java.util.stream.Stream<java.time.temporal.Temporal> streamRecurrences(java.time.temporal.Temporal start, java.time.temporal.Temporal end)
Produces a stream of dates or date-times bounded by the start and end parameters. See streamRecurrences(Temporal)
start
- - include recurrences that END before this value (inclusive)end
- - include recurrences that START before this value (exclusive)default java.util.stream.Stream<java.time.temporal.Temporal> streamRecurrences(java.time.temporal.Temporal start)
Produces a stream of dates or date-times (depending on DTSTART) that represents the start of each element in the recurrence set. The values are calculated after applying DTSTART, RDATE, RRULE, and EXDATE properties.
If the RRULE is forever, then the stream has no end as well.
For a VEvent without RRULE or RDATE the stream will contain only one element.
start
- - include recurrences that END before this valuedefault java.util.stream.Stream<java.time.temporal.Temporal> streamRecurrences()
Stream of recurrences starting at dateTimeStart (DTSTART)
default java.time.temporal.Temporal previousStreamValue(java.time.temporal.Temporal value)
finds previous stream Temporal before input parameter value
value
- default boolean isRecurrence(java.time.temporal.Temporal temporal)
Returns true if temporal is in vComponent’s stream of start date-time values, false otherwise.
default boolean isRecurrenceSetEmpty()
Returns true if VComponent has zero instances in recurrence set
default java.time.temporal.Temporal lastRecurrence()
returns the last date or date/time of the series. If infinite returns null
static java.util.List<java.lang.String> errorsRepeatable(VRepeatable<?> testObj)
@Deprecated static <T> java.util.stream.Stream<T> merge(java.util.stream.Stream<T> stream1, java.util.stream.Stream<T> stream2, java.util.Comparator<T> comparator)