Skip to content

Commit 84e04a3

Browse files
authored
Add Shuva, Shira, Hagadol, Chazon and Nachamu
Addresses issue #201.
1 parent 27a45cf commit 84e04a3

File tree

1 file changed

+33
-6
lines changed

1 file changed

+33
-6
lines changed

Diff for: src/main/java/com/kosherjava/zmanim/hebrewcalendar/JewishCalendar.java

+33-6
Original file line numberDiff line numberDiff line change
@@ -170,8 +170,12 @@ public class JewishCalendar extends JewishDate {
170170
private boolean useModernHolidays = false;
171171

172172
/**
173-
* List of <em>parshiyos</em>. {@link #NONE} indicates a week without a <em>parsha</em>, while the enum for the <em>parsha</em> of
174-
* {@link #VZOS_HABERACHA} exists for consistency, but is not currently used.
173+
* List of <em>parshiyos</em> or special <em>Shabasos</em>. {@link #NONE} indicates a week without a <em>parsha</em>, while the enum for
174+
* the <em>parsha</em> of {@link #VZOS_HABERACHA} exists for consistency, but is not currently used. The special <em>Shabasos</em> of
175+
* Shekalim, Zachor, Para, Hachodesh, as well as Shabbos Shuva, Shira, Hagadol, Chazon and Nachamu are also represented in this collection
176+
* of <em>parshiyos</em>.
177+
* @see #getSpecialShabbos()
178+
* @see #getParshah()
175179
*/
176180
public static enum Parsha {
177181
/**NONE A week without any <em>parsha</em> such as <em>Shabbos Chol Hamoed</em> */NONE,
@@ -188,7 +192,8 @@ public static enum Parsha {
188192
* of Behar &amp; Bechukosai*/BEHAR_BECHUKOSAI,/**The double <em>parsha</em> of Chukas &amp; Balak*/CHUKAS_BALAK, /**The double
189193
* <em>parsha</em> of Matos &amp; Masei*/MATOS_MASEI,/**The double <em>parsha</em> of Nitzavim &amp; Vayelech*/NITZAVIM_VAYEILECH,
190194
/**The special <em>parsha</em> of Shekalim*/SHKALIM, /** The special <em>parsha</em> of Zachor*/ZACHOR, /**The special <em>parsha</em> of
191-
* Para*/PARA, /** The special <em>parsha</em> of Hachodesh*/HACHODESH
195+
* Para*/PARA, /** The special <em>parsha</em> of Hachodesh*/HACHODESH, /**<em>Shabbos</em> Shuva*/SHUVA, /**<em>Shabbos</em> Shira*/SHIRA,
196+
/**<em>Shabbos</em> Hagadol*/HAGADOL, /**<em>Shabbos</em> Chazon*/CHAZON, /**<em>Shabbos</em> Nachamu*/NACHAMU
192197
};
193198

194199
/**
@@ -534,7 +539,7 @@ public Parsha getUpcomingParshah() {
534539
* Parsha#NONE Parsha.NONE}.
535540
*/
536541
public Parsha getSpecialShabbos() {
537-
if (getDayOfWeek() == Calendar.SATURDAY) {
542+
if (getDayOfWeek() == Calendar.SATURDAY) {
538543
if ((getJewishMonth() == SHEVAT && !isJewishLeapYear()) || (getJewishMonth() == ADAR && isJewishLeapYear())) {
539544
if (getJewishDayOfMonth() == 25 || getJewishDayOfMonth() == 27 || getJewishDayOfMonth() == 29) {
540545
return Parsha.SHKALIM;
@@ -554,8 +559,30 @@ public Parsha getSpecialShabbos() {
554559
return Parsha.HACHODESH;
555560
}
556561
}
557-
if (getJewishMonth() == NISSAN && getJewishDayOfMonth() == 1) {
558-
return Parsha.HACHODESH;
562+
if (getJewishMonth() == NISSAN) {
563+
if(getJewishDayOfMonth() == 1) {
564+
return Parsha.HACHODESH;
565+
}
566+
if(getJewishDayOfMonth() >= 8 && getJewishDayOfMonth() <= 14) {
567+
return Parsha.HAGADOL;
568+
}
569+
}
570+
if (getJewishMonth() == AV) {
571+
if(getJewishDayOfMonth() >= 4 && getJewishDayOfMonth() <= 9) {
572+
return Parsha.CHAZON;
573+
}
574+
if(getJewishDayOfMonth() >= 10 && getJewishDayOfMonth() <= 16) {
575+
return Parsha.NACHAMU;
576+
}
577+
}
578+
if (getJewishMonth() == TISHREI) {
579+
if(getJewishDayOfMonth() >= 3 && getJewishDayOfMonth() <= 8) {
580+
return Parsha.SHUVA;
581+
}
582+
583+
}
584+
if(getParshah() == Parsha.BESHALACH) {
585+
return Parsha.SHIRA;
559586
}
560587
}
561588
return Parsha.NONE;

0 commit comments

Comments
 (0)