Package org.jfree.date
Class RelativeDayOfWeekRule
- java.lang.Object
-
- org.jfree.date.AnnualDateRule
-
- org.jfree.date.RelativeDayOfWeekRule
-
- All Implemented Interfaces:
Cloneable
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
Constructors Constructor Description 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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
Creates a clone of this rule.SerialDate
getDate(int year)
Returns the date generated by this rule, for the specified year.int
getDayOfWeek()
Returns the day-of-the-week for this rule.int
getRelative()
Returns the 'relative' attribute, that determines *which* day-of-the-week we are interested in (SerialDate.PRECEDING, SerialDate.NEAREST or SerialDate.FOLLOWING).AnnualDateRule
getSubrule()
Returns the sub-rule (also called the reference rule).void
setDayOfWeek(int dayOfWeek)
Sets the day-of-the-week for this rule.void
setRelative(int relative)
Sets the 'relative' attribute (SerialDate.PRECEDING, SerialDate.NEAREST, SerialDate.FOLLOWING).void
setSubrule(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
-
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.
-
setSubrule
public void setSubrule(AnnualDateRule subrule)
Sets the sub-rule.- Parameters:
subrule
- the annual date rule that determines the reference date for this rule.
-
getDayOfWeek
public int getDayOfWeek()
Returns the day-of-the-week for this rule.- Returns:
- the day-of-the-week 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).
-
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.
-
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.
-
clone
public Object clone() throws CloneNotSupportedException
Creates a clone of this rule.- Overrides:
clone
in classAnnualDateRule
- 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.- Specified by:
getDate
in classAnnualDateRule
- Parameters:
year
- the year (1900 <= year <= 9999).- Returns:
- The date generated by the rule for the given year (possibly
null
).
-
-