net.fortuna.ical4j.model
Class Recur

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

public class Recur
extends Object
implements Serializable

$Id$ [18-Apr-2004] Defines a recurrence.

Version:
2.0
Author:
Ben Fortuna
See Also:
Serialized Form

Field Summary
static String DAILY
          Day frequency resolution.
static String HOURLY
          Hour frequency resolution.
static String KEY_MAX_INCREMENT_COUNT
          When calculating dates matching this recur (getDates() or getNextDate), this property defines the maximum number of attempt to find a matching date by incrementing the seed.
static String MINUTELY
          Minute frequency resolution.
static String MONTHLY
          Month frequency resolution.
static String SECONDLY
          Second frequency resolution.
static String WEEKLY
          Week frequency resolution.
static String YEARLY
          Year frequency resolution.
 
Constructor Summary
Recur()
          Default constructor.
Recur(String aValue)
          Constructs a new instance from the specified string value.
Recur(String frequency, Date until)
           
Recur(String frequency, int count)
           
 
Method Summary
 int getCount()
           
 DateList getDates(Date seed, Date periodStart, Date periodEnd, Value value)
          Returns a list of start dates in the specified period represented by this recur.
 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.
 DateList getDates(Date periodStart, Date periodEnd, Value value)
          Returns a list of start dates in the specified period represented by this recur.
 DateList getDates(Date seed, Period period, Value value)
          Convenience method for retrieving recurrences in a specified period.
 WeekDayList getDayList()
           
 Map getExperimentalValues()
           
 String getFrequency()
           
 NumberList getHourList()
           
 int getInterval()
           
 NumberList getMinuteList()
           
 NumberList getMonthDayList()
           
 NumberList getMonthList()
           
 Date getNextDate(Date seed, Date startDate)
          Returns the the next date of this recurrence given a seed date and start date.
 NumberList getSecondList()
           
 NumberList getSetPosList()
           
 Date getUntil()
           
 NumberList getWeekNoList()
           
 String getWeekStartDay()
           
 NumberList getYearDayList()
           
 void setCount(int count)
           
 void setFrequency(String frequency)
           
 void setInterval(int interval)
           
 void setUntil(Date until)
           
 void setWeekStartDay(String weekStartDay)
           
 String toString()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

SECONDLY

public static final String SECONDLY
Second frequency resolution.

See Also:
Constant Field Values

MINUTELY

public static final String MINUTELY
Minute frequency resolution.

See Also:
Constant Field Values

HOURLY

public static final String HOURLY
Hour frequency resolution.

See Also:
Constant Field Values

DAILY

public static final String DAILY
Day frequency resolution.

See Also:
Constant Field Values

WEEKLY

public static final String WEEKLY
Week frequency resolution.

See Also:
Constant Field Values

MONTHLY

public static final String MONTHLY
Month frequency resolution.

See Also:
Constant Field Values

YEARLY

public static final String YEARLY
Year frequency resolution.

See Also:
Constant Field Values

KEY_MAX_INCREMENT_COUNT

public static final String KEY_MAX_INCREMENT_COUNT
When calculating dates matching this recur (getDates() or getNextDate), this property defines the maximum number of attempt to find a matching date by incrementing the seed.

The default value is 1000. A value of -1 corresponds to no maximum.

See Also:
Constant Field Values
Constructor Detail

Recur

public Recur()
Default constructor.


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

Recur

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

Recur

public Recur(String frequency,
             int count)
Parameters:
frequency - a recurrence frequency string
count - maximum recurrence count
Method Detail

getDayList

public final WeekDayList getDayList()
Returns:
Returns the dayList.

getHourList

public final NumberList getHourList()
Returns:
Returns the hourList.

getMinuteList

public final NumberList getMinuteList()
Returns:
Returns the minuteList.

getMonthDayList

public final NumberList getMonthDayList()
Returns:
Returns the monthDayList.

getMonthList

public final NumberList getMonthList()
Returns:
Returns the monthList.

getSecondList

public final NumberList getSecondList()
Returns:
Returns the secondList.

getSetPosList

public final NumberList getSetPosList()
Returns:
Returns the setPosList.

getWeekNoList

public final NumberList getWeekNoList()
Returns:
Returns the weekNoList.

getYearDayList

public final NumberList getYearDayList()
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 getExperimentalValues()
Returns:
Returns the experimentalValues.

getFrequency

public final String getFrequency()
Returns:
Returns the frequency.

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 String getWeekStartDay()
Returns:
Returns the weekStartDay or null if there is none.

setWeekStartDay

public final void setWeekStartDay(String weekStartDay)
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

getNextDate

public final Date getNextDate(Date seed,
                              Date startDate)
Returns the 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

public final void setCount(int count)
Parameters:
count - The count to set.

setFrequency

public final void setFrequency(String frequency)
Parameters:
frequency - The frequency to set.

setInterval

public final void setInterval(int interval)
Parameters:
interval - The interval to set.

setUntil

public final void setUntil(Date until)
Parameters:
until - The until to set.


Copyright © 2004-2012 Micronode. All Rights Reserved.