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.

Distribution Licence: JSword is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License, version 2 as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. The License is available on the internet here, or by writing to: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA The copyright to this program is held by it's authors.

Version:
  $Id: AbstractBookMetaData.java,v 1.21 2005/03/21 02:37:28 dmsmith Exp $
Author:
  Joe Walker [joe at eireneh dot com]
See Also:
  `Licence`

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_DRIVER, KEY_INDEXSTATUS, KEY_INITIALS, KEY_LANGUAGE, KEY_NAME, KEY_TYPE`

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()`
`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
`getInitials, getName, getType, 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()

### 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-2004
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD