|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.crosswire.jsword.book.sword.AbstractBackend
org.crosswire.jsword.book.sword.RawBackend
public class RawBackend
Both Books and Commentaries seem to use the same format so this class abstracts out the similarities.
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 int |
entrysize
The number of bytes for each entry in the index: either 6 or 8 |
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 static int |
OFFSETSIZE
How many bytes in the offset pointers in the index |
private File[] |
txtFile
The array of data random access files |
private RandomAccessFile[] |
txtRaf
The array of data files |
Constructor Summary | |
---|---|
RawBackend(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 |
boolean |
contains(Key key)
|
void |
create(String path)
|
void |
deactivate(Lock lock)
Called to indicate that the Book should release whatever system resources it can to make way for other uses. |
private String |
getEntry(String name,
int testament,
long index)
Get the text for an indexed entry in the book. |
private DataIndex |
getIndex(RandomAccessFile raf,
long entry)
Get the Index (that is offset and size) for an entry. |
String |
getRawText(Key key)
Get the text allotted for the given entry |
boolean |
isWritable()
A Backend is writable if the file system allows the underlying files to be opened for writing and if the backend has implemented writing. |
Methods inherited from class org.crosswire.jsword.book.sword.AbstractBackend |
---|
decipher, encipher, getBookMetaData, getExpandedDataPath, isSupported, readIndex, setRawText |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private boolean active
private int datasize
private int entrysize
private static final Logger log
private RandomAccessFile[] idxRaf
private RandomAccessFile[] txtRaf
private File[] idxFile
private File[] txtFile
private static final int OFFSETSIZE
Constructor Detail |
---|
public RawBackend(SwordBookMetaData sbmd, int datasize)
Method Detail |
---|
public boolean contains(Key key)
contains
in class AbstractBackend
public String getRawText(Key key) throws BookException
AbstractBackend
getRawText
in class AbstractBackend
key
- The key to fetch
BookException
- If the data can not be read.public boolean isWritable()
AbstractBackend
isWritable
in class AbstractBackend
public void create(String path)
public final void activate(Lock lock)
Activatable
lock
- An attempt to ensure that only the Activator calls this methodpublic final void deactivate(Lock lock)
Activatable
lock
- An attempt to ensure that only the Activator calls this methodprotected final void checkActive()
private DataIndex getIndex(RandomAccessFile raf, long entry) throws IOException
entry
-
IOException
private String getEntry(String name, int testament, long index) throws IOException
index
- the entry to get
IOException
|
Copyright ยจ 2003-2007 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |