| KeyType.java |
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: 2005
18 * The copyright to this program is held by it's authors.
19 *
20 * ID: $Id: CaseType.java 1890 2008-07-09 12:15:15Z dmsmith $
21 */
22 package org.crosswire.jsword.book;
23
24
25 /**
26 * Types of Key that a Book uses, either verse, list, or tree.
27 *
28 * @see gnu.lgpl.License for license details.<br>
29 * The copyright to this program is held by it's authors.
30 * @author DM Smith [dmsmith555 at yahoo dot com]
31 */
32 public enum KeyType {
33 /**
34 * Book contains verses and can be understood as book, chapter and verse.
35 */
36 VERSE,
37
38 /**
39 * Book organizes its entries in a list, as in a dictionary.
40 */
41 LIST,
42
43 /**
44 * Book organizes its entries in a tree, as in a general book.
45 */
46 TREE;
47
48 /**
49 * Get an integer representation for this CaseType
50 */
51 public int toInteger() {
52 return ordinal();
53 }
54
55 /**
56 * Lookup method to convert from a String
57 */
58 public static KeyType fromString(String name) {
59 for (KeyType v : values()) {
60 if (v.name().equalsIgnoreCase(name)) {
61 return v;
62 }
63 }
64
65 // cannot get here
66 assert false;
67 return null;
68 }
69
70 }
71