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 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, 2005 - 2016 18 * 19 */ 20 package org.crosswire.jsword.book; 21 22 23 /** 24 * Types of Key that a Book uses, either verse, list, or tree. 25 * 26 * @see gnu.lgpl.License The GNU Lesser General Public License for details. 27 * @author DM Smith 28 */ 29 public enum KeyType { 30 /** 31 * Book contains verses and can be understood as book, chapter and verse. 32 */ 33 VERSE, 34 35 /** 36 * Book organizes its entries in a list, as in a dictionary. 37 */ 38 LIST, 39 40 /** 41 * Book organizes its entries in a tree, as in a general book. 42 */ 43 TREE; 44 45 /** 46 * Get an integer representation for this KeyType 47 * 48 * @return the ordinal of a KeyType 49 */ 50 public int toInteger() { 51 return ordinal(); 52 } 53 54 /** 55 * Lookup method to convert from a String 56 * 57 * @param name the name of a KeyType 58 * @return the matching KeyType 59 */ 60 public static KeyType fromString(String name) { 61 for (KeyType v : values()) { 62 if (v.name().equalsIgnoreCase(name)) { 63 return v; 64 } 65 } 66 67 // cannot get here 68 assert false; 69 return null; 70 } 71 72 } 73