Class SimpleDateRule

  • All Implemented Interfaces:
    DateRule

    public class SimpleDateRule
    extends java.lang.Object
    implements DateRule
    Note: The Holiday framework is a technology preview. Despite its age, is still draft API, and clients should treat it as such. Simple implementation of DateRule.
    • Constructor Summary

      Constructors 
      Constructor Description
      SimpleDateRule​(int month, int dayOfMonth)
      Construct a rule for a fixed date within a month
      SimpleDateRule​(int month, int dayOfMonth, int dayOfWeek, boolean after)
      Construct a rule for a weekday within a month, e.g. the first Monday.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Date firstAfter​(java.util.Date start)
      Return the first occurrance of the event represented by this rule that is on or after the given start date.
      java.util.Date firstBetween​(java.util.Date start, java.util.Date end)
      Return the first occurrance of the event represented by this rule that is on or after the given start date and before the given end date.
      boolean isBetween​(java.util.Date start, java.util.Date end)
      Check whether this event occurs at least once between the two dates given.
      boolean isOn​(java.util.Date date)
      Checks whether this event occurs on the given date.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • SimpleDateRule

        public SimpleDateRule​(int month,
                              int dayOfMonth)
        Construct a rule for a fixed date within a month
        Parameters:
        month - The month in which this rule occurs (0-based).
        dayOfMonth - The date in that month (1-based).
      • SimpleDateRule

        public SimpleDateRule​(int month,
                              int dayOfMonth,
                              int dayOfWeek,
                              boolean after)
        Construct a rule for a weekday within a month, e.g. the first Monday.
        Parameters:
        month - The month in which this rule occurs (0-based).
        dayOfMonth - A date within that month (1-based).
        dayOfWeek - The day of the week on which this rule occurs.
        after - If true, this rule selects the first dayOfWeek on or after dayOfMonth. If false, the rule selects the first dayOfWeek on or before dayOfMonth.
    • Method Detail

      • firstAfter

        public java.util.Date firstAfter​(java.util.Date start)
        Return the first occurrance of the event represented by this rule that is on or after the given start date.
        Specified by:
        firstAfter in interface DateRule
        Parameters:
        start - Only occurrances on or after this date are returned.
        Returns:
        The date on which this event occurs, or null if it does not occur on or after the start date.
        See Also:
        firstBetween(java.util.Date, java.util.Date)
      • firstBetween

        public java.util.Date firstBetween​(java.util.Date start,
                                           java.util.Date end)
        Return the first occurrance of the event represented by this rule that is on or after the given start date and before the given end date.
        Specified by:
        firstBetween in interface DateRule
        Parameters:
        start - Only occurrances on or after this date are returned.
        end - Only occurrances before this date are returned.
        Returns:
        The date on which this event occurs, or null if it does not occur between the start and end dates.
        See Also:
        firstAfter(java.util.Date)
      • isOn

        public boolean isOn​(java.util.Date date)
        Checks whether this event occurs on the given date. This does not take time of day into account; instead it checks whether this event and the given date are on the same day. This is useful for applications such as determining whether a given day is a holiday.
        Specified by:
        isOn in interface DateRule
        Parameters:
        date - The date to check.
        Returns:
        true if this event occurs on the given date.
      • isBetween

        public boolean isBetween​(java.util.Date start,
                                 java.util.Date end)
        Check whether this event occurs at least once between the two dates given.
        Specified by:
        isBetween in interface DateRule