Class RangeDateRule

  • All Implemented Interfaces:
    DateRule

    public class RangeDateRule
    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. Implementation of DateRule that takes a range.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) java.util.List<Range> ranges  
    • Constructor Summary

      Constructors 
      Constructor Description
      RangeDateRule()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(DateRule rule)  
      void add​(java.util.Date start, DateRule rule)  
      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.
      private Range rangeAt​(int index)  
      private int startIndex​(java.util.Date start)  
      • Methods inherited from class java.lang.Object

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

      • ranges

        java.util.List<Range> ranges
    • Constructor Detail

      • RangeDateRule

        public RangeDateRule()
    • Method Detail

      • add

        public void add​(DateRule rule)
      • add

        public void add​(java.util.Date start,
                        DateRule rule)
      • firstAfter

        public java.util.Date firstAfter​(java.util.Date start)
        Description copied from interface: DateRule
        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:
        DateRule.firstBetween(java.util.Date, java.util.Date)
      • firstBetween

        public java.util.Date firstBetween​(java.util.Date start,
                                           java.util.Date end)
        Description copied from interface: DateRule
        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:
        DateRule.firstAfter(java.util.Date)
      • isOn

        public boolean isOn​(java.util.Date date)
        Description copied from interface: DateRule
        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
      • startIndex

        private int startIndex​(java.util.Date start)
      • rangeAt

        private Range rangeAt​(int index)