# Hierarchy For Package net.i2p.util

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - java.util.AbstractSet<E> (implements java.util.Set<E>)
      - net.i2p.util.ArraySet<E> (implements java.util.Set<E>)
        - net.i2p.util.UnmodifiableSortedSet<E> (implements java.util.SortedSet<E>)
      - net.i2p.util.ConcurrentHashSet<E> (implements java.util.Set<E>)
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - java.util.concurrent.ConcurrentHashMap<K,V> (implements java.util.concurrent.ConcurrentMap<K,V>, java.io.Serializable)
      - net.i2p.util.KeyRing
    - java.util.HashMap<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.LinkedHashMap<K,V> (implements java.util.Map<K,V>)
        - net.i2p.util.LHMCache<K,V>
  - net.i2p.util.Addresses
  - net.i2p.util.Clock (implements net.i2p.time.Timestamper.UpdateListener)
  - net.i2p.util.CommandLine
  - net.i2p.util.ConvertToHash
  - java.util.Dictionary<K,V>
    - java.util.Hashtable<K,V> (implements java.lang.Cloneable, java.util.Map<K,V>, java.io.Serializable)
      - java.util.Properties
        - net.i2p.util.I2PProperties
        - net.i2p.util.OrderedProperties
  - net.i2p.util.DNSOverHTTPS (implements net.i2p.util.EepGet.StatusListener)
  - net.i2p.util.EepGet
    - net.i2p.util.EepHead
    - net.i2p.util.EepPost
    - net.i2p.util.PartialEepGet
    - net.i2p.util.SSLEepGet
  - net.i2p.util.EepGet.AuthState
  - net.i2p.util.EepGet.CLIStatusListener (implements net.i2p.util.EepGet.StatusListener)
  - net.i2p.util.EepGet.Gunzipper (implements java.lang.Runnable)
  - net.i2p.util.EventDispatcherImpl (implements net.i2p.util.EventDispatcher)
  - net.i2p.util.Executor (implements java.lang.Runnable)
  - java.io.File (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.i2p.util.SecureDirectory
      - net.i2p.util.SecureFile
  - net.i2p.util.FileSuffixFilter (implements java.io.FileFilter)
  - net.i2p.util.FileUtil
  - net.i2p.util.HexDump
  - net.i2p.util.I2PSSLSocketFactory
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.FilterInputStream
      - java.util.zip.InflaterInputStream
        - net.i2p.util.ResettableGZIPInputStream
          - net.i2p.util.ReusableGZIPInputStream
      - net.i2p.util.LookaheadInputStream
    - java.io.PipedInputStream
      - net.i2p.util.TimeoutPipedInputStream
  - net.i2p.util.Log
  - net.i2p.util.LogConsoleBuffer
  - net.i2p.util.LogLimit
  - net.i2p.util.LogManager (implements java.io.Flushable)
  - net.i2p.util.LogRecord
  - net.i2p.util.LogRecordFormatter
  - net.i2p.util.LogWriter (implements java.lang.Runnable)
    - net.i2p.util.FileLogWriter
  - java.lang.Number (implements java.io.Serializable)
    - java.math.BigInteger (implements java.lang.Comparable<T>)
      - net.i2p.util.NativeBigInteger
  - net.i2p.util.ObjectCounter<K> (implements java.io.Serializable)
  - net.i2p.util.ObjectCounterUnsafe<K>
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.ByteArrayOutputStream
      - net.i2p.util.ByteArrayStream
    - java.io.FileOutputStream
      - net.i2p.util.SecureFileOutputStream
    - java.io.FilterOutputStream
      - java.util.zip.DeflaterOutputStream
        - net.i2p.util.ResettableGZIPOutputStream
          - net.i2p.util.ReusableGZIPOutputStream
    - java.io.PipedOutputStream
      - net.i2p.util.TimeoutPipedOutputStream
  - net.i2p.util.PasswordManager
  - net.i2p.util.PortMapper
  - java.util.Random (implements java.io.Serializable)
    - java.security.SecureRandom
      - net.i2p.util.RandomSource (implements net.i2p.crypto.EntropyHarvester)
        - net.i2p.util.FortunaRandomSource (implements net.i2p.crypto.EntropyHarvester)
  - java.io.Reader (implements java.io.Closeable, java.lang.Readable)
    - java.io.FilterReader
      - net.i2p.util.TranslateReader
  - net.i2p.util.RFC822Date
  - java.net.ServerSocket (implements java.io.Closeable)
    - net.i2p.util.InternalServerSocket
  - net.i2p.util.ShellCommand
  - net.i2p.util.SimpleByteCache
  - net.i2p.util.SimpleStore
  - net.i2p.util.SimpleTimer
  - net.i2p.util.SimpleTimer2
  - net.i2p.util.SimpleTimer2.TimedEvent (implements java.lang.Runnable)
    - net.i2p.util.SocketTimeout
    - net.i2p.util.TempDirScanner
  - net.i2p.util.SipHash
  - java.net.Socket (implements java.io.Closeable)
    - net.i2p.util.InternalSocket
  - net.i2p.util.SSLEepGet.SSLState
  - net.i2p.util.SyntheticREDQueue (implements net.i2p.util.BandwidthEstimator)
  - net.i2p.util.SystemVersion
  - java.lang.Thread (implements java.lang.Runnable)
    - net.i2p.util.I2PThread
      - net.i2p.util.I2PAppThread
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - java.lang.IllegalStateException
          - net.i2p.util.ArraySet.SetFullException
  - net.i2p.util.Translate
  - net.i2p.util.TryCache<T>
    - net.i2p.util.ByteCache
  - net.i2p.util.UIMessages
  - net.i2p.util.UIMessages.Message
  - net.i2p.util.VersionComparator (implements java.util.Comparator<T>, java.io.Serializable)

## Interface Hierarchy

- net.i2p.util.BandwidthEstimator
- net.i2p.util.Clock.ClockUpdateListener
- net.i2p.util.EepGet.StatusListener
- net.i2p.util.EventDispatcher
- net.i2p.util.I2PProperties.I2PPropertyCallback
- net.i2p.util.I2PThread.OOMEventListener
- net.i2p.util.SimpleTimer.TimedEvent
- net.i2p.util.TryCache.ObjectFactory<T>

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - net.i2p.util.AddressType
    - net.i2p.util.DNSOverHTTPS.Type
    - net.i2p.util.EepGet.AUTH_MODE
    - net.i2p.util.SSLEepGet.ProxyType