# Hierarchy For Package org.crosswire.jsword.passage

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - org.crosswire.jsword.passage.AbstractKeyList (implements org.crosswire.jsword.passage.Key)
    - org.crosswire.jsword.passage.DefaultKeyList
    - org.crosswire.jsword.passage.SetKeyList
    - org.crosswire.jsword.passage.TreeKey
  - org.crosswire.jsword.passage.AbstractPassage (implements org.crosswire.jsword.passage.Passage)
    - org.crosswire.jsword.passage.BitwisePassage
      - org.crosswire.jsword.passage.RocketPassage
    - org.crosswire.jsword.passage.DistinctPassage
    - org.crosswire.jsword.passage.PassageTally
    - org.crosswire.jsword.passage.RangedPassage
  - org.crosswire.jsword.passage.AbstractPassage.VerseRangeIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.BitwisePassage.VerseIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.DefaultKeyVisitor (implements org.crosswire.jsword.passage.KeyVisitor)
    - org.crosswire.jsword.passage.AbstractKeyList.NameVisitor
      - org.crosswire.jsword.passage.AbstractKeyList.OsisIDVisitor
      - org.crosswire.jsword.passage.AbstractKeyList.OsisRefVisitor
  - org.crosswire.jsword.passage.DefaultLeafKeyList (implements org.crosswire.jsword.passage.Key)
  - java.util.EventObject (implements java.io.Serializable)
    - org.crosswire.jsword.passage.PassageEvent
  - org.crosswire.jsword.passage.KeyIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.KeyIterator.Locator
  - org.crosswire.jsword.passage.KeyUtil
  - org.crosswire.jsword.passage.OsisParser
  - org.crosswire.jsword.passage.PassageKeyFactory
  - org.crosswire.jsword.passage.PassageTally.OrderedVerseIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.PassageTally.OrderedVerseRangeIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.PassageTally.TalliedVerse (implements java.lang.Comparable<T>)
  - org.crosswire.jsword.passage.PassageTally.TalliedVerseRange (implements java.lang.Comparable<T>)
  - org.crosswire.jsword.passage.PassageTally.VerseIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.PassageUtil
  - org.crosswire.jsword.passage.RangedPassage.VerseIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.RangedPassage.VerseRangeIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.ReadOnlyKeyList (implements org.crosswire.jsword.passage.Key)
  - org.crosswire.jsword.passage.ReadOnlyPassage (implements org.crosswire.jsword.passage.Passage)
  - org.crosswire.jsword.passage.SynchronizedPassage (implements org.crosswire.jsword.passage.Passage)
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - org.crosswire.common.util.LucidException
        - org.crosswire.jsword.passage.NoSuchKeyException
          - org.crosswire.jsword.passage.NoSuchVerseException
  - org.crosswire.jsword.passage.Verse (implements org.crosswire.jsword.passage.VerseKey<T>)
  - org.crosswire.jsword.passage.VerseFactory
  - org.crosswire.jsword.passage.VerseRange (implements org.crosswire.jsword.passage.VerseKey<T>)
  - org.crosswire.jsword.passage.VerseRange.VerseIterator (implements java.util.Iterator<E>)
  - org.crosswire.jsword.passage.VerseRangeFactory

## Interface Hierarchy

- java.lang.Cloneable
  - org.crosswire.jsword.passage.Key (also extends java.lang.Comparable<T>, java.lang.Iterable<T>, java.io.Serializable)
    - org.crosswire.jsword.passage.VerseKey<T>
      - org.crosswire.jsword.passage.Passage
- java.lang.Comparable<T>
  - org.crosswire.jsword.passage.Key (also extends java.lang.Cloneable, java.lang.Iterable<T>, java.io.Serializable)
    - org.crosswire.jsword.passage.VerseKey<T>
      - org.crosswire.jsword.passage.Passage
- java.util.EventListener
  - org.crosswire.jsword.passage.PassageListener
- java.lang.Iterable<T>
  - org.crosswire.jsword.passage.Key (also extends java.lang.Cloneable, java.lang.Comparable<T>, java.io.Serializable)
    - org.crosswire.jsword.passage.VerseKey<T>
      - org.crosswire.jsword.passage.Passage
- org.crosswire.jsword.passage.KeyFactory
- org.crosswire.jsword.passage.KeyVisitor
- org.crosswire.jsword.passage.PreferredKey
- java.io.Serializable
  - org.crosswire.jsword.passage.Key (also extends java.lang.Cloneable, java.lang.Comparable<T>, java.lang.Iterable<T>)
    - org.crosswire.jsword.passage.VerseKey<T>
      - org.crosswire.jsword.passage.Passage

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - org.crosswire.jsword.passage.RestrictionType
    - org.crosswire.jsword.passage.PassageType
    - org.crosswire.jsword.passage.PassageTally.Order
    - org.crosswire.jsword.passage.PassageListType
    - org.crosswire.jsword.passage.PassageEvent.EventType
    - org.crosswire.jsword.passage.AccuracyType