Class RelativeDayOfWeekRule

java.lang.Object
org.jfree.date.AnnualDateRule
org.jfree.date.RelativeDayOfWeekRule
All Implemented Interfaces:
Cloneable

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
    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

    Modifier and Type
    Method
    Description
    Creates a clone of this rule.
    getDate(int year)
    Returns the date generated by this rule, for the specified year.
    int
    Returns the day-of-the-week for this rule.
    int
    Returns the 'relative' attribute, that determines *which* day-of-the-week we are interested in (SerialDate.PRECEDING, SerialDate.NEAREST or SerialDate.FOLLOWING).
    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
    Sets the sub-rule.

    Methods inherited from class java.lang.Object

    equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • 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 Details

    • 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

      Creates a clone of this rule.
      Overrides:
      clone in class AnnualDateRule
      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 class AnnualDateRule
      Parameters:
      year - the year (1900 <= year <= 9999).
      Returns:
      The date generated by the rule for the given year (possibly null).