org.crosswire.jsword.versification

## Enum DivisionName

- java.lang.Object
- - java.lang.Enum<DivisionName>
  - - org.crosswire.jsword.versification.DivisionName

- All Implemented Interfaces:
    Serializable, Comparable<DivisionName>

      public enum DivisionName
      extends Enum<DivisionName>

  DivisionName deals with traditional sections of the Bible. AV11N(DMS): Is this right?
  - contains(BibleBook) - This has several problems:
    1. The use of BibleBook.ordinal() is dependent upon the ordering of the members of the BibleBook enum. Currently it is ordered OT and NT according to the KJV and then has the deuterocanonical and apocryphal books in no particular order.
    2. Each versification defines the what books are present and the order of books. So for one versification, GEN might not be the first and REV might not be the last. E.g. Some V11Ns consist only of the OT.
  - getSize() - This can vary by versification for at least BIBLE, OT and NT for those that include deuterocanonical or apocryphal books.
  - getRange() - This range is fixed text giving end points that may include BibleBooks that are not intended and may exclude BibleBooks that are intended. It works for the default Versification and may not work for others.
  - A given V11N might be a single testament or just the gospels. In this case, it'd be good to know whether a division isDefined()
  Author:
    Joe Walker, DM Smith
  See Also:
    `The GNU Lesser General Public License for details.`

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and Description
    `BIBLE` BIBLE consists of the entire/whole Bible (Gen - Rev)
    `GENERAL_LETTERS` LETTERS consists of the general letters/epistles (Jas-Jud)
    `GOSPELS_AND_ACTS` GOSPELS_AND_ACTS consists of the 4 Gospels and Acts (Mat-Acts)
    `HISTORY` HISTORY consists of the history in the Old Testament of Israel
    `LETTERS` LETTERS consists of the letters/epistles (Rom-Jud)
    `MAJOR_PROPHETS` MAJOR_PROPHETS consists of the major prophets (Isa-Dan)
    `MINOR_PROPHETS` MINOR_PROPHETS consists of the minor prophets (Hos-Mal)
    `NEW_TESTAMENT` NEW_TESTAMENT consists of the new testament (Mat - Rev)
    `OLD_TESTAMENT` OLD_TESTAMENT consists of the old testament (Gen - Mal)
    `PAULINE_LETTERS` LETTERS consists of the Pauline letters/epistles (Rom-Heb)
    `PENTATEUCH` PENTATEUCH consists of the 5 books of Moses (Gen - Deu)
    `POETRY` POETRY consists of the poetic works (Job-Song)
    `PROPHECY` PROPHECY consists of the Deu 28, major prophets, minor prophets, Revelation (Isa-Mal, Rev)
    `REVELATION` REVELATION consists of the book of Revelation (Rev)

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `abstract boolean` | `contains(BibleBook book)` Determine whether the book is contained within the section.
    `abstract String` | `getName()` Obtain a localized string description of the section.
    `abstract String` | `getRange()` Obtain a string representation of the scope of the section.
    `static DivisionName` | `getSection(BibleBook book)` Determine the section to which this book belongs.
    `abstract int` | `getSize()` Get the number of whole books in the section.
    `String` | `toString()`
    `static DivisionName` | `valueOf(String name)` Returns the enum constant of this type with the specified name.
    `static DivisionName[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

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

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf`

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

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### BIBLE

          public static final DivisionName BIBLE

      BIBLE consists of the entire/whole Bible (Gen - Rev)

    - #### OLD_TESTAMENT

          public static final DivisionName OLD_TESTAMENT

      OLD_TESTAMENT consists of the old testament (Gen - Mal)

    - #### PENTATEUCH

          public static final DivisionName PENTATEUCH

      PENTATEUCH consists of the 5 books of Moses (Gen - Deu)

    - #### HISTORY

          public static final DivisionName HISTORY

      HISTORY consists of the history in the Old Testament of Israel

    - #### POETRY

          public static final DivisionName POETRY

      POETRY consists of the poetic works (Job-Song)

    - #### PROPHECY

          public static final DivisionName PROPHECY

      PROPHECY consists of the Deu 28, major prophets, minor prophets, Revelation (Isa-Mal, Rev)

    - #### MAJOR_PROPHETS

          public static final DivisionName MAJOR_PROPHETS

      MAJOR_PROPHETS consists of the major prophets (Isa-Dan)

    - #### MINOR_PROPHETS

          public static final DivisionName MINOR_PROPHETS

      MINOR_PROPHETS consists of the minor prophets (Hos-Mal)

    - #### NEW_TESTAMENT

          public static final DivisionName NEW_TESTAMENT

      NEW_TESTAMENT consists of the new testament (Mat - Rev)

    - #### GOSPELS_AND_ACTS

          public static final DivisionName GOSPELS_AND_ACTS

      GOSPELS_AND_ACTS consists of the 4 Gospels and Acts (Mat-Acts)

    - #### LETTERS

          public static final DivisionName LETTERS

      LETTERS consists of the letters/epistles (Rom-Jud)

    - #### PAULINE_LETTERS

          public static final DivisionName PAULINE_LETTERS

      LETTERS consists of the Pauline letters/epistles (Rom-Heb)

    - #### GENERAL_LETTERS

          public static final DivisionName GENERAL_LETTERS

      LETTERS consists of the general letters/epistles (Jas-Jud)

    - #### REVELATION

          public static final DivisionName REVELATION

      REVELATION consists of the book of Revelation (Rev)

  - ### Method Detail

    - #### values

          public static DivisionName[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (DivisionName c : DivisionName.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static DivisionName valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
        `name` - the name of the enum constant to be returned.
      Returns:
        the enum constant with the specified name
      Throws:
        `IllegalArgumentException` - if this enum type has no constant with the specified name
        `NullPointerException` - if the argument is null

    - #### contains

          public abstract boolean contains(BibleBook book)

      Determine whether the book is contained within the section.
      Parameters:
        `book` -
      Returns:
        true if the book is contained within the division

    - #### getSize

          public abstract int getSize()

      Get the number of whole books in the section.
      Returns:
        the number of whole books in the section

    - #### getName

          public abstract String getName()

      Obtain a localized string description of the section.
      Returns:
        the localized name.

    - #### getRange

          public abstract String getRange()

      Obtain a string representation of the scope of the section.
      Returns:
        the localized name.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Enum<DivisionName>`

    - #### getSection

          public static DivisionName getSection(BibleBook book)

      Determine the section to which this book belongs.
      Parameters:
        `book` - The book to test
      Returns:
        the section