Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.crosswire.jsword.book.basic
Class AbstractBookMetaData

    java.lang.Object
      org.crosswire.jsword.book.basic.AbstractBookMetaData

All Implemented Interfaces:
  Comparable, BookMetaData

Direct Known Subclasses:
  DefaultBookMetaData, SwordBookMetaData

    public abstract class AbstractBookMetaData

extends Object
implements BookMetaData

An implementaion of the Propery Change methods from BookMetaData.

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
`static String` | `DEFAULT_LANG_CODE`
`private String` | `displayName`
`private BookDriver` | `driver`
`private String` | `fullName`
`private IndexStatus` | `indexStatus`
`private static ResourceBundle` | `languages`
`private EventListenerList` | `listeners` The list of property change listeners
`private static Logger` | `log` The log stream
`private Map` | `prop` The single key version of the properties
`private static String` | `UNKNOWN_LANG_CODE`

Fields inherited from interface org.crosswire.jsword.book.BookMetaData
`KEY_BOOK, KEY_CATEGORY, KEY_DRIVER, KEY_INDEXSTATUS, KEY_INITIALS, KEY_LANGUAGE, KEY_NAME`

Constructor Summary
`AbstractBookMetaData()`

Method Summary
`void` | `addPropertyChangeListener(PropertyChangeListener listener)` Adds a `PropertyChangeListener` to the listener list.
`int` | `compareTo(Object obj)`
`private String` | `computeFullName()`
`boolean` | `equals(Object obj)`
`protected void` | `firePropertyChange(String propertyName, Object oldValue, Object newValue)` Reports bound property changes.
`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.
`String` | `getFullName()` Calculated field: The full name of the book, for example The format is "name, (Driver)"
`IndexStatus` | `getIndexStatus()` Has anyone generated a search index for this Book?
`String` | `getLanguage()` The language of the book is the common name for the iso639 code.
`static String` | `getLanguage(String ident, String iso639Code)` Get the language name from the language code.
`String` | `getOsisID()` Calculated field: Get an OSIS identifier for the OsisText.setOsisIDWork() and the Work.setOsisWork() methods.
`Map` | `getProperties()` Get a list of all the properties available to do with this Book.
`protected Object` | `getProperty(String key)`
`boolean` | `hasFeature(FeatureType feature)` Return whether the feature is supported by the book.
`int` | `hashCode()`
`boolean` | `isEnciphered()` 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.
`protected void` | `putProperty(String key, Object value)`
`void` | `removePropertyChangeListener(PropertyChangeListener listener)` Removes a `PropertyChangeListener` from the listener list.
`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` | `setProperties(Map newProperties)`
`org.jdom.Document` | `toOSIS()` Get an OSIS representation of information concerning this Book.
`String` | `toString()`

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, getName, isLeftToRight`

Field Detail

### log

    private static final Logger log

  The log stream

### DEFAULT_LANG_CODE

    public static final String DEFAULT_LANG_CODE

See Also:
  Constant Field Values

### UNKNOWN_LANG_CODE

    private static final String UNKNOWN_LANG_CODE

See Also:
  Constant Field Values

### listeners

    private transient EventListenerList listeners

  The list of property change listeners

### languages

    private static ResourceBundle languages

### prop

    private Map prop

  The single key version of the properties

### driver

    private BookDriver driver

### fullName

    private String fullName

### displayName

    private String displayName

### indexStatus

    private IndexStatus indexStatus

Constructor Detail

### AbstractBookMetaData

    public AbstractBookMetaData()

Method Detail

### 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`

### 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`

### 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

### getFullName

    public String getFullName()

  Description copied from interface: `BookMetaData`
  Calculated field: The full name of the book, for example The format is "name, (Driver)"

  Specified by:
    `getFullName` in interface `BookMetaData`
  Returns:
    The full name of this book

### computeFullName

    private String computeFullName()

### 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 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:
    `isEnciphered` in interface `BookMetaData`
  Returns:
    true if the book is enciphered

### 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 String getLanguage()

  Description copied from interface: `BookMetaData`
  The language of the book is the common name for the iso639 code.

  Specified by:
    `getLanguage` in interface `BookMetaData`
  Returns:
    the common name for the language

### getProperties

    public Map getProperties()

  Description copied from interface: `BookMetaData`
  Get a list of all the properties available to do with this Book. The returned Properties will be read-only so any attempts to alter it will fail.

  Specified by:
    `getProperties` in interface `BookMetaData`

### setProperties

    public void setProperties(Map newProperties)

  Parameters:
    `newProperties` -

### getProperty

    protected Object getProperty(String key)

  Parameters:
    `key` -
  Returns:
    the object found by the key

### putProperty

    protected void putProperty(String key,
                               Object value)

  Parameters:
    `key` -
    `value` -

### getIndexStatus

    public IndexStatus getIndexStatus()

  Description copied from interface: `BookMetaData`
  Has anyone generated a search index for this Book?

  Specified by:
    `getIndexStatus` in interface `BookMetaData`
  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`
  See Also:
    `IndexManager`

### toOSIS

    public org.jdom.Document toOSIS()

  Description copied from interface: `BookMetaData`
  Get an OSIS representation of information concerning this Book.

  Specified by:
    `toOSIS` in interface `BookMetaData`

### setDriver

    public void setDriver(BookDriver driver)

  Parameters:
    `driver` - The driver to set.

### getLanguage

    public static String getLanguage(String ident,
                                     String iso639Code)

  Get the language name from the language code. Note, this code does not support dialects.

  Parameters:
    `iso639Code` -
  Returns:
    the name of the language

### equals

    public boolean equals(Object obj)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### compareTo

    public int compareTo(Object obj)

  Specified by:
    `compareTo` in interface `Comparable`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### addPropertyChangeListener

    public void addPropertyChangeListener(PropertyChangeListener listener)

  Description copied from interface: `BookMetaData`
  Adds a `PropertyChangeListener` to the listener list. The listener is registered for all properties. However the only one likely to change at the time of writing is the Index Status.

  A `PropertyChangeEvent` will get fired in response to setting a bound property, such as `setIndexStatus`.

  Specified by:
    `addPropertyChangeListener` in interface `BookMetaData`
  Parameters:
    `listener` - the `PropertyChangeListener` to be added

### removePropertyChangeListener

    public void removePropertyChangeListener(PropertyChangeListener listener)

  Description copied from interface: `BookMetaData`
  Removes a `PropertyChangeListener` from the listener list.

  Specified by:
    `removePropertyChangeListener` in interface `BookMetaData`
  Parameters:
    `listener` - the `PropertyChangeListener` to be removed

### firePropertyChange

    protected void firePropertyChange(String propertyName,
                                      Object oldValue,
                                      Object newValue)

  Reports bound property changes. If `oldValue` and `newValue` are not equal and the `PropertyChangeEvent` listener list isn't empty, then fire a `PropertyChange` event to each listener.

  Parameters:
    `propertyName` - the programmatic name of the property that was changed
    `oldValue` - the old value of the property (as an Object)
    `newValue` - the new value of the property (as an Object)
  See Also:
    `PropertyChangeSupport`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Copyright ¨ 2003-2005
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD