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 as published by
5    * the Free Software Foundation. This program is distributed in the hope
6    * that it will be useful, but WITHOUT ANY WARRANTY; without even the
7    * 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 it's authors.
19   *
20   * ID: $Id: SystemKJVA.java 2223 2012-01-26 21:28:02Z dmsmith $
21   */
22  package org.crosswire.jsword.versification.system;
23  
24  import org.crosswire.jsword.versification.BibleBook;
25  import org.crosswire.jsword.versification.Versification;
26  
27  /**
28   *
29   *
30   * @see gnu.lgpl.License for license details.<br>
31   *      The copyright to this program is held by it's authors.
32   * @author DM Smith [dmsmith555 at yahoo dot com]
33   */
34  public class SystemKJVA extends Versification {
35      /**
36       * Build the "KJVA" Versification.
37       */
38      /* protected */ SystemKJVA() {
39          super(V11N_NAME, BOOKS_OT, BOOKS_NT, LAST_VERSE_OT, LAST_VERSE_NT);
40      }
41  
42      public static final String V11N_NAME = "KJVA";
43  
44      /* protected */ static final BibleBook[] BOOKS_NT = SystemDefault.BOOKS_NT;
45      /* protected */ static final int[][] LAST_VERSE_NT = SystemKJV.LAST_VERSE_NT;
46  
47      // SystemDefault.booksOT followed by
48      // deuterocanonical books
49      /* protected */ static final BibleBook[] BOOKS_OT =
50      {
51          BibleBook.GEN,
52          BibleBook.EXOD,
53          BibleBook.LEV,
54          BibleBook.NUM,
55          BibleBook.DEUT,
56          BibleBook.JOSH,
57          BibleBook.JUDG,
58          BibleBook.RUTH,
59          BibleBook.SAM1,
60          BibleBook.SAM2,
61          BibleBook.KGS1,
62          BibleBook.KGS2,
63          BibleBook.CHR1,
64          BibleBook.CHR2,
65          BibleBook.EZRA,
66          BibleBook.NEH,
67          BibleBook.ESTH,
68          BibleBook.JOB,
69          BibleBook.PS,
70          BibleBook.PROV,
71          BibleBook.ECCL,
72          BibleBook.SONG,
73          BibleBook.ISA,
74          BibleBook.JER,
75          BibleBook.LAM,
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          BibleBook.ESD1,
91          BibleBook.ESD2,
92          BibleBook.TOB,
93          BibleBook.JDT,
94          BibleBook.ADD_ESTH,
95          BibleBook.WIS,
96          BibleBook.SIR,
97          BibleBook.BAR,
98          BibleBook.PR_AZAR,
99          BibleBook.SUS,
100         BibleBook.BEL,
101         BibleBook.PR_MAN,
102         BibleBook.MACC1,
103         BibleBook.MACC2,
104     };
105 
106     /* protected */ static final int[][] LAST_VERSE_OT =
107     {
108         // Gen
109         {
110                31,    25,    24,    26,    32,    22,    24,    22,    29,
111                32,    32,    20,    18,    24,    21,    16,    27,    33,    38,
112                18,    34,    24,    20,    67,    34,    35,    46,    22,    35,
113                43,    55,    32,    20,    31,    29,    43,    36,    30,    23,
114                23,    57,    38,    34,    34,    28,    34,    31,    22,    33,
115                26,
116         },
117         // Exod
118         {
119                22,    25,    22,    31,    23,    30,    25,    32,    35,
120                29,    10,    51,    22,    31,    27,    36,    16,    27,    25,
121                26,    36,    31,    33,    18,    40,    37,    21,    43,    46,
122                38,    18,    35,    23,    35,    35,    38,    29,    31,    43,
123                38,
124         },
125         // Lev
126         {
127                17,    16,    17,    35,    19,    30,    38,    36,    24,
128                20,    47,     8,    59,    57,    33,    34,    16,    30,    37,
129                27,    24,    33,    44,    23,    55,    46,    34,
130         },
131         // Num
132         {
133                54,    34,    51,    49,    31,    27,    89,    26,    23,
134                36,    35,    16,    33,    45,    41,    50,    13,    32,    22,
135                29,    35,    41,    30,    25,    18,    65,    23,    31,    40,
136                16,    54,    42,    56,    29,    34,    13,
137         },
138         // Deut
139         {
140                46,    37,    29,    49,    33,    25,    26,    20,    29,
141                22,    32,    32,    18,    29,    23,    22,    20,    22,    21,
142                20,    23,    30,    25,    22,    19,    19,    26,    68,    29,
143                20,    30,    52,    29,    12,
144         },
145         // Josh
146         {
147                18,    24,    17,    24,    15,    27,    26,    35,    27,
148                43,    23,    24,    33,    15,    63,    10,    18,    28,    51,
149                 9,    45,    34,    16,    33,
150         },
151         // Judg
152         {
153                36,    23,    31,    24,    31,    40,    25,    35,    57,
154                18,    40,    15,    25,    20,    20,    31,    13,    31,    30,
155                48,    25,
156         },
157         // Ruth
158         {
159                22,    23,    18,    22,
160         },
161         // 1Sam
162         {
163                28,    36,    21,    22,    12,    21,    17,    22,    27,
164                27,    15,    25,    23,    52,    35,    23,    58,    30,    24,
165                42,    15,    23,    29,    22,    44,    25,    12,    25,    11,
166                31,    13,
167         },
168         // 2Sam
169         {
170                27,    32,    39,    12,    25,    23,    29,    18,    13,
171                19,    27,    31,    39,    33,    37,    23,    29,    33,    43,
172                26,    22,    51,    39,    25,
173         },
174         // 1Kgs
175         {
176                53,    46,    28,    34,    18,    38,    51,    66,    28,
177                29,    43,    33,    34,    31,    34,    34,    24,    46,    21,
178                43,    29,    53,
179         },
180         // 2Kgs
181         {
182                18,    25,    27,    44,    27,    33,    20,    29,    37,
183                36,    21,    21,    25,    29,    38,    20,    41,    37,    37,
184                21,    26,    20,    37,    20,    30,
185         },
186         // 1Chr
187         {
188                54,    55,    24,    43,    26,    81,    40,    40,    44,
189                14,    47,    40,    14,    17,    29,    43,    27,    17,    19,
190                 8,    30,    19,    32,    31,    31,    32,    34,    21,    30,
191         },
192         // 2Chr
193         {
194                17,    18,    17,    22,    14,    42,    22,    18,    31,
195                19,    23,    16,    22,    15,    19,    14,    19,    34,    11,
196                37,    20,    12,    21,    27,    28,    23,     9,    27,    36,
197                27,    21,    33,    25,    33,    27,    23,
198         },
199         // Ezra
200         {
201                11,    70,    13,    24,    17,    22,    28,    36,    15,
202                44,
203         },
204         // Neh
205         {
206                11,    20,    32,    23,    19,    19,    73,    18,    38,
207                39,    36,    47,    31,
208         },
209         // Esth
210         {
211                22,    23,    15,    17,    14,    14,    10,    17,    32,
212                 3,
213         },
214         // Job
215         {
216                22,    13,    26,    21,    27,    30,    21,    22,    35,
217                22,    20,    25,    28,    22,    35,    22,    16,    21,    29,
218                29,    34,    30,    17,    25,     6,    14,    23,    28,    25,
219                31,    40,    22,    33,    37,    16,    33,    24,    41,    30,
220                24,    34,    17,
221         },
222         // Ps
223         {
224                 6,    12,     8,     8,    12,    10,    17,     9,    20,
225                18,     7,     8,     6,     7,     5,    11,    15,    50,    14,
226                 9,    13,    31,     6,    10,    22,    12,    14,     9,    11,
227                12,    24,    11,    22,    22,    28,    12,    40,    22,    13,
228                17,    13,    11,     5,    26,    17,    11,     9,    14,    20,
229                23,    19,     9,     6,     7,    23,    13,    11,    11,    17,
230                12,     8,    12,    11,    10,    13,    20,     7,    35,    36,
231                 5,    24,    20,    28,    23,    10,    12,    20,    72,    13,
232                19,    16,     8,    18,    12,    13,    17,     7,    18,    52,
233                17,    16,    15,     5,    23,    11,    13,    12,     9,     9,
234                 5,     8,    28,    22,    35,    45,    48,    43,    13,    31,
235                 7,    10,    10,     9,     8,    18,    19,     2,    29,   176,
236                 7,     8,     9,     4,     8,     5,     6,     5,     6,     8,
237                 8,     3,    18,     3,     3,    21,    26,     9,     8,    24,
238                13,    10,     7,    12,    15,    21,    10,    20,    14,     9,
239                 6,
240         },
241         // Prov
242         {
243                33,    22,    35,    27,    23,    35,    27,    36,    18,
244                32,    31,    28,    25,    35,    33,    33,    28,    24,    29,
245                30,    31,    29,    35,    34,    28,    28,    27,    28,    27,
246                33,    31,
247         },
248         // Eccl
249         {
250                18,    26,    22,    16,    20,    12,    29,    17,    18,
251                20,    10,    14,
252         },
253         // Song
254         {
255                17,    17,    11,    16,    16,    13,    13,    14,
256         },
257         // Isa
258         {
259                31,    22,    26,     6,    30,    13,    25,    22,    21,
260                34,    16,     6,    22,    32,     9,    14,    14,     7,    25,
261                 6,    17,    25,    18,    23,    12,    21,    13,    29,    24,
262                33,     9,    20,    24,    17,    10,    22,    38,    22,     8,
263                31,    29,    25,    28,    28,    25,    13,    15,    22,    26,
264                11,    23,    15,    12,    17,    13,    12,    21,    14,    21,
265                       22,    11,    12,    19,    12,    25,    24,
266         },
267         // Jer
268         {
269                19,    37,    25,    31,    31,    30,    34,    22,    26,
270                25,    23,    17,    27,    22,    21,    21,    27,    23,    15,
271                18,    14,    30,    40,    10,    38,    24,    22,    17,    32,
272                24,    40,    44,    26,    22,    19,    32,    21,    28,    18,
273                16,    18,    22,    13,    30,     5,    28,     7,    47,    39,
274                46,    64,    34,
275         },
276         // Lam
277         {
278                22,    22,    66,    22,    22,
279         },
280         // Ezek
281         {
282                28,    10,    27,    17,    17,    14,    27,    18,    11,
283                22,    25,    28,    23,    23,     8,    63,    24,    32,    14,
284                49,    32,    31,    49,    27,    17,    21,    36,    26,    21,
285                26,    18,    32,    33,    31,    15,    38,    28,    23,    29,
286                49,    26,    20,    27,    31,    25,    24,    23,    35,
287         },
288         // Dan
289         {
290                21,    49,    30,    37,    31,    28,    28,    27,    27,
291                21,    45,    13,
292         },
293         // Hos
294         {
295                11,    23,     5,    19,    15,    11,    16,    14,    17,
296                15,    12,    14,    16,     9,
297         },
298         // Joel
299         {
300                20,    32,    21,
301         },
302         // Amos
303         {
304                15,    16,    15,    13,    27,    14,    17,    14,    15,
305         },
306         // Obad
307         {
308                21,
309         },
310         // Jonah
311         {
312                17,    10,    10,    11,
313         },
314         // Mic
315         {
316                16,    13,    12,    13,    15,    16,    20,
317         },
318         // Nah
319         {
320                15,    13,    19,
321         },
322         // Hab
323         {
324                17,    20,    19,
325         },
326         // Zeph
327         {
328                18,    15,    20,
329         },
330         // Hag
331         {
332                15,    23,
333         },
334         // Zech
335         {
336                21,    13,    10,    14,    11,    15,    14,    23,    17,
337                12,    17,    14,     9,    21,
338         },
339         // Mal
340         {
341                14,    17,    18,     6,
342         },
343         // I Esdras
344         {
345                58,    30,    24,    63,    73,    34,    15,    96,    55,
346         },
347         // II Esdras
348         {
349                40,    48,    36,    52,    56,    59,    70,    63,    47,
350                59,    46,    51,    58,    48,    63,    78,
351         },
352         // Tobit
353         {
354                22,    14,    17,    21,    22,    17,    18,    21,     6,
355                12,    19,    22,    18,    15,
356         },
357         // Judith
358         {
359                16,    28,    10,    15,    24,    21,    32,    36,    14,
360                23,    23,    20,    20,    19,    13,    25,
361         },
362         // Additions to Esther
363         {
364                 1,     1,     1,     1,     1,     1,     1,     1,     1,
365                13,    12,     6,    18,    19,    16,    24,
366         },
367         // Wisdom
368         {
369                16,    24,    19,    20,    23,    25,    30,    21,    18,
370                21,    26,    27,    19,    31,    19,    29,    21,    25,    22,
371         },
372         // Sirach
373         {
374                30,    18,    31,    31,    15,    37,    36,    19,    18,
375                31,    34,    18,    26,    27,    20,    30,    32,    33,    30,
376                32,    28,    27,    28,    34,    26,    29,    30,    26,    28,
377                25,    31,    24,    31,    26,    20,    26,    31,    34,    35,
378                30,    24,    25,    33,    22,    26,    20,    25,    25,    16,
379                29,    30,
380         },
381         // Baruch
382         {
383                22,    35,    37,    37,     9,    73,
384         },
385         // Prayer of Azariah
386         {
387                68,
388         },
389         // Susanna
390         {
391                64,
392         },
393         // Bel and the Dragon
394         {
395                42,
396         },
397         // Prayer of Manasses
398         {
399                 1,
400         },
401         // I Maccabees
402         {
403                64,    70,    60,    61,    68,    63,    50,    32,    73,
404               89,     74,    53,    53,    49,    41,    24,
405         },
406         // II Maccabees
407         {
408               36,    32,    40,    50,    27,    31,    42,    36,    29,
409               38,    38,    45,    26,    46,    39,
410         },
411     };
412 
413     /**
414      * Serialization ID
415      */
416     private static final long serialVersionUID = 1054681694714921358L;
417 }
418