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

public class VesakDay extends AbstractObservance
Observance of Vesak Day (also known as Buddha's Birthday), commemorating the birth, enlightenment, and death of Gautama Buddha. In Singapore, Vesak Day falls on the full moon of the fourth month of the Chinese lunisolar calendar, observed as a public holiday on the date officially gazetted by the Singapore government.

Dates for 2019–2030 are sourced from official Singapore Ministry of Manpower (MOM) public holiday gazette notifications. Dates for 2031–2055 are pre-computed from the Hong Kong Observatory Gregorian-Lunar Calendar Conversion Tables (day 15 of Chinese lunisolar month 4 in SGT), pending official MOM gazette confirmation. All entries should be verified against MOM announcements as Singapore approaches each year.

Author:
Dave Joyce
  • Constructor Details

    • VesakDay

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