org.crosswire.jsword.book.readings
Class ReadingsBook

java.lang.Object
  extended by org.crosswire.jsword.book.basic.AbstractBook
      extended by org.crosswire.jsword.book.readings.ReadingsBook
All Implemented Interfaces:
Comparable, Activatable, Book, BookMetaData, KeyFactory, PreferredKey

public class ReadingsBook
extends AbstractBook
implements PreferredKey

A Dictionary that displays daily Readings.

Distribution Licence:
JSword is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
The License is available on the internet here, or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
The copyright to this program is held by it's authors.

Version:
$Id: ReadingsBook.java,v 1.25 2005/03/22 12:40:03 dmsmith Exp $
Author:
Joe Walker [joe at eireneh dot com]
See Also:
Licence

Field Summary
private  Key global
          The global key list
private  Map hash
          The store of keys and data
private static String KEYBASE
          The base for the keys in the properties file.
private static Logger log
          The log stream
 
Fields inherited from interface org.crosswire.jsword.book.BookMetaData
KEY_BOOK, KEY_DRIVER, KEY_INDEXSTATUS, KEY_INITIALS, KEY_LANGUAGE, KEY_NAME, KEY_TYPE
 
Constructor Summary
ReadingsBook(ReadingsBookDriver driver, String name, BookType type)
          Constructor for ReadingsBook.
 
Method Summary
 Key createEmptyKeyList()
          Fetch an empty Key to which we can add Keys.
 BookData getData(Key key)
          Retrieval: Add to the given document some mark-up for the specified Verses.
 Key getGlobalKeyList()
          Get a complete list of index entries.
 Key getKey(String name)
          Someone has typed in a reference to find, but we need a Key to actually look it up.
 Key getPreferred()
          What Key would this object like us to use?
 String getRawData(Key key)
          Returns the raw text that getData(Key key) builds into OSIS.
 boolean hasFeature(FeatureType feature)
          Return whether the feature is supported by the book.
 
Methods inherited from class org.crosswire.jsword.book.basic.AbstractBook
activate, addPropertyChangeListener, compareTo, deactivate, equals, find, getBook, getBookMetaData, getDriver, getDriverName, getFullName, getIndexStatus, getInitials, getLanguage, getName, getOsisID, getProperties, getType, hashCode, isLeftToRight, removePropertyChangeListener, setBookMetaData, setIndexStatus, toOSIS, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

global

private Key global
The global key list


KEYBASE

private static final String KEYBASE
The base for the keys in the properties file.

See Also:
Constant Field Values

hash

private Map hash
The store of keys and data


log

private static final Logger log
The log stream

Constructor Detail

ReadingsBook

public ReadingsBook(ReadingsBookDriver driver,
                    String name,
                    BookType type)
Constructor for ReadingsBook.

Method Detail

getPreferred

public Key getPreferred()
Description copied from interface: PreferredKey
What Key would this object like us to use?

Specified by:
getPreferred in interface PreferredKey
Returns:
The preferredKey

getData

public BookData getData(Key key)
                 throws BookException
Description copied from interface: Book
Retrieval: Add to the given document some mark-up for the specified Verses.

Specified by:
getData in interface Book
Parameters:
key - The verses to search for
Returns:
The found Book data
Throws:
BookException - If anything goes wrong with this method

getRawData

public String getRawData(Key key)
                  throws BookException
Description copied from interface: Book
Returns the raw text that getData(Key key) builds into OSIS.

Specified by:
getRawData in interface Book
Parameters:
key - The verses to search for
Returns:
The found Book data
Throws:
BookException - If anything goes wrong with this method

getKey

public Key getKey(String name)
           throws NoSuchKeyException
Description copied from interface: KeyFactory
Someone has typed in a reference to find, but we need a Key to actually look it up. So we create a Key from the string if such a translation is possible. The returned Key may be a BranchKey if the string represents more than one Key.

Specified by:
getKey in interface KeyFactory
Parameters:
name - The string to translate into a Key
Returns:
The Key corresponding to the input text
Throws:
NoSuchKeyException - If the name can not be parsed.

getGlobalKeyList

public Key getGlobalKeyList()
Description copied from interface: KeyFactory
Get a complete list of index entries. Create a Key that encompasses all of the known valid keys for the given context. For a dictionary this will include all of the entries in the dictionary, for a Bible this will probably include all the verses in the Bible, but a commentary may well miss some out.

Specified by:
getGlobalKeyList in interface KeyFactory
Returns:
A Key that includes all of the known Keys

createEmptyKeyList

public Key createEmptyKeyList()
Description copied from interface: KeyFactory
Fetch an empty Key to which we can add Keys. Not all implementations of Key are able to hold any type of Key, It isn't reasonable to expect a Key of Bible verses (=Passage) to hold a dictionary Key. So each KeyFactory must be able to create you an empty Key to which you can safely add other Keys it generates.

Specified by:
createEmptyKeyList in interface KeyFactory
Returns:
An empty Key that can hold other Keys from this factory.

hasFeature

public boolean hasFeature(FeatureType feature)
Description copied from interface: BookMetaData
Return whether the feature is supported by the book.

Specified by:
hasFeature in interface BookMetaData
Overrides:
hasFeature in class AbstractBook

Copyright ? 2003-2004