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