org.jfree.date

Class RelativeDayOfWeekRule

public class RelativeDayOfWeekRule extends AnnualDateRule

An annual date rule that returns a date for each year based on (a) a reference rule; (b) a day of the week; and (c) a selection parameter (SerialDate.PRECEDING, SerialDate.NEAREST, SerialDate.FOLLOWING).

For example, Good Friday can be specified as 'the Friday PRECEDING Easter Sunday'.

Author: David Gilbert

Constructor Summary
RelativeDayOfWeekRule()
Default constructor - builds a rule for the Monday following 1 January.
RelativeDayOfWeekRule(AnnualDateRule subrule, int dayOfWeek, int relative)
Standard constructor - builds rule based on the supplied sub-rule.
Method Summary
Objectclone()
Creates a clone of this rule.
SerialDategetDate(int year)
Returns the date generated by this rule, for the specified year.
intgetDayOfWeek()
Returns the day-of-the-week for this rule.
intgetRelative()
Returns the 'relative' attribute, that determines *which* day-of-the-week we are interested in (SerialDate.PRECEDING, SerialDate.NEAREST or SerialDate.FOLLOWING).
AnnualDateRulegetSubrule()
Returns the sub-rule (also called the reference rule).
voidsetDayOfWeek(int dayOfWeek)
Sets the day-of-the-week for this rule.
voidsetRelative(int relative)
Sets the 'relative' attribute (SerialDate.PRECEDING, SerialDate.NEAREST, SerialDate.FOLLOWING).
voidsetSubrule(AnnualDateRule subrule)
Sets the sub-rule.

Constructor Detail

RelativeDayOfWeekRule

public RelativeDayOfWeekRule()
Default constructor - builds a rule for the Monday following 1 January.

RelativeDayOfWeekRule

public RelativeDayOfWeekRule(AnnualDateRule subrule, int dayOfWeek, int relative)
Standard constructor - builds rule based on the supplied sub-rule.

Parameters: subrule the rule that determines the reference date. dayOfWeek the day-of-the-week relative to the reference date. relative indicates *which* day-of-the-week (preceding, nearest or following).

Method Detail

clone

public Object clone()
Creates a clone of this rule.

Returns: a clone of this rule.

Throws: CloneNotSupportedException this should never happen.

getDate

public SerialDate getDate(int year)
Returns the date generated by this rule, for the specified year.

Parameters: year the year (1900 <= year <= 9999).

Returns: The date generated by the rule for the given year (possibly null).

getDayOfWeek

public int getDayOfWeek()
Returns the day-of-the-week for this rule.

Returns: the day-of-the-week for this rule.

getRelative

public int getRelative()
Returns the 'relative' attribute, that determines *which* day-of-the-week we are interested in (SerialDate.PRECEDING, SerialDate.NEAREST or SerialDate.FOLLOWING).

Returns: The 'relative' attribute.

getSubrule

public AnnualDateRule getSubrule()
Returns the sub-rule (also called the reference rule).

Returns: The annual date rule that determines the reference date for this rule.

setDayOfWeek

public void setDayOfWeek(int dayOfWeek)
Sets the day-of-the-week for this rule.

Parameters: dayOfWeek the day-of-the-week (SerialDate.MONDAY, SerialDate.TUESDAY, and so on).

setRelative

public void setRelative(int relative)
Sets the 'relative' attribute (SerialDate.PRECEDING, SerialDate.NEAREST, SerialDate.FOLLOWING).

Parameters: relative determines *which* day-of-the-week is selected by this rule.

setSubrule

public void setSubrule(AnnualDateRule subrule)
Sets the sub-rule.

Parameters: subrule the annual date rule that determines the reference date for this rule.