java.lang.Object
jfxtras.icalendarfx.VElementBase
jfxtras.icalendarfx.properties.component.recurrence.rrule.RRulePartBase<List<T>,U>
jfxtras.icalendarfx.properties.component.recurrence.rrule.byxxx.ByRuleAbstract<T,U>
All Implemented Interfaces:
Comparable<ByRule<List<T>>>, ByRule<List<T>>, RRulePart<List<T>>, VChild, VElement
Direct Known Subclasses:
ByDay, ByMonth, ByRuleIntegerAbstract

public abstract class ByRuleAbstract<T,U> extends RRulePartBase<List<T>,U> implements ByRule<List<T>>
BYxxx rule that modify frequency rule (see RFC 5545, iCalendar 3.3.10 Page 42) The BYxxx rules must be applied in a specific order
See Also:
  • Field Details

    • SORT_ORDER

      private static final List<Class<?>> SORT_ORDER
  • Constructor Details

    • ByRuleAbstract

      ByRuleAbstract()
    • ByRuleAbstract

      ByRuleAbstract(T... values)
    • ByRuleAbstract

      ByRuleAbstract(ByRuleAbstract<T,U> source)
  • Method Details

    • setValue

      public void setValue(List<T> values)
      Description copied from interface: RRulePart
      Set the value of this parameter
      Specified by:
      setValue in interface RRulePart<T>
      Overrides:
      setValue in class RRulePartBase<List<T>,U>
    • setValue

      public void setValue(T... values)
    • setValue

      public void setValue(String values)
    • withValue

      public U withValue(T... values)
    • withValue

      public U withValue(String values)
    • streamRecurrences

      public Stream<Temporal> streamRecurrences(Stream<Temporal> inStream, ChronoUnit chronoUnit, Temporal dateTimeStart)
      Description copied from interface: ByRule
      New stream of date/times made after applying rule that either filters out some date/times or adds additional date/times.
      Specified by:
      streamRecurrences in interface ByRule<T>
      Parameters:
      inStream - - Current stream to be added to or subtracted from
      chronoUnit - - ChronoUnit of last modification to inStream
      Returns:
    • compareTo

      public int compareTo(ByRule<List<T>> byRule)
      Specified by:
      compareTo in interface Comparable<T>
    • errors

      public List<String> errors()
      Description copied from interface: VElement
      Produces a list of error messages indicating problems with calendar element VElement.errors() is invoked recursively to return errors of child elements in addition to errors in parent
      Specified by:
      errors in interface VElement
      Overrides:
      errors in class RRulePartBase<List<T>,U>
      Returns:
      - list of error messages