Class Holiday

  • All Implemented Interfaces:
    DateRule
    Direct Known Subclasses:
    EasterHoliday, HebrewHoliday, SimpleHoliday

    public abstract class Holiday
    extends 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. An abstract class representing a holiday.
    • Constructor Detail

      • Holiday

        protected Holiday​(String name,
                          DateRule rule)
        Construct a new Holiday object. This is for use by subclasses only. This constructs a new holiday with the given name and date rules.
        Parameters:
        name - The name of this holiday. The getDisplayName method uses this string as a key to look up the holiday's name a resource bundle object named HolidayBundle.
        rule - The date rules used for determining when this holiday falls. Holiday's implementation of the DateRule interface simply delegates to this DateRule object.
    • Method Detail

      • getHolidays

        public static Holiday[] getHolidays()
      • getHolidays

        public static Holiday[] getHolidays​(Locale locale)
      • getHolidays

        public static Holiday[] getHolidays​(ULocale locale)
      • firstAfter

        public Date firstAfter​(Date start)
        Return the first occurrence of this holiday on or after the given date
        Specified by:
        firstAfter in interface DateRule
        Parameters:
        start - Only holidays on or after this date are returned.
        Returns:
        The date on which this holiday 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 Date firstBetween​(Date start,
                                 Date end)
        Return the first occurrence of this holiday that is on or after the given start date and before the given end date.
        Specified by:
        firstBetween in interface DateRule
        Parameters:
        start - Only occurrences on or after this date are returned.
        end - Only occurrences 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​(Date date)
        Checks whether this holiday falls on the given date. This does not take time of day into account; instead it checks whether the holiday and the given date are on the same day.
        Specified by:
        isOn in interface DateRule
        Parameters:
        date - The date to check.
        Returns:
        true if this holiday occurs on the given date.
      • isBetween

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

        public String getDisplayName()
        Return the name of this holiday in the language of the default DISPLAY locale.
        See Also:
        ULocale.Category.DISPLAY
      • getDisplayName

        public String getDisplayName​(Locale locale)
        Return the name of this holiday in the language of the specified locale. The name parameter passed to this object's constructor is used as a key to look up the holiday's localized name in a ResourceBundle object named HolidayBundle.
        Parameters:
        locale - A locale specifying the language in which the name is desired.
        See Also:
        ResourceBundle
      • getDisplayName

        public String getDisplayName​(ULocale locale)
        Return the name of this holiday in the language of the specified locale The name parameter passed to this object's constructor is used as a key to look up the holiday's localized name in a ResourceBundle object named HolidayBundle.
        Parameters:
        locale - A locale specifying the language in which the name is desired.
        See Also:
        ResourceBundle
      • setRule

        public void setRule​(DateRule rule)