org.crosswire.jsword.book.sword
Class RawBackend

java.lang.Object
  extended by org.crosswire.jsword.book.sword.AbstractBackend
      extended by org.crosswire.jsword.book.sword.RawBackend
All Implemented Interfaces:
Activatable

public class RawBackend
extends AbstractBackend

Both Books and Commentaries seem to use the same format so this class abstracts out the similarities.

Author:
Joe Walker [joe at eireneh dot com]
See Also:
for license details. The copyright to this program is held by it's authors.

Field Summary
private  boolean active
          Are we active
private static int ENTRY_SIZE
          How many bytes in an index?
private  File[] idxFile
          The array of index random access files
private  RandomAccessFile[] idxRaf
          The array of index files
private static Logger log
          The log stream
private  File[] txtFile
          The array of data random access files
private  RandomAccessFile[] txtRaf
          The array of data files
 
Constructor Summary
RawBackend(SwordBookMetaData sbmd)
          Simple ctor
 
Method Summary
 void activate(Lock lock)
          Called to indicate that the Book should initialize itself, and consume whatever system resources it needs to be able to respond to other queries.
protected  void checkActive()
          Helper method so we can quickly activate ourselves on access
 void deactivate(Lock lock)
          Called to indicate that the Book should release whatever system resources it can to make way for other uses.
 String getRawText(Key key)
          Get the bytes alotted for the given verse
 boolean isSupported()
          Returns whether this AbstractBackend is implemented.
 Key readIndex()
          Initialise a AbstractBackend before use.
 
Methods inherited from class org.crosswire.jsword.book.sword.AbstractBackend
decipher, getBookMetaData, getExpandedDataPath
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

active

private boolean active
Are we active


log

private static final Logger log
The log stream


idxRaf

private RandomAccessFile[] idxRaf
The array of index files


txtRaf

private RandomAccessFile[] txtRaf
The array of data files


idxFile

private File[] idxFile
The array of index random access files


txtFile

private File[] txtFile
The array of data random access files


ENTRY_SIZE

private static final int ENTRY_SIZE
How many bytes in an index?

See Also:
Constant Field Values
Constructor Detail

RawBackend

public RawBackend(SwordBookMetaData sbmd)
           throws BookException
Simple ctor

Throws:
BookException
Method Detail

activate

public final void activate(Lock lock)
Description copied from interface: Activatable
Called to indicate that the Book should initialize itself, and consume whatever system resources it needs to be able to respond to other queries.

Parameters:
lock - An attempt to ensure that only the Activator calls this method

deactivate

public final void deactivate(Lock lock)
Description copied from interface: Activatable
Called to indicate that the Book should release whatever system resources it can to make way for other uses.

Parameters:
lock - An attempt to ensure that only the Activator calls this method

getRawText

public String getRawText(Key key)
                  throws BookException
Description copied from class: AbstractBackend
Get the bytes alotted for the given verse

Specified by:
getRawText in class AbstractBackend
Parameters:
key - The key to fetch
Returns:
String The data for the verse in question
Throws:
BookException - If the data can not be read.

readIndex

public Key readIndex()
Description copied from class: AbstractBackend
Initialise a AbstractBackend before use. This method needs to call addKey() a number of times on SwordDictionary

Specified by:
readIndex in class AbstractBackend

isSupported

public boolean isSupported()
Description copied from class: AbstractBackend
Returns whether this AbstractBackend is implemented.

Specified by:
isSupported in class AbstractBackend
Returns:
true if this AbstractBackend is implemented.

checkActive

protected final void checkActive()
Helper method so we can quickly activate ourselves on access


Copyright ยจ 2003-2006