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