@@ -170,8 +170,12 @@ public class JewishCalendar extends JewishDate {
170
170
private boolean useModernHolidays = false ;
171
171
172
172
/**
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()
175
179
*/
176
180
public static enum Parsha {
177
181
/**NONE A week without any <em>parsha</em> such as <em>Shabbos Chol Hamoed</em> */ NONE ,
@@ -188,7 +192,8 @@ public static enum Parsha {
188
192
* of Behar & Bechukosai*/ BEHAR_BECHUKOSAI ,/**The double <em>parsha</em> of Chukas & Balak*/ CHUKAS_BALAK , /**The double
189
193
* <em>parsha</em> of Matos & Masei*/ MATOS_MASEI ,/**The double <em>parsha</em> of Nitzavim & Vayelech*/ NITZAVIM_VAYEILECH ,
190
194
/**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
192
197
};
193
198
194
199
/**
@@ -534,7 +539,7 @@ public Parsha getUpcomingParshah() {
534
539
* Parsha#NONE Parsha.NONE}.
535
540
*/
536
541
public Parsha getSpecialShabbos () {
537
- if (getDayOfWeek () == Calendar .SATURDAY ) {
542
+ if (getDayOfWeek () == Calendar .SATURDAY ) {
538
543
if ((getJewishMonth () == SHEVAT && !isJewishLeapYear ()) || (getJewishMonth () == ADAR && isJewishLeapYear ())) {
539
544
if (getJewishDayOfMonth () == 25 || getJewishDayOfMonth () == 27 || getJewishDayOfMonth () == 29 ) {
540
545
return Parsha .SHKALIM ;
@@ -554,8 +559,30 @@ public Parsha getSpecialShabbos() {
554
559
return Parsha .HACHODESH ;
555
560
}
556
561
}
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 ;
559
586
}
560
587
}
561
588
return Parsha .NONE ;
0 commit comments