Class Recur

java.lang.Object
net.fortuna.ical4j.model.Recur
All Implemented Interfaces:
Serializable

public class Recur extends Object implements Serializable
$Id$ [18-Apr-2004]

Defines a recurrence.

See Also:
  • Field Details

  • Constructor Details

    • Recur

      public Recur(String aValue) throws ParseException
      Constructs a new instance from the specified string value.
      Parameters:
      aValue - a string representation of a recurrence.
      Throws:
      ParseException - thrown when the specified string contains an invalid representation of an UNTIL date value
      IllegalArgumentException - where the recurrence string contains an unrecognised token
    • Recur

      public Recur(String aValue, boolean experimentalTokensAllowed) throws ParseException
      Constructs a new recurrence from the specified string value.
      Parameters:
      aValue - a string representation of a recurrence.
      experimentalTokensAllowed - allow unrecognised tokens in the recurrence
      Throws:
      ParseException
    • Recur

      @Deprecated public Recur(String frequency, Date until)
      Deprecated.
      Parameters:
      frequency - a recurrence frequency string
      until - maximum recurrence date
    • Recur

      public Recur(Recur.Frequency frequency, Date until)
      Parameters:
      frequency - a recurrence frequency string
      until - maximum recurrence date
    • Recur

      @Deprecated public Recur(String frequency, int count)
      Deprecated.
      Parameters:
      frequency - a recurrence frequency string
      count - maximum recurrence count
    • Recur

      public Recur(Recur.Frequency frequency, int count)
      Parameters:
      frequency - a recurrence frequency string
      count - maximum recurrence count
  • Method Details

    • getDayList

      public final WeekDayList getDayList()
      Accessor for the configured BYDAY list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the dayList.
    • getHourList

      public final NumberList getHourList()
      Accessor for the configured BYHOUR list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the hourList.
    • getMinuteList

      public final NumberList getMinuteList()
      Accessor for the configured BYMINUTE list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the minuteList.
    • getMonthDayList

      public final NumberList getMonthDayList()
      Accessor for the configured BYMONTHDAY list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the monthDayList.
    • getMonthList

      public final MonthList getMonthList()
      Accessor for the configured BYMONTH list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the monthList.
    • getSecondList

      public final NumberList getSecondList()
      Accessor for the configured BYSECOND list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the secondList.
    • getSetPosList

      public final NumberList getSetPosList()
      Accessor for the configured BYSETPOS list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the setPosList.
    • getWeekNoList

      public final NumberList getWeekNoList()
      Accessor for the configured BYWEEKNO list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the weekNoList.
    • getYearDayList

      public final NumberList getYearDayList()
      Accessor for the configured BYYEARDAY list. NOTE: Any changes to the returned list will have no effect on the recurrence rule processing.
      Returns:
      Returns the yearDayList.
    • getCount

      public final int getCount()
      Returns:
      Returns the count or -1 if the rule does not have a count.
    • getExperimentalValues

      public final Map<String,String> getExperimentalValues()
      Returns:
      Returns the experimentalValues.
    • getFrequency

      public final Recur.Frequency getFrequency()
      Returns:
      Returns the frequency.
    • getSkip

      public Recur.Skip getSkip()
      Returns:
      leap month skip behaviour.
    • getInterval

      public final int getInterval()
      Returns:
      Returns the interval or -1 if the rule does not have an interval defined.
    • getUntil

      public final Date getUntil()
      Returns:
      Returns the until or null if there is none.
    • getWeekStartDay

      public final WeekDay.Day getWeekStartDay()
      Returns:
      Returns the weekStartDay or null if there is none.
    • setWeekStartDay

      @Deprecated public final void setWeekStartDay(WeekDay.Day weekStartDay)
      Deprecated.
      will be removed in a future version to support immutable pattern.
      Parameters:
      weekStartDay - The weekStartDay to set.
    • toString

      public final String toString()
      Overrides:
      toString in class Object
    • getDates

      public final DateList getDates(Date periodStart, Date periodEnd, Value value)
      Returns a list of start dates in the specified period represented by this recur. Any date fields not specified by this recur are retained from the period start, and as such you should ensure the period start is initialised correctly.
      Parameters:
      periodStart - the start of the period
      periodEnd - the end of the period
      value - the type of dates to generate (i.e. date/date-time)
      Returns:
      a list of dates
    • getDates

      public final DateList getDates(Date seed, Period period, Value value)
      Convenience method for retrieving recurrences in a specified period.
      Parameters:
      seed - a seed date for generating recurrence instances
      period - the period of returned recurrence dates
      value - type of dates to generate
      Returns:
      a list of dates
    • getDates

      public final DateList getDates(Date seed, Date periodStart, Date periodEnd, Value value)
      Returns a list of start dates in the specified period represented by this recur. This method includes a base date argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject default values to return a set of dates in the correct format. For example, if the search start date (start) is Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at 9:00AM, and not 12:19PM.
      Parameters:
      seed - the start date of this Recurrence's first instance
      periodStart - the start of the period
      periodEnd - the end of the period
      value - the type of dates to generate (i.e. date/date-time)
      Returns:
      a list of dates represented by this recur instance
    • getDates

      public final DateList getDates(Date seed, Date periodStart, Date periodEnd, Value value, int maxCount)
      Returns a list of start dates in the specified period represented by this recur. This method includes a base date argument, which indicates the start of the fist occurrence of this recurrence. The base date is used to inject default values to return a set of dates in the correct format. For example, if the search start date (start) is Wed, Mar 23, 12:19PM, but the recurrence is Mon - Fri, 9:00AM - 5:00PM, the start dates returned should all be at 9:00AM, and not 12:19PM.
      Parameters:
      seed - the start date of this Recurrence's first instance
      periodStart - the start of the period
      periodEnd - the end of the period
      value - the type of dates to generate (i.e. date/date-time)
      maxCount - limits the number of instances returned. Up to one years worth extra may be returned. Less than 0 means no limit
      Returns:
      a list of dates represented by this recur instance
    • getDatesAsStream

      public final Stream<Date> getDatesAsStream(Date seed, Date periodStart, Date periodEnd, Value value, int maxCount)
    • getNextDate

      public final Date getNextDate(Date seed, Date startDate)
      Returns the next date of this recurrence given a seed date and start date. The seed date indicates the start of the fist occurrence of this recurrence. The start date is the starting date to search for the next recurrence. Return null if there is no occurrence date after start date.
      Parameters:
      seed - the start date of this Recurrence's first instance
      startDate - the date to start the search
      Returns:
      the next date in the recurrence series after startDate
    • setCount

      @Deprecated public final void setCount(int count)
      Deprecated.
      will be removed in a future version to support immutable pattern.
      Parameters:
      count - The count to set.
    • setFrequency

      @Deprecated public final void setFrequency(String frequency)
      Deprecated.
      will be removed in a future version to support immutable pattern.
      Parameters:
      frequency - The frequency to set.
    • setInterval

      @Deprecated public final void setInterval(int interval)
      Deprecated.
      will be removed in a future version to support immutable pattern.
      Parameters:
      interval - The interval to set.
    • setUntil

      @Deprecated public final void setUntil(Date until)
      Deprecated.
      will be removed in a future version to support immutable pattern.
      Parameters:
      until - The until to set.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object