org.crosswire.jsword.book

## Interface BookList

- All Known Subinterfaces:
    Installer
  All Known Implementing Classes:
    AbstractBookList, AbstractSwordInstaller, Books, HttpSwordInstaller

      public interface BookList

  There are several lists of Books, the most important being the installed Books, however there may be others like the available books or books from a specific driver. This interface provides a common method of accessing all of them.
  Author:
    Joe Walker
  See Also:
    `The GNU Lesser General Public License for details.`, `License`

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addBooksListener(BooksListener li)` Add a BibleListener from our list of listeners
    `List<Book>` | `getBooks()` Get a list of all the Books of all types.
    `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

- - ### Method Detail

    - #### getBooks

          List<Book> getBooks()

      Get a list of all the Books of all types.
      Returns:
        the desired list of books

    - #### getBooks

          List<Book> getBooks(BookFilter filter)

      Get a filtered list of all the Books.
      Parameters:
        `filter` - the filter to apply to the list of books
      Returns:
        the desired list of books
      See Also:
        `BookFilters`

    - #### addBooksListener

          void addBooksListener(BooksListener li)

      Add a BibleListener from our list of listeners
      Parameters:
        `li` - interested listener

    - #### removeBooksListener

          void removeBooksListener(BooksListener li)

      Remove a BibleListener to our list of listeners
      Parameters:
        `li` - disinterested listener