Interface VRepeatable<T>

Type Parameters:
T - implemented class
R - recurrence type
All Superinterfaces:
VChild, VComponent, VElement, VParent
All Known Implementing Classes:
DaylightSavingTime, NonStandardComponent, StandardOrDaylight, StandardTime, VDisplayable, VEvent, VJournal, VLocatable, VRepeatableBase, VTodo

public interface VRepeatable<T> extends VComponent
Contains following properties:
See Also:
  • Method Details

    • getRecurrenceDates

      List<RecurrenceDates> getRecurrenceDates()
      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
    • setRecurrenceDates

      void setRecurrenceDates(List<RecurrenceDates> recurrenceDates)
    • withRecurrenceDates

      default T withRecurrenceDates(List<RecurrenceDates> recurrenceDates)
    • withRecurrenceDates

      default T withRecurrenceDates(String... recurrenceDates)
    • withRecurrenceDates

      default T withRecurrenceDates(Temporal... recurrenceDates)
    • withRecurrenceDates

      default T withRecurrenceDates(RecurrenceDates... recurrenceDates)
    • checkRecurrencesConsistency

      default String checkRecurrencesConsistency(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.
      Type Parameters:
      U -
      Parameters:
      list - - list of recurrence objects to be tested.
      firstRecurrence - - example of Temporal to match against. If null uses first element in first recurrence in list
      Returns:
      - true is valid, throws exception otherwise
    • checkPotentialRecurrencesConsistency

      static String checkPotentialRecurrencesConsistency(List<? extends PropertyBaseRecurrence<?>> list, PropertyBaseRecurrence<?> testObj)
    • checkDateTimeStartConsistency

      default void checkDateTimeStartConsistency()
    • getRecurrenceRule

      RecurrenceRule getRecurrenceRule()
      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
    • setRecurrenceRule

      void setRecurrenceRule(RecurrenceRule recurrenceRule)
    • setRecurrenceRule

      default void setRecurrenceRule(RecurrenceRuleValue rrule)
    • setRecurrenceRule

      default void setRecurrenceRule(String rrule)
    • withRecurrenceRule

      default T withRecurrenceRule(String rrule)
    • withRecurrenceRule

      default T withRecurrenceRule(RecurrenceRule rrule)
    • withRecurrenceRule

      default T withRecurrenceRule(RecurrenceRuleValue rrule)
    • getDateTimeStart

      DateTimeStart getDateTimeStart()
    • recurrenceCache

      RecurrenceRuleCache recurrenceCache()
      Handles caching of recurrence start Temporal values.
    • streamRecurrences

      default Stream<Temporal> streamRecurrences(Temporal start, Temporal end)
      Produces a stream of dates or date-times bounded by the start and end parameters. See streamRecurrences(Temporal)
      Parameters:
      start - - include recurrences that END before this value (inclusive)
      end - - include recurrences that START before this value (exclusive)
      Returns:
      - stream of start dates or date/times for the recurrence set
    • streamRecurrences

      default Stream<Temporal> streamRecurrences(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.
      Parameters:
      start - - include recurrences that END before this value
      Returns:
      - stream of start dates or date/times for the recurrence set
    • streamRecurrences

      default Stream<Temporal> streamRecurrences()
      Stream of recurrences starting at dateTimeStart (DTSTART)
    • previousStreamValue

      default Temporal previousStreamValue(Temporal value)
      finds previous stream Temporal before input parameter value
      Parameters:
      value -
      Returns:
    • isRecurrence

      default boolean isRecurrence(Temporal temporal)
      Returns true if temporal is in vComponent's stream of start date-time values, false otherwise.
    • isRecurrenceSetEmpty

      default boolean isRecurrenceSetEmpty()
      Returns true if VComponent has zero instances in recurrence set
    • lastRecurrence

      default Temporal lastRecurrence()
      returns the last date or date/time of the series. If infinite returns null
    • merge

      @Deprecated static <T> Stream<T> merge(Stream<T> stream1, Stream<T> stream2, Comparator<T> comparator)
      Deprecated.