org.crosswire.jsword.book.sword
Class RawLDBackend

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

public class RawLDBackend
extends AbstractBackend

An implementation KeyBackend to read RAW format files.

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  int datasize
          How many bytes in the size count in the index
private  File datFile
          The data file
private  RandomAccessFile datRaf
          The data random access file
private  File idxFile
          The index file
private  RandomAccessFile idxRaf
          The index random access file
private static Logger log
          The log stream
private static int OFFSETSIZE
          How many bytes in the offset pointers in the index
private static byte SEPARATOR
          Used to separate the key name from the key value
 
Constructor Summary
RawLDBackend(SwordBookMetaData sbmd, int datasize)
          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


SEPARATOR

private static final byte SEPARATOR
Used to separate the key name from the key value

See Also:
Constant Field Values

OFFSETSIZE

private static final int OFFSETSIZE
How many bytes in the offset pointers in the index

See Also:
Constant Field Values

datasize

private int datasize
How many bytes in the size count in the index


datRaf

private RandomAccessFile datRaf
The data random access file


idxRaf

private RandomAccessFile idxRaf
The index random access file


datFile

private File datFile
The data file


idxFile

private File idxFile
The index file


log

private static final Logger log
The log stream

Constructor Detail

RawLDBackend

public RawLDBackend(SwordBookMetaData sbmd,
                    int datasize)
             throws BookException
Simple ctor

Parameters:
datasize - We need to know how many bytes in the size portion of the index
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

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

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.

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