public abstract class AbstractPassageBook extends AbstractBook
The GNU Lesser General Public License for details.
The copyright to this program is held by its authors.
Modifier and Type | Field and Description |
---|---|
private Set<BibleBook> |
bibleBooks
lazy of cache of bible books contained in the Book
|
private PassageKeyFactory |
keyf
Our key manager
|
private static org.slf4j.Logger |
log
The log stream
|
private String |
versification
The name of the versification or null
|
private Versification |
versificationSystem
Versification system, created lazily, so use getter
|
Constructor and Description |
---|
AbstractPassageBook(BookMetaData bmd,
Backend backend)
Construct an AbstractPassageBook given the BookMetaData and the AbstractBackend.
|
Modifier and Type | Method and Description |
---|---|
void |
addOSIS(Key key,
org.jdom2.Element div,
List<org.jdom2.Content> osisContent)
Add the OSIS elements to the div element.
|
void |
addOSIS(Key key,
List<org.jdom2.Content> content,
List<org.jdom2.Content> osisContent)
Add the OSIS elements to the content list.
|
private Set<BibleBook> |
calculateBibleBookList()
Iterate all books checking if document contains a verse from the book
|
Key |
createEmptyKeyList()
Fetch an empty Key to which we can add Keys.
|
private Set<BibleBook> |
fromString(String list) |
Set<BibleBook> |
getBibleBooks()
This implementation lazily inits, saves to the JSword conf file and also caches the book list for future use.
|
private Set<BibleBook> |
getBibleBooksInternal()
Obtains the set of bible books from the internal configuration file, creating it if required.
|
protected abstract SourceFilter |
getFilter()
What filter should be used to filter data in the format produced by this
Book?.
|
Key |
getKey(String text)
Someone has typed in a reference to find, but we need a Key to actually
look it up.
|
Iterator<org.jdom2.Content> |
getOsisIterator(Key key,
boolean allowEmpty,
boolean allowGenTitles)
Return an iterator that returns each key's OSIS in turn.
|
Key |
getValidKey(String name)
Get a Key for the name, if possible.
|
Versification |
getVersification() |
boolean |
isWritable()
A Book is writable if the file system allows the underlying files to be
opened for writing and if the driver for the book allows writing.
|
void |
setDocument(Key key,
BookData bdata)
For when we want to add writing functionality.
|
private String |
toString(Set<BibleBook> books) |
activate, addIndexStatusListener, compareTo, deactivate, equals, find, find, firePropertyChange, getAbbreviation, getBackend, getBook, getBookCategory, getBookMetaData, getDriver, getDriverName, getIndexStatus, getInitials, getLanguage, getName, getOsis, getOsisID, getProperty, getPropertyKeys, getScope, getUnlockKey, hasFeature, hashCode, isEnciphered, isLeftToRight, isLocked, isQuestionable, isSupported, match, putProperty, putProperty, removeIndexStatusListener, setBookMetaData, setIndexStatus, toOSIS, toString, unlock
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
contains, getGlobalKeyList, getRawText, setAliasKey, setRawText
private String versification
private Versification versificationSystem
private PassageKeyFactory keyf
private volatile Set<BibleBook> bibleBooks
private static final org.slf4j.Logger log
public AbstractPassageBook(BookMetaData bmd, Backend backend)
bmd
- the metadata that describes the bookbackend
- the means by which the resource is accessedpublic Iterator<org.jdom2.Content> getOsisIterator(Key key, boolean allowEmpty, boolean allowGenTitles) throws BookException
Book
key
- the Items to locateallowEmpty
- indicates whether empty keys should be present.allowGenTitles
- indicates whether to generate titlesBookException
- If anything goes wrong with this methodpublic void addOSIS(Key key, org.jdom2.Element div, List<org.jdom2.Content> osisContent)
key
- The key being addeddiv
- The div element to which the key's OSIS representation is
being addedosisContent
- The OSIS representation of the key being added.public void addOSIS(Key key, List<org.jdom2.Content> content, List<org.jdom2.Content> osisContent)
key
- The key being addedcontent
- The list to which the key's OSIS representation is being addedosisContent
- The OSIS representation of the key being added.protected abstract SourceFilter getFilter()
public void setDocument(Key key, BookData bdata) throws BookException
key
- bdata
- BookException
public boolean isWritable()
Book
public final Key createEmptyKeyList()
Book
public Key getValidKey(String name)
Book
name
- The string to translate into a Keypublic final Key getKey(String text) throws NoSuchKeyException
Book
text
- The string to translate into a KeyNoSuchKeyException
- If the name can not be parsed.public Versification getVersification()
public Set<BibleBook> getBibleBooks()
private Set<BibleBook> getBibleBooksInternal()