## Uses of Interface
org.crosswire.jsword.passage.Passage

- Packages that use Passage
  Package | Description
  --- | ---
  org.crosswire.jsword.examples | Some examples of how to use the JSword API.
  org.crosswire.jsword.passage | The core responsibility of the passage package is to store and collate information about the structure of the Bible - The most important classes are `Passage`, `PassageTally` and `Strongs`.
  org.crosswire.jsword.versification | The core responsibility of the versification package is to understand verse references.

- - ### Uses of Passage in org.crosswire.jsword.examples

    Methods in org.crosswire.jsword.examples with parameters of type Passage
    Modifier and Type | Method and Description
    --- | ---
    `private void` | Speed.`dummyDisplay(Passage ref)` Dummy display routine.

  - ### Uses of Passage in org.crosswire.jsword.passage

    Classes in org.crosswire.jsword.passage that implement Passage
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AbstractPassage` This is a base class to help with some of the common implementation details of being a Passage.
    `class` | `BitwisePassage` A Passage that is implemented using a BitSet - one for each verse.
    `class` | `DistinctPassage` A Passage that is implemented using a TreeSet of Verses.
    `class` | `PassageTally` Similar to a Passage, but that stores a ranking for each of the Verses that it contains.
    `class` | `RangedPassage` A Passage that is implemented using a TreeSet of VerseRanges.
    `(package private) class` | `ReadOnlyPassage` This is a simple proxy to a real Passage object that denies all attempts to write to it.
    `class` | `RocketPassage` A RocketPassage is a bit and heavy implementation of Passage that goes fairly quickly once let of the leash.
    `(package private) class` | `SynchronizedPassage` This is a simple proxy to a real Passage object that makes all accesses synchronized.

    Fields in org.crosswire.jsword.passage declared as Passage
    Modifier and Type | Field and Description
    --- | ---
    `private Passage` | SynchronizedPassage.`ref` The object we are proxying to
    `private Passage` | ReadOnlyPassage.`ref` The object we are proxying to

    Methods in org.crosswire.jsword.passage that return Passage
    Modifier and Type | Method and Description
    --- | ---
    `abstract Passage` | PassageType.`createEmptyPassage(Versification v11n)` Create an empty, optimized passage
    `Passage` | PassageType.`createPassage(Versification v11n, String passage)`
    `abstract Passage` | PassageType.`createPassage(Versification v11n, String passage, Key basis)` Create an optimized passage
    `(package private) static Passage` | PassageKeyFactory.`fromBinaryRepresentation(byte[] buffer)` Write out the object to the given ObjectOutputStream
    `Passage` | PassageKeyFactory.`getKey(Versification v11n, String passageReference)` Convert the passageReference into a Passage.
    `Passage` | PassageKeyFactory.`getKey(Versification v11n, String passageReference, Key basis)` Convert the passageReference into a Passage.
    `static Passage` | KeyUtil.`getPassage(Key key)` Cast a Key to a Passage.
    `static Passage` | PassageKeyFactory.`getReadOnlyPassage(Passage ref, boolean ignore)` Get a new Passage based on another Passage that synchronizes all access to its members.
    `static Passage` | PassageKeyFactory.`getSynchronizedPassage(Passage ref)` Get a new Passage based on another Passage that synchronizes all access to its members.
    `Passage` | SynchronizedPassage.`getWhole()`
    `Passage` | ReadOnlyPassage.`getWhole()`
    `Passage` | AbstractPassage.`getWhole()`
    `static Passage` | PassageKeyFactory.`readPassage(Reader in)` Read a passage from a given stream
    `Passage` | SynchronizedPassage.`reversify(Versification newVersification)`
    `Passage` | ReadOnlyPassage.`reversify(Versification newVersification)`
    `Passage` | AbstractPassage.`reversify(Versification newVersification)`
    `Passage` | SynchronizedPassage.`trimRanges(int count, RestrictionType restrict)`
    `Passage` | ReadOnlyPassage.`trimRanges(int count, RestrictionType restrict)`
    `Passage` | Passage.`trimRanges(int count, RestrictionType restrict)` Ensures that there are a maximum of `count` VerseRanges in this Passage.
    `Passage` | AbstractPassage.`trimRanges(int count, RestrictionType restrict)`
    `Passage` | SynchronizedPassage.`trimVerses(int count)`
    `Passage` | ReadOnlyPassage.`trimVerses(int count)`
    `Passage` | PassageTally.`trimVerses(int count)` Ensures that there are a maximum of `count` Verses in this Passage.
    `Passage` | Passage.`trimVerses(int count)` Ensures that there are a maximum of `count` Verses in this Passage.
    `Passage` | AbstractPassage.`trimVerses(int count)`

    Methods in org.crosswire.jsword.passage with parameters of type Passage
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | SynchronizedPassage.`containsAll(Passage that)`
    `boolean` | RocketPassage.`containsAll(Passage that)`
    `boolean` | ReadOnlyPassage.`containsAll(Passage that)`
    `boolean` | Passage.`containsAll(Passage that)` Returns true if this Passage contains all of the verses in that Passage
    `boolean` | AbstractPassage.`containsAll(Passage that)`
    `abstract int` | PassageListType.`count(Passage ref, RestrictionType restrict)`
    `abstract Object` | PassageListType.`getElementAt(Passage ref, int index, RestrictionType restrict)`
    `static Passage` | PassageKeyFactory.`getReadOnlyPassage(Passage ref, boolean ignore)` Get a new Passage based on another Passage that synchronizes all access to its members.
    `static Passage` | PassageKeyFactory.`getSynchronizedPassage(Passage ref)` Get a new Passage based on another Passage that synchronizes all access to its members.
    `(package private) static byte[]` | PassageKeyFactory.`toBinaryRepresentation(Passage ref)` Convert us to a binary representation.
    `void` | PassageTally.`unAddAll(Passage that)` Remove/Decrement these verses in the rankings

    Constructors in org.crosswire.jsword.passage with parameters of type Passage
    Constructor and Description
    `ReadOnlyPassage(Passage ref, boolean ignore)` Construct a ReadOnlyPassage from a real Passage to which we proxy.
    `SynchronizedPassage(Passage ref)` Construct a SynchronizedPassage from a real Passage to which we proxy.

  - ### Uses of Passage in org.crosswire.jsword.versification

    Fields in org.crosswire.jsword.versification declared as Passage
    Modifier and Type | Field and Description
    --- | ---
    `private Passage` | VersificationToKJVMapper.`absentVerses`

    Fields in org.crosswire.jsword.versification with type parameters of type Passage
    Modifier and Type | Field and Description
    --- | ---
    `private Map<QualifiedKey,Passage>` | VersificationToKJVMapper.`fromKJVMappings`

    Methods in org.crosswire.jsword.versification that return Passage
    Modifier and Type | Method and Description
    --- | ---
    `private Passage` | VersificationToKJVMapper.`createEmptyPassage(Versification versification)` Simplify creation of an empty passage object of the default type, with the required v11n.
    `Passage` | VersificationsMapper.`map(Passage key, Versification target)` Maps a whole passage, and does so verse by verse.

    Methods in org.crosswire.jsword.versification with parameters of type Passage
    Modifier and Type | Method and Description
    --- | ---
    `Passage` | VersificationsMapper.`map(Passage key, Versification target)` Maps a whole passage, and does so verse by verse.

    Method parameters in org.crosswire.jsword.versification with type arguments of type Passage
    Modifier and Type | Method and Description
    --- | ---
    `private VerseKey` | VersificationToKJVMapper.`getNonEmptyKey(Map<QualifiedKey,Passage> mappings, QualifiedKey key)` Gets a non-empty key list, either new or the one existing in the map already.