Package org.jfree.date
Class RelativeDayOfWeekRule
- java.lang.Object
-
- org.jfree.date.AnnualDateRule
-
- org.jfree.date.RelativeDayOfWeekRule
-
- All Implemented Interfaces:
java.lang.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'.
-
-
Field Summary
Fields Modifier and Type Field Description private int
dayOfWeek
The day of the week (SerialDate.MONDAY, SerialDate.TUESDAY, and so on).private int
relative
Specifies which day of the week (PRECEDING, NEAREST or FOLLOWING).private AnnualDateRule
subrule
A reference to the annual date rule on which this rule is based.
-
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 java.lang.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.
-
-
-
Field Detail
-
subrule
private AnnualDateRule subrule
A reference to the annual date rule on which this rule is based.
-
dayOfWeek
private int dayOfWeek
The day of the week (SerialDate.MONDAY, SerialDate.TUESDAY, and so on).
-
relative
private int relative
Specifies which day of the week (PRECEDING, NEAREST or FOLLOWING).
-
-
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 java.lang.Object clone() throws java.lang.CloneNotSupportedException
Creates a clone of this rule.- Overrides:
clone
in classAnnualDateRule
- Returns:
- a clone of this rule.
- Throws:
java.lang.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
).
-
-