Class IndependenceDay

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

public class IndependenceDay extends AbstractObservance
Observance of Yom Ha'atzmaut — Israeli Independence Day (5 Iyar).

The natural date is 5 Iyar, but Israeli law (amended 2004) requires the observed date to be shifted when Yom Hazikaron (Memorial Day, 4 Iyar) would fall on a problematic day relative to Shabbat (Friday–Saturday) or its immediate aftermath (Sunday). The complete postponement rule based on the day of week of natural 5 Iyar:

Independence Day postponement rules
Natural 5 IyarObserved date
SundayMonday (+1) — Iyar 4 would be Shabbat
MondayTuesday (+1) — Iyar 4 would be Sunday (post-Shabbat)
TuesdayTuesday (no shift)
WednesdayWednesday (no shift)
ThursdayThursday (no shift)
FridayThursday (−1) — Iyar 4 would be Erev Shabbat
SaturdayThursday (−2) — 5 Iyar itself is Shabbat

This observance applies the shift internally and must be declared rollable(false) — the calendar's DateRoll must not be applied on top of this already-adjusted date.

Author:
Dave Joyce