Class ChristmasEveEarlyClose

java.lang.Object
org.holiday.calendar.observance.AbstractObservance
org.holiday.calendar.observance.us.ChristmasEveEarlyClose
All Implemented Interfaces:
Function<Integer,LocalDate>, Predicate<Integer>, Observance

public class ChristmasEveEarlyClose extends AbstractObservance
Observance of the NYSE's Christmas Eve half-day close (December 24). Unlike a weekend-shifting observance, this early close does not occur at all in years where December 25 falls on a Monday, Saturday, or Sunday — it is suppressed for that year rather than moved to an adjacent date. This is why isValidYear(int) is overridden here to signal absence, rather than computeDate(int) shifting to a different day as org.holiday.calendar.observance.uk.ChristmasEveEarlyClose does.

Verified against NYSE Group's official Holiday and Early Closings Calendar press releases (ir.theice.com): December 24 is an early close only when December 25 falls Tuesday through Friday.

Author:
Dave Joyce
  • Constructor Details

    • ChristmasEveEarlyClose

      public ChristmasEveEarlyClose()
  • Method Details

    • computeDate

      protected LocalDate computeDate(int year)
      Description copied from class: AbstractObservance
      Compute the date for this observance in the given year. Only called when AbstractObservance.isValidYear(int) returns true.
      Specified by:
      computeDate in class AbstractObservance
      Parameters:
      year - the year for which to compute the date
      Returns:
      computed holiday date
    • isValidYear

      protected boolean isValidYear(int year)
      Description copied from class: AbstractObservance
      Determine whether this observance applies in the given year. Defaults to true (all years are valid).
      Overrides:
      isValidYear in class AbstractObservance
      Parameters:
      year - the year to test
      Returns:
      true if this observance applies