Class HolidayManager


  • public abstract class HolidayManager
    extends Object
    Abstract base class for all holiday manager implementations. Upon call of getInstance method the implementing class will be read from the jollyday.properties file and instantiated.
    Version:
    $Id: $
    Author:
    Sven Diedrichsen
    • Field Detail

      • calendarUtil

        protected final CalendarUtil calendarUtil
        Utility for calendar operations
    • Constructor Detail

      • HolidayManager

        public HolidayManager()
    • Method Detail

      • getInstance

        public static HolidayManager getInstance()
        Creates a HolidayManager instance for the default locale country using the configured properties from the configuration file.
        Returns:
        a eventually cached HolidayManager instance
      • getInstance

        public static HolidayManager getInstance​(Properties properties)
        Creates a HolidayManager instance for the default locale country using the provided properties.
        Parameters:
        properties - the overriding configuration properties.
        Returns:
        a eventually cached HolidayManager instance
      • setManagerCachingEnabled

        public static void setManagerCachingEnabled​(boolean managerCachingEnabled)
        If true, instantiated managers will be cached. If false every call to getInstance will create new manager. True by default.
        Parameters:
        managerCachingEnabled - the managerCachingEnabled to set
      • isManagerCachingEnabled

        public static boolean isManagerCachingEnabled()

        isManagerCachingEnabled.

        Returns:
        the CACHING_ENABLED
      • clearManagerCache

        public static void clearManagerCache()
        Clears the manager cache from all cached manager instances.
      • isHoliday

        public boolean isHoliday​(Calendar c,
                                 HolidayType holidayType,
                                 String... args)
        Calls isHoliday with LocalDate object.
        Parameters:
        c - Calendar to check.
        holidayType - type holidays to be considered. NULL checks any.
        args - a String object.
        Returns:
        if the date is a holiday
      • isHoliday

        public boolean isHoliday​(Calendar c,
                                 String... args)
      • isHoliday

        public boolean isHoliday​(LocalDate c,
                                 HolidayType holidayType,
                                 String... args)
        Show if the requested date is a holiday.
        Parameters:
        c - The potential holiday.
        holidayType - a HolidayType object
        args - Hierarchy to request the holidays for. i.e. args = {'ny'} -> New York holidays
        Returns:
        is a holiday in the state/region
      • isHoliday

        public boolean isHoliday​(LocalDate c,
                                 String... args)
        Calls #isHoliday(c, null, args)
        Parameters:
        c - the date to check
        args - the arguments to find the calendar
        Returns:
        whether the date is a holiday
      • getSupportedCalendarCodes

        public static Set<String> getSupportedCalendarCodes()
        Returns a set of all currently supported calendar codes.
        Returns:
        Set of supported calendar codes.
      • setConfigurationService

        public void setConfigurationService​(ConfigurationService configurationService)
        Sets the configuration datasource with this holiday manager.
        Parameters:
        configurationService - the ConfigurationService to use.
      • init

        public void init​(ManagerParameter parameters)
        Initializes the implementing manager for the provided calendar.
        Parameters:
        parameters - i.e. us, uk, de
      • doInit

        public abstract void doInit()
      • getHolidays

        public abstract Set<Holiday> getHolidays​(int year,
                                                 String... args)
        Returns the holidays for the requested year and hierarchy structure.
        Parameters:
        year - i.e. 2010
        args - i.e. args = {'ny'}. returns US/New York holidays. No args means holidays common to whole country
        Returns:
        a set of holidays for the requested year
      • getHolidays

        public abstract Set<Holiday> getHolidays​(LocalDate startDateInclusive,
                                                 LocalDate endDateInclusive,
                                                 String... args)
        Returns the holidays for the requested interval and hierarchy structure.
        Parameters:
        startDateInclusive - the start date of the interval in which holidays lie, inclusive
        endDateInclusive - the end date of the interval in which holidays lie, inclusive
        args - a String object.
        Returns:
        list of holidays within the interval
      • getCalendarHierarchy

        public abstract CalendarHierarchy getCalendarHierarchy()
        Returns the configured hierarchy structure for the specific manager. This hierarchy shows how the configured holidays are structured and can be retrieved.
        Returns:
        Current calendars hierarchy