# Hierarchy For Package htsjdk.samtools.util

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - htsjdk.samtools.util.AbstractAsyncWriter<T> (implements java.io.Closeable)
  - htsjdk.samtools.util.AbstractIterator<E> (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.AbstractLocusInfo<E> (implements htsjdk.samtools.util.Locatable, htsjdk.samtools.util.Locus)
    - htsjdk.samtools.util.SamLocusIterator.LocusInfo
  - htsjdk.samtools.util.AbstractLocusIterator<T,K> (implements htsjdk.samtools.util.CloseableIterator<T>, java.lang.Iterable<T>)
    - htsjdk.samtools.util.EdgeReadIterator
    - htsjdk.samtools.util.SamLocusIterator
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - htsjdk.samtools.util.CollectionUtil.DefaultingMap<K,V>
      - htsjdk.samtools.util.CollectionUtil.MultiMap<K,V>
      - htsjdk.samtools.util.ListMap<K,V>
    - htsjdk.samtools.util.IntervalTreeMap<T>
  - htsjdk.samtools.util.AbstractProgressLogger (implements htsjdk.samtools.util.ProgressLoggerInterface)
    - htsjdk.samtools.util.ProgressLogger
  - htsjdk.samtools.util.AbstractRecordAndOffset
    - htsjdk.samtools.util.EdgingRecordAndOffset
    - htsjdk.samtools.util.SamLocusIterator.RecordAndOffset
  - htsjdk.samtools.util.AsyncBufferedIterator<T> (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.util.BinaryCodec (implements java.io.Closeable)
  - htsjdk.samtools.util.BlockCompressedFilePointerUtil
  - htsjdk.samtools.util.BlockCompressedInputStream.DecompressedBlock
  - htsjdk.samtools.util.BlockCompressedStreamConstants
  - htsjdk.samtools.util.BlockGunzipper
  - htsjdk.samtools.util.CigarUtil
  - htsjdk.samtools.util.CloserUtil
  - htsjdk.samtools.util.CodeUtil
  - htsjdk.samtools.util.CollectionUtil
  - htsjdk.samtools.util.CollectionUtil.Partitioner<V,K>
  - htsjdk.samtools.util.CoordMath
  - java.util.Date (implements java.lang.Cloneable, java.lang.Comparable<T>, java.io.Serializable)
    - htsjdk.samtools.util.Iso8601Date
      - htsjdk.samtools.util.RelativeIso8601Date
  - htsjdk.samtools.util.DateParser
  - htsjdk.samtools.util.DelegatingIterator<T> (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.util.DiskBackedQueue<E> (implements java.util.Queue<E>)
  - htsjdk.samtools.util.FastLineReader (implements java.io.Closeable)
  - htsjdk.samtools.util.FileExtensions
  - htsjdk.samtools.util.FormatUtil
  - htsjdk.samtools.util.GZIIndex
  - htsjdk.samtools.util.GZIIndex.GZIIndexer (implements java.io.Closeable)
  - htsjdk.samtools.util.GZIIndex.IndexEntry
  - htsjdk.samtools.util.GzipCodec
  - htsjdk.samtools.util.Histogram<K> (implements java.io.Serializable)
  - htsjdk.samtools.util.Histogram.Bin<K> (implements java.io.Serializable)
  - htsjdk.samtools.util.HttpUtils
  - java.io.InputStream (implements java.io.Closeable)
    - htsjdk.samtools.util.BlockCompressedInputStream (implements htsjdk.samtools.util.LocationAware)
      - htsjdk.samtools.util.AsyncBlockCompressedInputStream
    - htsjdk.samtools.util.CoordSpanInputSteam
    - htsjdk.samtools.util.Md5CalculatingInputStream
  - htsjdk.samtools.util.Interval (implements java.lang.Cloneable, java.lang.Comparable<T>, htsjdk.tribble.NamedFeature)
  - htsjdk.samtools.util.IntervalCodec (implements htsjdk.samtools.util.SortingCollection.Codec<T>)
  - htsjdk.samtools.util.IntervalCoordinateComparator (implements java.util.Comparator<T>, java.io.Serializable)
  - htsjdk.samtools.util.IntervalList (implements java.lang.Iterable<T>)
  - htsjdk.samtools.util.IntervalList.IntervalMergerIterator (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.IntervalListReferenceSequenceMask (implements htsjdk.samtools.util.ReferenceSequenceMask)
  - htsjdk.samtools.util.IntervalListWriter (implements java.io.Closeable)
  - htsjdk.samtools.util.IntervalTree<V> (implements java.lang.Iterable<T>)
  - htsjdk.samtools.util.IntervalTree.FwdIterator (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.IntervalTree.Node<V1>
  - htsjdk.samtools.util.IntervalTree.OverlapIterator (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.IntervalTree.RevIterator (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.IntervalTree.ValuesIterator<V1> (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.IntervalUtil
  - htsjdk.samtools.util.IntervalUtil.IntervalCombiner
  - htsjdk.samtools.util.IOUtil
  - htsjdk.samtools.util.IterableAdapter<T> (implements java.lang.Iterable<T>)
  - htsjdk.samtools.util.IterableOnceIterator<T> (implements java.io.Closeable, java.lang.Iterable<T>, java.util.Iterator<E>)
  - htsjdk.samtools.util.Iterables
  - htsjdk.samtools.util.Lazy<T>
  - htsjdk.samtools.util.LocusComparator<T> (implements java.util.Comparator<T>, java.io.Serializable)
  - htsjdk.samtools.util.LocusImpl (implements htsjdk.samtools.util.Locus)
  - htsjdk.samtools.util.Log
  - htsjdk.samtools.util.MergingIterator<T> (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.util.Murmur3 (implements java.io.Serializable)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - htsjdk.samtools.util.BlockCompressedOutputStream (implements htsjdk.samtools.util.LocationAware)
      - htsjdk.samtools.util.TerminatorlessBlockCompressedOutputStream
    - java.io.FilterOutputStream
      - java.util.zip.DeflaterOutputStream
        - java.util.zip.GZIPOutputStream
          - htsjdk.samtools.util.CustomGzipOutputStream
    - htsjdk.samtools.util.Md5CalculatingOutputStream
    - htsjdk.samtools.util.PositionalOutputStream (implements htsjdk.samtools.util.LocationAware)
  - htsjdk.samtools.util.OverlapDetector<T>
  - htsjdk.samtools.util.PeekableIterator<Object> (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.util.PeekIterator<T> (implements java.util.Iterator<E>)
  - htsjdk.samtools.util.ProcessExecutor
  - htsjdk.samtools.util.ProcessExecutor.ExitStatusAndOutput
  - htsjdk.samtools.util.QualityEncodingDetector
  - htsjdk.samtools.util.QualityUtil
  - java.io.Reader (implements java.io.Closeable, java.lang.Readable)
    - java.io.BufferedReader
      - java.io.LineNumberReader
        - htsjdk.samtools.util.BufferedLineReader (implements htsjdk.samtools.util.LineReader)
          - htsjdk.samtools.util.StringLineReader
  - htsjdk.samtools.util.ResourceLimitedMap<Key,Value>
    - htsjdk.samtools.util.FileAppendStreamLRUCache
  - htsjdk.samtools.util.SamConstants
  - htsjdk.samtools.util.SamRecordIntervalIteratorFactory
  - htsjdk.samtools.util.SAMRecordPrefetchingIterator (implements htsjdk.samtools.util.CloseableIterator<T>)
  - htsjdk.samtools.util.SamRecordTrackingBuffer<T>
  - htsjdk.samtools.util.SamRecordWithOrdinal
  - htsjdk.samtools.util.SequenceUtil
  - htsjdk.samtools.util.SnappyLoader
  - htsjdk.samtools.util.SolexaQualityConverter
  - htsjdk.samtools.util.SortingCollection<T> (implements java.lang.Iterable<T>)
  - htsjdk.samtools.util.SortingLongCollection
  - htsjdk.samtools.util.StopWatch
  - htsjdk.samtools.util.StringUtil
  - htsjdk.samtools.util.TempStreamFactory
  - htsjdk.samtools.util.TestUtil
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - htsjdk.samtools.util.RuntimeScriptException
        - htsjdk.samtools.SAMException
          - htsjdk.samtools.util.DateParser.InvalidDateException
          - htsjdk.samtools.util.RuntimeEOFException
          - htsjdk.samtools.util.RuntimeIOException
          - htsjdk.samtools.util.SequenceUtil.SequenceListsDifferException
  - htsjdk.samtools.util.TrimmingUtil
  - htsjdk.samtools.util.Tuple<A,B>
    - htsjdk.samtools.util.ComparableTuple<A,B> (implements java.lang.Comparable<T>)
  - htsjdk.samtools.util.WholeGenomeReferenceSequenceMask (implements htsjdk.samtools.util.ReferenceSequenceMask)
  - java.io.Writer (implements java.lang.Appendable, java.io.Closeable, java.io.Flushable)
    - htsjdk.samtools.util.AsciiWriter

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - htsjdk.samtools.util.CloseableIterator<T> (also extends java.util.Iterator<E>)
    - htsjdk.samtools.util.LineReader
- java.lang.Cloneable
  - htsjdk.samtools.util.SortingCollection.Codec<T>
- htsjdk.samtools.util.CollectionUtil.DefaultingMap.Factory<V,K>
- java.util.Iterator<E>
  - htsjdk.samtools.util.CloseableIterator<T> (also extends java.io.Closeable)
- htsjdk.samtools.util.Locatable
- htsjdk.samtools.util.LocationAware
- htsjdk.samtools.util.Locus
- htsjdk.samtools.util.ProgressLoggerInterface
- htsjdk.samtools.util.ReferenceSequenceMask
- htsjdk.samtools.util.ResourceLimitedMapFunctor<Key,Value>
- java.util.function.Supplier<T>
  - htsjdk.samtools.util.Lazy.LazyInitializer<T>

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - htsjdk.samtools.util.AbstractRecordAndOffset.AlignmentType
    - htsjdk.samtools.util.BlockCompressedInputStream.FileTermination
    - htsjdk.samtools.util.EdgingRecordAndOffset.Type
    - htsjdk.samtools.util.FastqQualityFormat
    - htsjdk.samtools.util.GzipCodec.Format
    - htsjdk.samtools.util.Log.LogLevel
    - htsjdk.samtools.util.QualityEncodingDetector.FileContext