org.jfree.date

## Class DayOfWeekInMonthRule

- java.lang.Object
- - org.jfree.date.AnnualDateRule
  - - org.jfree.date.DayOfWeekInMonthRule

- All Implemented Interfaces:
    java.lang.Cloneable

      public class DayOfWeekInMonthRule
      extends AnnualDateRule

  An annual date rule that specifies the nth day of the week in a given month (for example, the third Wednesday in June, or the last Friday in November).
  Author:
    David Gilbert

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `DayOfWeekInMonthRule()` Default constructor: builds a rule for the first Monday in January by default.
    `DayOfWeekInMonthRule(int count, int dayOfWeek, int month)` Standard constructor: builds a rule with the specified attributes.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getCount()` Returns the 'count' for this rule (one of FIRST, SECOND, THIRD, FOURTH and LAST).
    `SerialDate` | `getDate(int year)` Return the date for this rule, given the year.
    `int` | `getDayOfWeek()` Returns the day-of-the-week for this rule (SerialDate.MONDAY, SerialDate.TUESDAY, etc.).
    `int` | `getMonth()` Returns the month for this rule.
    `void` | `setCount(int count)` Sets the 'count' for this rule (one of FIRST, SECOND, THIRD, FOURTH and LAST).
    `void` | `setDayOfWeek(int dayOfWeek)` Sets the day-of-the-week for this rule.
    `void` | `setMonth(int month)` Sets the month for this rule.

    - ### Methods inherited from class org.jfree.date.AnnualDateRule

      `clone`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DayOfWeekInMonthRule

          public DayOfWeekInMonthRule()

      Default constructor: builds a rule for the first Monday in January by default.

    - #### DayOfWeekInMonthRule

          public DayOfWeekInMonthRule(int count,
                              int dayOfWeek,
                              int month)

      Standard constructor: builds a rule with the specified attributes.
      Parameters:
        `count` - one of: FIRST, SECOND, THIRD, FOURTH or LAST.
        `dayOfWeek` - the day-of-the-week (SerialDate.MONDAY, SerialDate.TUESDAY, etc.).
        `month` - the month (SerialDate.JANUARY, SerialDate.FEBRUARY, etc.).

  - ### Method Detail

    - #### getCount

          public int getCount()

      Returns the 'count' for this rule (one of FIRST, SECOND, THIRD, FOURTH and LAST).
      Returns:
        the 'count'.

    - #### setCount

          public void setCount(int count)

      Sets the 'count' for this rule (one of FIRST, SECOND, THIRD, FOURTH and LAST).
      Parameters:
        `count` - the 'count'.

    - #### getDayOfWeek

          public int getDayOfWeek()

      Returns the day-of-the-week for this rule (SerialDate.MONDAY, SerialDate.TUESDAY, etc.).
      Returns:
        the day-of-the-week.

    - #### setDayOfWeek

          public void setDayOfWeek(int dayOfWeek)

      Sets the day-of-the-week for this rule.
      Parameters:
        `dayOfWeek` - the day-of-the-week.

    - #### getMonth

          public int getMonth()

      Returns the month for this rule.
      Returns:
        the month.

    - #### setMonth

          public void setMonth(int month)

      Sets the month for this rule.
      Parameters:
        `month` - the month (SerialDate.JANUARY, SerialDate.FEBRUARY, etc.).

    - #### getDate

          public SerialDate getDate(int year)

      Return the date for this rule, given the year.
      Specified by:
        `getDate` in class `AnnualDateRule`
      Parameters:
        `year` - the year.
      Returns:
        the date generated by the rule for the given year.