1   /**
2    * Distribution License:
3    * JSword is free software; you can redistribute it and/or modify it under
4    * the terms of the GNU Lesser General Public License, version 2.1 or later
5    * as published by the Free Software Foundation. This program is distributed
6    * in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
7    * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
8    * See the GNU Lesser General Public License for more details.
9    *
10   * The License is available on the internet at:
11   *      http://www.gnu.org/copyleft/lgpl.html
12   * or by writing to:
13   *      Free Software Foundation, Inc.
14   *      59 Temple Place - Suite 330
15   *      Boston, MA 02111-1307, USA
16   *
17   * © CrossWire Bible Society, 2012 - 2016
18   *
19   */
20  package org.crosswire.jsword.versification.system;
21  
22  import org.crosswire.jsword.versification.BibleBook;
23  import org.crosswire.jsword.versification.Versification;
24  
25  /**
26   * Orthodox is based on the LXX versification system.
27   * q.v. for more information on the method of its compilation.
28   * However, this versification system differs from the LXX system
29   * in that the book order follows that seen in modern Orthodox Bibles
30   * and books seen in some editions of the LXX but absent from modern
31   * Orthodox Bibles have been omitted.
32   *  
33   * @see gnu.lgpl.License The GNU Lesser General Public License for details.
34   * @author DM Smith
35   */
36  public class SystemOrthodox extends Versification {
37      /**
38       * Build the "Orthodox" Versification.
39       */
40      /* protected */ SystemOrthodox() {
41          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
42      }
43  
44      public static final String V11N_NAME = "Orthodox";
45  
46      /* protected */ static final BibleBook[] BOOKS_OT =
47      {
48          BibleBook.GEN,
49          BibleBook.EXOD,
50          BibleBook.LEV,
51          BibleBook.NUM,
52          BibleBook.DEUT,
53          BibleBook.JOSH,
54          BibleBook.JUDG,
55          BibleBook.RUTH,
56          BibleBook.SAM1,
57          BibleBook.SAM2,
58          BibleBook.KGS1,
59          BibleBook.KGS2,
60          BibleBook.CHR1,
61          BibleBook.CHR2,
62          BibleBook.ESD1,
63          BibleBook.EZRA,
64          BibleBook.NEH,
65          BibleBook.TOB,
66          BibleBook.JDT,
67          BibleBook.ESTH,
68          BibleBook.MACC1,
69          BibleBook.MACC2,
70          BibleBook.MACC3,
71          BibleBook.PS,
72          BibleBook.PR_MAN,
73          BibleBook.JOB,
74          BibleBook.PROV,
75          BibleBook.ECCL,
76          BibleBook.SONG,
77          BibleBook.WIS,
78          BibleBook.SIR,
79          BibleBook.HOS,
80          BibleBook.AMOS,
81          BibleBook.MIC,
82          BibleBook.JOEL,
83          BibleBook.OBAD,
84          BibleBook.JONAH,
85          BibleBook.NAH,
86          BibleBook.HAB,
87          BibleBook.ZEPH,
88          BibleBook.HAG,
89          BibleBook.ZECH,
90          BibleBook.MAL,
91          BibleBook.ISA,
92          BibleBook.JER,
93          BibleBook.BAR,
94          BibleBook.LAM,
95          BibleBook.EP_JER,
96          BibleBook.EZEK,
97          BibleBook.SUS,
98          BibleBook.DAN,
99          BibleBook.BEL,
100         BibleBook.MACC4,
101     };
102 
103     /* protected */ static final BibleBook[] BOOKS_NT = SystemDefault.BOOKS_NT;
104 
105     /** Constant for the max verse number in each chapter */
106     /* protected */ static final int[][] LAST_VERSE_OT =
107     {
108         // Genesis
109         {
110            31,  25,  25,  26,  32,  23,  24,  22,  29,  32,
111            32,  20,  18,  24,  21,  16,  27,  33,  39,  18,
112            34,  24,  20,  67,  34,  35,  46,  22,  35,  43,
113            55,  33,  20,  31,  29,  44,  36,  30,  23,  23,
114            57,  39,  34,  34,  28,  34,  31,  22,  33,  26,
115         },
116         // Exodus
117         {
118            22,  25,  22,  31,  23,  30,  29,  32,  35,  29,
119            10,  51,  22,  31,  27,  36,  16,  27,  25,  26,
120            37,  31,  33,  18,  40,  37,  21,  43,  46,  38,
121            18,  35,  23,  35,  35,  40,  21,  29,  23,  38,
122         },
123         // Leviticus
124         {
125            17,  16,  17,  35,  26,  40,  38,  36,  24,  20,
126            47,   8,  59,  57,  33,  34,  16,  30,  37,  27,
127            24,  33,  44,  23,  55,  46,  34,
128         },
129         // Numbers
130         {
131            54,  34,  51,  49,  31,  27,  89,  26,  23,  36,
132            35,  16,  34,  45,  41,  50,  28,  32,  22,  29,
133            35,  41,  30,  25,  18,  65,  23,  31,  40,  17,
134            54,  42,  56,  29,  34,  13,
135         },
136         // Deuteronomy
137         {
138            46,  37,  29,  49,  33,  25,  26,  20,  29,  22,
139            32,  32,  19,  29,  23,  22,  20,  22,  21,  20,
140            23,  30,  26,  24,  19,  19,  27,  69,  29,  20,
141            30,  52,  29,  12,
142         },
143         // Joshua
144         {
145            18,  24,  17,  24,  16,  27,  26,  35,  33,  43,
146            23,  24,  33,  15,  64,  10,  18,  28,  54,   9,
147            49,  34,  16,  36,
148         },
149         // Judges
150         {
151            36,  23,  31,  24,  32,  40,  25,  35,  57,  18,
152            40,  15,  25,  20,  20,  31,  13,  32,  30,  48,
153            25,
154         },
155         // Ruth
156         {
157            22,  23,  18,  22,
158         },
159         // I Samuel
160         {
161            28,  36,  21,  22,  12,  21,  17,  22,  27,  27,
162            15,  25,  23,  52,  35,  23,  58,  30,  24,  43,
163            16,  23,  29,  23,  44,  25,  12,  25,  11,  32,
164            13,
165         },
166         // II Samuel
167         {
168            27,  32,  39,  12,  26,  23,  29,  18,  13,  19,
169            27,  31,  39,  33,  37,  23,  29,  33,  44,  26,
170            22,  51,  41,  25,
171         },
172         // I Kings
173         {
174            53,  71,  39,  34,  32,  38,  51,  66,  28,  33,
175            44,  54,  34,  31,  34,  42,  24,  46,  21,  43,
176            43,  54,
177         },
178         // II Kings
179         {
180            22,  25,  27,  44,  27,  35,  20,  29,  37,  36,
181            21,  22,  25,  29,  38,  20,  41,  37,  37,  21,
182            26,  20,  37,  20,  30,
183         },
184         // I Chronicles
185         {
186            54,  55,  24,  43,  41,  81,  40,  40,  44,  14,
187            47,  41,  14,  17,  29,  43,  27,  17,  19,   8,
188            30,  19,  32,  31,  31,  32,  34,  21,  30,
189         },
190         // II Chronicles
191         {
192            18,  18,  17,  23,  14,  42,  22,  18,  31,  19,
193            23,  16,  23,  15,  19,  14,  19,  34,  11,  37,
194            20,  12,  21,  27,  28,  23,   9,  27,  36,  27,
195            21,  33,  25,  33,  31,  31,
196         },
197         // I Esdras
198         {
199            58,  30,  24,  63,  73,  34,  15,  96,  55,
200         },
201         // Ezra
202         {
203            11,  70,  13,  24,  17,  22,  28,  36,  15,  44,
204         },
205         // Nehemiah
206         {
207            11,  20,  37,  23,  19,  19,  73,  18,  38,  40,
208            36,  47,  31,
209         },
210         // Tobit
211         {
212            22,  14,  17,  21,  23,  19,  18,  21,   6,  14,
213            19,  22,  19,  15,
214         },
215         // Judith
216         {
217            16,  28,  10,  15,  24,  21,  32,  36,  14,  23,
218            23,  20,  20,  19,  14,  25,
219         },
220         // Esther
221         {
222            22,  23,  15,  17,  22,  14,  10,  17,  35,  13,
223            17,   7,  30,  19,  24,  24,
224         },
225         // I Maccabees
226         {
227            64,  70,  60,  61,  68,  63,  50,  32,  73,  89,
228            74,  53,  54,  49,  41,  24,
229         },
230         // II Maccabees
231         {
232            36,  32,  40,  50,  27,  31,  42,  36,  29,  38,
233            38,  46,  26,  46,  39,
234         },
235         // III Maccabees
236         {
237            29,  33,  30,  21,  51,  41,  23,
238         },
239         // Psalms
240         {
241             6,  13,   9,   9,  13,  11,  18,  10,  40,   8,
242             9,   6,   7,   6,  11,  15,  51,  15,  10,  14,
243            32,   6,  10,  22,  12,  14,   9,  11,  13,  25,
244            11,  22,  23,  28,  13,  40,  23,  14,  18,  14,
245            12,   6,  27,  18,  12,  10,  15,  21,  23,  21,
246            11,   7,   9,  24,  14,  12,  12,  19,  14,   9,
247            13,  12,  11,  14,  20,   8,  36,  37,   7,  24,
248            20,  28,  23,  11,  13,  21,  72,  13,  20,  17,
249             8,  19,  13,  14,  17,   7,  19,  53,  17,  16,
250            16,   5,  23,  11,  13,  12,   9,   9,   5,   8,
251            29,  22,  36,  45,  48,  43,  14,  31,   7,  10,
252            10,   9,  26,  18,  19,   2,  29, 176,   7,   8,
253             9,   4,   8,   5,   7,   5,   6,   8,   8,   3,
254            18,   3,   3,  21,  26,   9,   8,  24,  15,  10,
255             8,  12,  15,  22,  10,  11,  20,  14,   9,   6,
256             7,
257         },
258         // Prayer of Manasses
259         {
260            15,
261         },
262         // Job
263         {
264            22,  18,  26,  21,  27,  30,  22,  22,  35,  22,
265            20,  25,  28,  22,  35,  23,  16,  21,  29,  29,
266            34,  30,  17,  25,   6,  14,  23,  28,  25,  31,
267            40,  22,  33,  37,  16,  34,  24,  41,  35,  32,
268            34,  22,
269         },
270         // Proverbs
271         {
272            35,  23,  38,  28,  23,  40,  28,  37,  25,  33,
273            31,  31,  27,  36,  38,  33,  30,  24,  29,  30,
274            31,  31,  36,  77,  31,  29,  29,  30,  49,  35,
275            31,
276         },
277         // Ecclesiastes
278         {
279            18,  26,  22,  17,  20,  12,  30,  17,  18,  20,
280            10,  14,
281         },
282         // Song of Solomon
283         {
284            17,  17,  11,  16,  17,  13,  14,  15,
285         },
286         // Wisdom
287         {
288            16,  25,  19,  20,  24,  27,  30,  21,  19,  21,
289            27,  27,  19,  31,  19,  29,  21,  25,  22,
290         },
291         // Sirach
292         {
293            30,  18,  31,  31,  15,  37,  36,  19,  18,  31,
294            34,  18,  26,  27,  20,  30,  32,  33,  31,  32,
295            28,  27,  28,  34,  26,  29,  30,  26,  28,  40,
296            31,  26,  33,  31,  26,  31,  31,  35,  35,  30,
297            27,  27,  33,  24,  26,  20,  25,  25,  16,  29,
298            30,
299         },
300         // Hosea
301         {
302            11,  25,   5,  19,  15,  12,  16,  14,  17,  15,
303            12,  15,  16,  10,
304         },
305         // Amos
306         {
307            15,  16,  15,  13,  27,  15,  17,  14,  15,
308         },
309         // Micah
310         {
311            16,  13,  12,  14,  15,  16,  20,
312         },
313         // Joel
314         {
315            20,  32,  21,  21,
316         },
317         // Obadiah
318         {
319            21,
320         },
321         // Jonah
322         {
323            17,  11,  10,  11,
324         },
325         // Nahum
326         {
327            15,  14,  19,
328         },
329         // Habakkuk
330         {
331            17,  20,  19,
332         },
333         // Zephaniah
334         {
335            18,  15,  21,
336         },
337         // Haggai
338         {
339            15,  24,
340         },
341         // Zechariah
342         {
343            21,  17,  11,  14,  11,  15,  14,  23,  17,  12,
344            17,  14,   9,  21,
345         },
346         // Malachi
347         {
348            14,  17,  24,   6,
349         },
350         // Isaiah
351         {
352            31,  22,  26,   6,  30,  13,  25,  23,  21,  34,
353            16,   6,  22,  32,   9,  14,  14,   7,  25,   6,
354            17,  25,  18,  23,  12,  21,  13,  29,  24,  33,
355             9,  20,  24,  17,  10,  22,  38,  22,   8,  31,
356            29,  25,  28,  28,  26,  13,  15,  22,  26,  11,
357            23,  15,  12,  17,  13,  12,  21,  14,  21,  22,
358            11,  12,  20,  12,  25,  24,
359         },
360         // Jeremiah
361         {
362            19,  37,  25,  31,  31,  30,  34,  23,  26,  25,
363            23,  17,  27,  22,  21,  21,  27,  23,  15,  18,
364            14,  30,  42,  10,  39,  28,  46,  64,  31,  33,
365            47,  44,  24,  22,  19,  32,  24,  40,  44,  26,
366            22,  22,  32,  30,  28,  28,  16,  44,  38,  46,
367            63,  34,
368         },
369         // Baruch
370         {
371            22,  35,  38,  37,  9,
372         },
373         // Lamentations
374         {
375            22,  22,  66,  22,  22,
376         },
377         // Epistle of Jeremiah
378         {
379            73,
380         },
381         // Ezekiel
382         {
383            28,  13,  27,  17,  17,  14,  27,  18,  11,  22,
384            25,  28,  23,  23,   8,  63,  24,  32,  14,  49,
385            37,  31,  49,  27,  17,  21,  36,  26,  21,  26,
386            18,  32,  33,  31,  15,  38,  28,  23,  29,  49,
387            26,  20,  27,  31,  25,  24,  23,  35,
388         },
389         // Susanna
390         {
391            64,
392         },
393         // Daniel
394         {
395            21,  49, 100,  37,  31,  29,  28,  27,  27,  21,
396            45,  13,
397         },
398         // Bel and the Dragon
399         {
400            42,
401         },
402         // IV Maccabees
403         {
404            35,  24,  21,  26,  38,  35,  25,  29,  32,  21,
405            27,  20,  27,  20,  32,  25,  24,  24,
406         },
407     };
408 
409     /* protected */ static final int[][] LAST_VERSE_NT =
410     {
411         // Matthew
412         {
413            25,  23,  17,  25,  48,  34,  29,  34,  38,  42,
414            30,  50,  58,  36,  39,  28,  27,  35,  30,  34,
415            46,  46,  39,  51,  46,  75,  66,  20,
416         },
417         // Mark
418         {
419            45,  28,  35,  41,  43,  56,  37,  38,  50,  52,
420            33,  44,  37,  72,  47,  20,
421         },
422         // Luke
423         {
424            80,  52,  38,  44,  39,  49,  50,  56,  62,  42,
425            54,  59,  35,  35,  32,  31,  37,  43,  48,  47,
426            38,  71,  56,  53,
427         },
428         // John
429         {
430            52,  25,  36,  54,  47,  71,  53,  59,  41,  42,
431            57,  50,  38,  31,  27,  33,  26,  40,  42,  31,
432            25,
433         },
434         // Acts
435         {
436            26,  47,  26,  37,  42,  15,  60,  40,  43,  48,
437            30,  25,  52,  28,  41,  40,  34,  28,  41,  38,
438            40,  30,  35,  27,  27,  32,  44,  31,
439         },
440         // Romans
441         {
442            32,  29,  31,  25,  21,  23,  25,  39,  33,  21,
443            36,  21,  14,  26,  33,  27,
444         },
445         // I Corinthians
446         {
447            31,  16,  23,  21,  13,  20,  40,  13,  27,  33,
448            34,  31,  13,  40,  58,  24,
449         },
450         // II Corinthians
451         {
452            24,  17,  18,  18,  21,  18,  16,  24,  15,  18,
453            33,  21,  14,
454         },
455         // Galatians
456         {
457            24,  21,  29,  31,  26,  18,
458         },
459         // Ephesians
460         {
461            23,  22,  21,  32,  33,  24,
462         },
463         // Philippians
464         {
465            30,  30,  21,  23,
466         },
467         // Colossians
468         {
469            29,  23,  25,  18,
470         },
471         // I Thessalonians
472         {
473            10,  20,  13,  18,  28,
474         },
475         // II Thessalonians
476         {
477            12,  17,  18,
478         },
479         // I Timothy
480         {
481            20,  15,  16,  16,  25,  21,
482         },
483         // II Timothy
484         {
485            18,  26,  17,  22,
486         },
487         // Titus
488         {
489            16,  15,  15,
490         },
491         // Philemon
492         {
493            25,
494         },
495         // Hebrews
496         {
497            14,  18,  19,  16,  14,  20,  28,  13,  28,  39,
498            40,  29,  25,
499         },
500         // James
501         {
502            27,  26,  18,  17,  20,
503         },
504         // I Peter
505         {
506            25,  25,  22,  19,  14,
507         },
508         // II Peter
509         {
510            21,  22,  18,
511         },
512         // I John
513         {
514            10,  29,  24,  21,  21,
515         },
516         // II John
517         {
518            13,
519         },
520         // III John
521         {
522            15,
523         },
524         // Jude
525         {
526            25,
527         },
528         // Revelation of John
529         {
530            20,  29,  22,  11,  14,  17,  17,  13,  21,  11,
531            19,  18,  18,  20,   9,  21,  18,  24,  21,  15,
532            27,  21
533         },
534     };
535 
536     /**
537      * Serialization ID
538      */
539     private static final long serialVersionUID = 3365882007485277007L;
540 }
541