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   * Copyright: 2012
18   *     The copyright to this program is held by its authors.
19   *
20   */
21  package org.crosswire.jsword.versification.system;
22  
23  import org.crosswire.jsword.versification.BibleBook;
24  import org.crosswire.jsword.versification.Versification;
25  
26  /**
27   *
28   *
29   * @see gnu.lgpl.License The GNU Lesser General Public License for details.
30   * @author DM Smith
31   */
32  public class SystemCatholic extends Versification {
33  
34      /**
35       * Build the "Catholic" Versification.
36       */
37      /* protected */ SystemCatholic() {
38          super(V11N_NAME,  BOOKS_OT,  BOOKS_NT,  LAST_VERSE_OT,  LAST_VERSE_NT);
39      }
40  
41      public static final String V11N_NAME = "Catholic";
42  
43      /* protected */ static final BibleBook[] BOOKS_OT =
44      {
45          BibleBook.GEN,
46          BibleBook.EXOD,
47          BibleBook.LEV,
48          BibleBook.NUM,
49          BibleBook.DEUT,
50          BibleBook.JOSH,
51          BibleBook.JUDG,
52          BibleBook.RUTH,
53          BibleBook.SAM1,
54          BibleBook.SAM2,
55          BibleBook.KGS1,
56          BibleBook.KGS2,
57          BibleBook.CHR1,
58          BibleBook.CHR2,
59          BibleBook.EZRA,
60          BibleBook.NEH,
61          BibleBook.TOB,
62          BibleBook.JDT,
63          BibleBook.ESTH,
64          BibleBook.MACC1,
65          BibleBook.MACC2,
66          BibleBook.JOB,
67          BibleBook.PS,
68          BibleBook.PROV,
69          BibleBook.ECCL,
70          BibleBook.SONG,
71          BibleBook.WIS,
72          BibleBook.SIR,
73          BibleBook.ISA,
74          BibleBook.JER,
75          BibleBook.LAM,
76          BibleBook.BAR,
77          BibleBook.EZEK,
78          BibleBook.DAN,
79          BibleBook.HOS,
80          BibleBook.JOEL,
81          BibleBook.AMOS,
82          BibleBook.OBAD,
83          BibleBook.JONAH,
84          BibleBook.MIC,
85          BibleBook.NAH,
86          BibleBook.HAB,
87          BibleBook.ZEPH,
88          BibleBook.HAG,
89          BibleBook.ZECH,
90          BibleBook.MAL,
91      };
92  
93      /* protected */ static final BibleBook[] BOOKS_NT = SystemDefault.BOOKS_NT;
94  
95      /* protected */ static final int[][] LAST_VERSE_OT =
96      {
97          // Genesis
98          {
99             31,  25,  24,  26,  32,  22,  24,  22,  29,  32,
100            32,  20,  18,  24,  21,  16,  27,  33,  38,  18,
101            34,  24,  20,  67,  34,  35,  46,  22,  35,  43,
102            54,  33,  20,  31,  29,  43,  36,  30,  23,  23,
103            57,  38,  34,  34,  28,  34,  31,  22,  33,  26,
104         },
105         // Exodus
106         {
107            22,  25,  22,  31,  23,  30,  29,  28,  35,  29,
108            10,  51,  22,  31,  27,  36,  16,  27,  25,  26,
109            37,  30,  33,  18,  40,  37,  21,  43,  46,  38,
110            18,  35,  23,  35,  35,  38,  29,  31,  43,  38,
111         },
112         // Leviticus
113         {
114            17,  16,  17,  35,  26,  23,  38,  36,  24,  20,
115            47,   8,  59,  57,  33,  34,  16,  30,  37,  27,
116            24,  33,  44,  23,  55,  46,  34,
117         },
118         // Numbers
119         {
120            54,  34,  51,  49,  31,  27,  89,  26,  23,  36,
121            35,  16,  33,  45,  41,  35,  28,  32,  22,  29,
122            35,  41,  30,  25,  19,  66,  23,  31,  39,  17,
123            54,  42,  56,  29,  34,  13,
124         },
125         // Deuteronomy
126         {
127            46,  37,  29,  49,  33,  25,  26,  20,  29,  22,
128            32,  31,  19,  29,  23,  22,  20,  22,  21,  20,
129            23,  29,  26,  22,  19,  19,  26,  69,  28,  20,
130            30,  52,  29,  12,
131         },
132         // Joshua
133         {
134            18,  24,  17,  24,  15,  27,  26,  35,  27,  43,
135            23,  24,  33,  15,  63,  10,  18,  28,  51,   9,
136            45,  34,  16,  33,
137         },
138         // Judges
139         {
140            36,  23,  31,  24,  32,  40,  25,  35,  57,  18,
141            40,  15,  25,  20,  20,  31,  13,  31,  30,  48,
142            25,
143         },
144         // Ruth
145         {
146            22,  23,  18,  22,
147         },
148         // I Samuel
149         {
150            28,  36,  21,  22,  12,  21,  17,  22,  27,  27,
151            15,  25,  23,  52,  35,  23,  58,  30,  24,  42,
152            16,  23,  28,  23,  44,  25,  12,  25,  11,  31,
153            13,
154         },
155         // II Samuel
156         {
157            27,  32,  39,  12,  25,  23,  29,  18,  13,  19,
158            27,  31,  39,  33,  37,  23,  29,  32,  44,  26,
159            22,  51,  39,  25,
160         },
161         // I Kings
162         {
163            53,  46,  28,  20,  32,  38,  51,  66,  28,  29,
164            43,  33,  34,  31,  34,  34,  24,  46,  21,  43,
165            29,  54,
166         },
167         // II Kings
168         {
169            18,  25,  27,  44,  27,  33,  20,  29,  37,  36,
170            20,  22,  25,  29,  38,  20,  41,  37,  37,  21,
171            26,  20,  37,  20,  30,
172         },
173         // I Chronicles
174         {
175            54,  55,  24,  43,  41,  66,  40,  40,  44,  14,
176            47,  41,  14,  17,  29,  43,  27,  17,  19,   8,
177            30,  19,  32,  31,  31,  32,  34,  21,  30,
178         },
179         // II Chronicles
180         {
181            18,  17,  17,  22,  14,  42,  22,  18,  31,  19,
182            23,  16,  23,  14,  19,  14,  19,  34,  11,  37,
183            20,  12,  21,  27,  28,  23,   9,  27,  36,  27,
184            21,  33,  25,  33,  27,  23,
185         },
186         // Ezra
187         {
188            11,  70,  13,  24,  17,  22,  28,  36,  15,  44,
189         },
190         // Nehemiah
191         {
192            11,  20,  38,  17,  19,  19,  73,  18,  37,  40,
193            36,  47,  31,
194         },
195         // Tobit
196         {
197            22,  14,  17,  21,  23,  19,  17,  21,   6,  14,
198            19,  22,  18,  15,
199         },
200         // Judith
201         {
202            16,  28,  10,  15,  24,  21,  32,  36,  14,  23,
203            23,  20,  20,  19,  14,  25,
204         },
205         // Esther
206         {
207            22,  23,  15,  17,  14,  14,  10,  17,  32,   3,
208         },
209         // I Maccabees
210         {
211            64,  70,  60,  61,  68,  63,  50,  32,  73,  89,
212            74,  54,  53,  49,  41,  24,
213         },
214         // II Maccabees
215         {
216            36,  32,  40,  50,  27,  31,  42,  36,  29,  38,
217            38,  46,  26,  46,  39,
218         },
219         // Job
220         {
221            22,  13,  26,  21,  27,  30,  21,  22,  35,  22,
222            20,  25,  28,  22,  35,  22,  16,  21,  29,  29,
223            34,  30,  17,  25,  14,  14,  24,  28,  25,  31,
224            40,  22,  33,  37,  16,  33,  24,  41,  30,  32,
225            26,  17,
226         },
227         // Psalms
228         {
229             6,  12,   9,   9,  13,  11,  18,  10,  21,  18,
230             7,   9,   6,   7,   5,  11,  15,  51,  15,  10,
231            14,  32,   6,  10,  22,  12,  14,   9,  11,  13,
232            25,  11,  22,  23,  28,  13,  40,  23,  14,  18,
233            14,  12,   5,  27,  18,  12,  10,  15,  21,  24,
234            21,  11,   7,   9,  24,  14,  12,  12,  18,  14,
235             9,  13,  12,  11,  14,  20,   8,  36,  37,   6,
236            24,  20,  28,  23,  11,  13,  21,  72,  13,  20,
237            17,   8,  19,  13,  14,  17,   7,  19,  53,  17,
238            16,  16,   5,  23,  11,  13,  12,   9,   9,   5,
239             9,  29,  22,  35,  45,  48,  43,  14,  31,   7,
240            10,  10,   9,   8,  18,  19,   2,  29, 176,   7,
241             8,   9,   4,   8,   5,   6,   5,   6,   8,   8,
242             3,  18,   3,   3,  21,  26,   9,   8,  24,  14,
243            10,   8,  12,  15,  21,  10,  20,  14,   9,   6,
244         },
245         // Proverbs
246         {
247            33,  22,  35,  27,  23,  35,  27,  36,  18,  32,
248            31,  28,  25,  35,  33,  33,  28,  24,  29,  30,
249            31,  29,  35,  34,  28,  28,  27,  28,  27,  33,
250            31,
251         },
252         // Ecclesiastes
253         {
254            18,  26,  22,  17,  19,  12,  29,  17,  18,  20,
255            10,  14,
256         },
257         // Song of Solomon
258         {
259            17,  17,  11,  17,  16,  12,  14,  14,
260         },
261         // Wisdom
262         {
263            16,  24,  19,  20,  23,  25,  30,  21,  19,  21,
264            26,  27,  19,  31,  19,  29,  21,  25,  22,
265         },
266         // Sirach
267         {
268            30,  18,  31,  31,  17,  37,  36,  19,  18,  31,
269            34,  18,  26,  27,  20,  30,  32,  33,  30,  32,
270            28,  27,  28,  34,  26,  29,  30,  26,  28,  25,
271            31,  24,  33,  31,  26,  31,  31,  34,  35,  30,
272            27,  25,  35,  23,  26,  20,  25,  25,  16,  29,
273            30,
274         },
275         // Isaiah
276         {
277            31,  22,  26,   6,  30,  13,  25,  24,  21,  34,
278            16,   6,  22,  32,   9,  14,  14,   7,  25,   6,
279            17,  25,  18,  23,  12,  21,  13,  29,  24,  33,
280             9,  20,  24,  17,  10,  22,  38,  22,   8,  31,
281            29,  25,  28,  28,  25,  13,  15,  22,  26,  11,
282            23,  15,  12,  17,  13,  12,  21,  14,  21,  22,
283            11,  12,  19,  11,  25,  24,
284         },
285         // Jeremiah
286         {
287            19,  37,  25,  31,  31,  30,  34,  23,  25,  25,
288            23,  17,  27,  22,  21,  21,  27,  23,  15,  18,
289            14,  30,  40,  10,  38,  24,  22,  17,  32,  24,
290            40,  44,  26,  22,  19,  32,  21,  28,  18,  16,
291            18,  22,  13,  30,   5,  28,   7,  47,  39,  46,
292            64,  34,
293         },
294         // Lamentations
295         {
296            22,  22,  66,  22,  22,
297         },
298         // Baruch
299         {
300            22,  35,  38,  37,  9,  72,
301         },
302         // Ezekiel
303         {
304            28,  10,  27,  17,  17,  14,  27,  18,  11,  22,
305            25,  28,  23,  23,   8,  63,  24,  32,  14,  44,
306            37,  31,  49,  27,  17,  21,  36,  26,  21,  26,
307            18,  32,  33,  31,  15,  38,  28,  23,  29,  49,
308            26,  20,  27,  31,  25,  24,  23,  35,
309         },
310         // Daniel
311         {
312            21,  49, 100,  34,  30,  29,  28,  27,  27,  21,
313            45,  13,  64,  43,
314         },
315         // Hosea
316         {
317             9,  25,   5,  19,  15,  11,  16,  14,  17,  15,
318            11,  15,  15,  10,
319         },
320         // Joel
321         {
322            20,  27,   5,  21,
323         },
324         // Amos
325         {
326            15,  16,  15,  13,  27,  14,  17,  14,  15,
327         },
328         // Obadiah
329         {
330            21,
331         },
332         // Jonah
333         {
334            16,  11,  10,  11,
335         },
336         // Micah
337         {
338            16,  13,  12,  14,  14,  16,  20,
339         },
340         // Nahum
341         {
342            14,  14,  19,
343         },
344         // Habakkuk
345         {
346            17,  20,  19,
347         },
348         // Zephaniah
349         {
350            18,  15,  20,
351         },
352         // Haggai
353         {
354            15,  23,
355         },
356         // Zechariah
357         {
358            17,  17,  10,  16,  11,  15,  14,  23,  17,  12,
359            17,  14,   9,  21,
360         },
361         // Malachi
362         {
363            14,  17,  24,
364         },
365     };
366 
367     /* protected */ static final int[][] LAST_VERSE_NT =
368     {
369         // Matthew
370         {
371            25,  23,  17,  25,  48,  34,  29,  34,  38,  42,
372            30,  50,  58,  36,  39,  28,  27,  35,  30,  34,
373            46,  46,  39,  51,  46,  75,  66,  20,
374         },
375         // Mark
376         {
377            45,  28,  35,  41,  43,  56,  37,  38,  50,  52,
378            33,  44,  37,  72,  47,  20,
379         },
380         // Luke
381         {
382            80,  52,  38,  44,  39,  49,  50,  56,  62,  42,
383            54,  59,  35,  35,  32,  31,  37,  43,  48,  47,
384            38,  71,  56,  53,
385         },
386         // John
387         {
388            51,  25,  36,  54,  47,  71,  53,  59,  41,  42,
389            57,  50,  38,  31,  27,  33,  26,  40,  42,  31,
390            25,
391         },
392         // Acts
393         {
394            26,  47,  26,  37,  42,  15,  60,  40,  43,  49,
395            30,  25,  52,  28,  41,  40,  34,  28,  41,  38,
396            40,  30,  35,  27,  27,  32,  44,  31,
397         },
398         // Romans
399         {
400            32,  29,  31,  25,  21,  23,  25,  39,  33,  21,
401            36,  21,  14,  23,  33,  27,
402         },
403         // I Corinthians
404         {
405            31,  16,  23,  21,  13,  20,  40,  13,  27,  33,
406            34,  31,  13,  40,  58,  24,
407         },
408         // II Corinthians
409         {
410            24,  17,  18,  18,  21,  18,  16,  24,  15,  18,
411            33,  21,  13,
412         },
413         // Galatians
414         {
415            24,  21,  29,  31,  26,  18,
416         },
417         // Ephesians
418         {
419            23,  22,  21,  32,  33,  24,
420         },
421         // Philippians
422         {
423            30,  30,  21,  23,
424         },
425         // Colossians
426         {
427            29,  23,  25,  18,
428         },
429         // I Thessalonians
430         {
431            10,  20,  13,  18,  28,
432         },
433         // II Thessalonians
434         {
435            12,  17,  18,
436         },
437         // I Timothy
438         {
439            20,  15,  16,  16,  25,  21,
440         },
441         // II Timothy
442         {
443            18,  26,  17,  22,
444         },
445         // Titus
446         {
447            16,  15,  15,
448         },
449         // Philemon
450         {
451            25,
452         },
453         // Hebrews
454         {
455            14,  18,  19,  16,  14,  20,  28,  13,  28,  39,
456            40,  29,  25,
457         },
458         // James
459         {
460            27,  26,  18,  17,  20,
461         },
462         // I Peter
463         {
464            25,  25,  22,  19,  14,
465         },
466         // II Peter
467         {
468            21,  22,  18,
469         },
470         // I John
471         {
472            10,  29,  24,  21,  21,
473         },
474         // II John
475         {
476            13,
477         },
478         // III John
479         {
480            15,
481         },
482         // Jude
483         {
484            25,
485         },
486         // Revelation of John
487         {
488            20,  29,  22,  11,  14,  17,  17,  13,  21,  11,
489            19,  18,  18,  20,   8,  21,  18,  24,  21,  15,
490            27,  21,
491         },
492     };
493 
494     /**
495      * Serialization ID
496      */
497     private static final long serialVersionUID = -2425837859408015667L;
498 }
499