@@ -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 & Bechukosai*/ BEHAR_BECHUKOSAI ,/**The double <em>parsha</em> of Chukas & Balak*/ CHUKAS_BALAK , /**The double
189193 * <em>parsha</em> of Matos & Masei*/ MATOS_MASEI ,/**The double <em>parsha</em> of Nitzavim & 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