Class ChristmasEveEarlyClose

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

public class ChristmasEveEarlyClose extends AbstractObservance
Observance of the Australian Securities Exchange's Christmas Eve half-day close (December 24). ASX runs a shortened trading session (normal trading ceasing at 14:10 Sydney time) on December 24 whenever that date falls on a weekday; when December 24 falls on a Saturday or Sunday, the half-day close is not observed that year at all — unlike the London Stock Exchange (see org.holiday.calendar.observance.uk.ChristmasEveEarlyClose), ASX does not shift the half-day session to the preceding Friday. See AsxEveEarlyClose for the shared eligibility logic (a different use of isValidYear than its algorithm-validity use in WesternEaster/OrthodoxEaster — see org.holiday.calendar.observance.ca.ChristmasEveEarlyClose's javadoc for the same note).

Verified against ASX's own "ASX Trade trading hours for Christmas and New Year" notices (asxonline.com): the 2025/2026 notice confirms the 14:10 Sydney close, and the 2022/2023 notice confirms suppression — with December 24, 2022 falling on a Saturday, that notice designates Friday December 23, 2022 as a normal, full-hours trading day rather than shifting the half-day session to it.

Author:
Dave Joyce
  • Constructor Details

    • ChristmasEveEarlyClose

      public ChristmasEveEarlyClose()
  • Method Details

    • computeDate

      protected final 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 final 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