org.crosswire.jsword.book

## Class AbstractBookList

- java.lang.Object
- - org.crosswire.jsword.book.AbstractBookList

- All Implemented Interfaces:
    BookList
  Direct Known Subclasses:
    AbstractSwordInstaller, Books

      public abstract class AbstractBookList
      extends Object
      implements BookList

  A basic implementation of BookList. The methods in this abstract class are duplicates of those in Books, so bugs fixed in one should be fixed in the other too.
  Author:
    Joe Walker
  See Also:
    `The GNU Lesser General Public License for details.`

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private List<BooksListener>` | `listeners` The list of listeners

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractBookList()` Build a default BookList

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBooksListener(BooksListener li)` Add a BibleListener from our list of listeners
    `protected void` | `fireBooksChanged(Object source, Book book, boolean added)` Kick of an event sequence
    `List<Book>` | `getBooks(BookFilter filter)` Get a filtered list of all the Books.
    `void` | `removeBooksListener(BooksListener li)` Remove a BibleListener to our list of listeners

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.crosswire.jsword.book.BookList

      `getBooks`

- - ### Field Detail

    - #### listeners

          private List<BooksListener> listeners

      The list of listeners

  - ### Constructor Detail

    - #### AbstractBookList

          public AbstractBookList()

      Build a default BookList

  - ### Method Detail

    - #### getBooks

          public List<Book> getBooks(BookFilter filter)

      Description copied from interface: `BookList`
      Get a filtered list of all the Books.
      Specified by:
        `getBooks` in interface `BookList`
      Parameters:
        `filter` - the filter to apply to the list of books
      Returns:
        the desired list of books
      See Also:
        `BookFilters`

    - #### addBooksListener

          public void addBooksListener(BooksListener li)

      Description copied from interface: `BookList`
      Add a BibleListener from our list of listeners
      Specified by:
        `addBooksListener` in interface `BookList`
      Parameters:
        `li` - interested listener

    - #### removeBooksListener

          public void removeBooksListener(BooksListener li)

      Description copied from interface: `BookList`
      Remove a BibleListener to our list of listeners
      Specified by:
        `removeBooksListener` in interface `BookList`
      Parameters:
        `li` - disinterested listener

    - #### fireBooksChanged

          protected void fireBooksChanged(Object source,
                              Book book,
                              boolean added)

      Kick of an event sequence
      Parameters:
        `source` - The event source
        `book` - The changed Book
        `added` - Is it added?