org.crosswire.jsword.book.basic
Class AbstractBookMetaData

java.lang.Object
  extended by org.crosswire.jsword.book.basic.AbstractBookMetaData
All Implemented Interfaces:
Comparable<BookMetaData>, BookMetaData
Direct Known Subclasses:
DefaultBookMetaData, SwordBookMetaData

public abstract class AbstractBookMetaData
extends Object
implements BookMetaData

Author:
DM Smith
See Also:
The GNU Lesser General Public License for details.
The copyright to this program is held by its authors.

Field Summary
private  BookDriver driver
           
private  IndexStatus indexStatus
           
private  Language language
           
private  URI library
           
private  URI location
           
 
Fields inherited from interface org.crosswire.jsword.book.BookMetaData
KEY_BOOK, KEY_BOOKLIST, KEY_CATEGORY, KEY_DRIVER, KEY_FONT, KEY_LANG, KEY_LANGUAGE, KEY_NAME, KEY_SCOPE, KEY_VERSIFICATION
 
Constructor Summary
AbstractBookMetaData()
           
 
Method Summary
 int compareTo(BookMetaData obj)
           
 boolean equals(Object obj)
           
 BookDriver getDriver()
          Accessor for the driver that runs this Book.
 String getDriverName()
          Calculated field: The name of the name, which could be helpful to distinguish similar Books available through 2 BookDrivers.
 IndexStatus getIndexStatus()
          Has anyone generated a search index for this Book?
 KeyType getKeyType()
          How this Book organizes it's keys.
 Language getLanguage()
          The language of the book.
 URI getLibrary()
          Get the base URI for library of this module.
 URI getLocation()
          Get the base URI for relative URIs in the document.
 String getOsisID()
          Calculated field: Get an OSIS identifier for the OsisText.setOsisIDWork() and the Work.setOsisWork() methods.
 String getUnlockKey()
          Gets the unlock key for the module.
 boolean hasFeature(FeatureType feature)
          Return whether the feature is supported by the book.
 int hashCode()
           
 boolean isEnciphered()
          Indicate whether this book is enciphered.
 boolean isLocked()
          Indicate whether this book is enciphered and without a key.
 boolean isQuestionable()
          Indicate whether this book is questionable.
 boolean isSupported()
          Indicate whether this book is supported by JSword.
 void putProperty(String key, String value)
          Save to shared storage.
 void setDriver(BookDriver driver)
           
 void setIndexStatus(IndexStatus newValue)
          This method does not alter the index status, however it is for Indexers that are responsible for indexing and have changed the status themselves.
 void setLanguage(Language language)
          Set the language for this book.
 void setLibrary(URI library)
          Set the base URI for library of this module.
 void setLocation(URI location)
          Set the base URI for relative URIs in the document.
 org.jdom2.Document toOSIS()
          Get an OSIS representation of information concerning this Book.
 String toString()
           
 boolean unlock(String unlockKey)
          Unlocks a book with the given key.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.crosswire.jsword.book.BookMetaData
getBookCategory, getInitials, getInternalName, getName, getProperty, getPropertyKeys, isLeftToRight, putProperty
 

Field Detail

driver

private BookDriver driver

indexStatus

private IndexStatus indexStatus

language

private Language language

library

private URI library

location

private URI location
Constructor Detail

AbstractBookMetaData

public AbstractBookMetaData()
Method Detail

getKeyType

public KeyType getKeyType()
Description copied from interface: BookMetaData
How this Book organizes it's keys.

Specified by:
getKeyType in interface BookMetaData
Returns:
the organization of keys of this Book

getDriver

public BookDriver getDriver()
Description copied from interface: BookMetaData
Accessor for the driver that runs this Book. Note this method should only be used to delete() Books. Everything else you should want to do to a Book should be available in other ways.

Specified by:
getDriver in interface BookMetaData
Returns:
the driver for the book.

getDriverName

public String getDriverName()
Description copied from interface: BookMetaData
Calculated field: The name of the name, which could be helpful to distinguish similar Books available through 2 BookDrivers.

Specified by:
getDriverName in interface BookMetaData
Returns:
The driver name

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
Parameters:
feature - the feature in question
Returns:
true if the book supports the feature

getOsisID

public String getOsisID()
Description copied from interface: BookMetaData
Calculated field: Get an OSIS identifier for the OsisText.setOsisIDWork() and the Work.setOsisWork() methods. The response will generally be of the form [Bible][Dict..].getInitials

Specified by:
getOsisID in interface BookMetaData
Returns:
The osis id of this book

isSupported

public boolean isSupported()
Description copied from interface: BookMetaData
Indicate whether this book is supported by JSword. Since the expectation is that all books are supported, abstract implementations should return true and let specific implementations return false if they cannot support the book.

Specified by:
isSupported in interface BookMetaData
Returns:
true if the book is supported

isEnciphered

public boolean isEnciphered()
Description copied from interface: BookMetaData
Indicate whether this book is enciphered. Since the expectation is that most books are unenciphered, abstract implementations should return false and let specific implementations return true otherwise.

Specified by:
isEnciphered in interface BookMetaData
Returns:
true if the book is enciphered

isLocked

public boolean isLocked()
Description copied from interface: BookMetaData
Indicate whether this book is enciphered and without a key. Since the expectation is that most books are unenciphered, abstract implementations should return false and let specific implementations return true otherwise.

Specified by:
isLocked in interface BookMetaData
Returns:
true if the book is locked

unlock

public boolean unlock(String unlockKey)
Description copied from interface: BookMetaData
Unlocks a book with the given key.

Specified by:
unlock in interface BookMetaData
Parameters:
unlockKey - the key to try
Returns:
true if the unlock key worked.

getUnlockKey

public String getUnlockKey()
Description copied from interface: BookMetaData
Gets the unlock key for the module.

Specified by:
getUnlockKey in interface BookMetaData
Returns:
the unlock key, if any, null otherwise.

isQuestionable

public boolean isQuestionable()
Description copied from interface: BookMetaData
Indicate whether this book is questionable. A book may be deemed questionable if it's quality or content has not been confirmed. Since the expectation is that all books are not questionable, abstract implementations should return false and let specific implementations return true if the book is questionable.

Specified by:
isQuestionable in interface BookMetaData
Returns:
true if the book is questionable

getLanguage

public Language getLanguage()
Description copied from interface: BookMetaData
The language of the book.

Specified by:
getLanguage in interface BookMetaData
Returns:
the book's language

setLanguage

public void setLanguage(Language language)
Description copied from interface: BookMetaData
Set the language for this book.

Specified by:
setLanguage in interface BookMetaData
Parameters:
language - the book's language

getLibrary

public URI getLibrary()
Description copied from interface: BookMetaData
Get the base URI for library of this module.

Specified by:
getLibrary in interface BookMetaData
Returns:
the base URI or null if there is none

setLibrary

public void setLibrary(URI library)
                throws BookException
Description copied from interface: BookMetaData
Set the base URI for library of this module.

Specified by:
setLibrary in interface BookMetaData
Parameters:
library - the base URI or null if there is none
Throws:
BookException - indicates missing data files

setLocation

public void setLocation(URI location)
Description copied from interface: BookMetaData
Set the base URI for relative URIs in the document.

Specified by:
setLocation in interface BookMetaData
Parameters:
location - the base URI or null if there is none

getLocation

public URI getLocation()
Description copied from interface: BookMetaData
Get the base URI for relative URIs in the document.

Specified by:
getLocation in interface BookMetaData
Returns:
the base URI or null if there is none

getIndexStatus

public IndexStatus getIndexStatus()
Description copied from interface: BookMetaData
Has anyone generated a search index for this Book?

Specified by:
getIndexStatus in interface BookMetaData
Returns:
the status for the index of this book.
See Also:
IndexManager

setIndexStatus

public void setIndexStatus(IndexStatus newValue)
Description copied from interface: BookMetaData
This method does not alter the index status, however it is for Indexers that are responsible for indexing and have changed the status themselves.

Specified by:
setIndexStatus in interface BookMetaData
Parameters:
newValue - the status for the index of this book
See Also:
IndexManager

putProperty

public void putProperty(String key,
                        String value)
Description copied from interface: BookMetaData
Save to shared storage.

Specified by:
putProperty in interface BookMetaData
Parameters:
key - the key of the property to set
value - the value of the property

toOSIS

public org.jdom2.Document toOSIS()
Description copied from interface: BookMetaData
Get an OSIS representation of information concerning this Book.

Specified by:
toOSIS in interface BookMetaData
Returns:
the OSIS representation of information about this book.

setDriver

public void setDriver(BookDriver driver)
Parameters:
driver - The driver to set.

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

compareTo

public int compareTo(BookMetaData obj)
Specified by:
compareTo in interface Comparable<BookMetaData>

toString

public String toString()
Overrides:
toString in class Object

Copyright ยจ 2003-2015