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

public class ChristmasEve extends AbstractObservance
Observance of Xetra/Frankfurt Stock Exchange's Christmas Eve full non-trading day (December 24, an "Erfüllungstag"/settlement day). Unlike org.holiday.calendar.observance.uk.ChristmasEveEarlyClose — which always occurs, shifting to the preceding Friday on a weekend — Xetra/FWB is simply not a trading day at all on weekends, so December 24 is omitted entirely (not shifted) in years it falls on a Saturday or Sunday. This mirrors org.holiday.calendar.observance.ca.ChristmasEveEarlyClose's suppression semantics, applied here to a FLOATING full-day holiday rather than an EARLY_CLOSE.

Verified against Deutsche Börse's official Xetra-Handelskalender (cashmarket.deutsche-boerse.com), 2023-2026.

Author:
Dave Joyce
  • Constructor Details

    • ChristmasEve

      public ChristmasEve()
  • 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