Class Hierarchy
Date: 2017-02-10

# Hierarchy For All Packages

Package Hierarchies:

- javax.jmdns,
- javax.jmdns.impl,
- javax.jmdns.impl.constants,
- javax.jmdns.impl.tasks,
- javax.jmdns.impl.tasks.resolver,
- javax.jmdns.impl.tasks.state

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractMap<K,V> (implements java.util.Map<K,V>)
    - javax.jmdns.impl.DNSCache
    - javax.jmdns.impl.JmDNSImpl.ServiceTypeEntry (implements java.lang.Cloneable)
  - javax.jmdns.impl.DNSCache._CacheEntry (implements java.util.Map.Entry<K,V>)
  - javax.jmdns.impl.constants.DNSConstants
  - javax.jmdns.impl.DNSEntry
    - javax.jmdns.impl.DNSQuestion
    - javax.jmdns.impl.DNSRecord
      - javax.jmdns.impl.DNSRecord.Address
        - javax.jmdns.impl.DNSRecord.IPv4Address
        - javax.jmdns.impl.DNSRecord.IPv6Address
      - javax.jmdns.impl.DNSRecord.HostInformation
      - javax.jmdns.impl.DNSRecord.Pointer
      - javax.jmdns.impl.DNSRecord.Service
      - javax.jmdns.impl.DNSRecord.Text
  - javax.jmdns.impl.DNSMessage
    - javax.jmdns.impl.DNSIncoming
    - javax.jmdns.impl.DNSOutgoing
  - javax.jmdns.impl.DNSStatefulObject.DNSStatefulObjectSemaphore
  - javax.jmdns.impl.DNSTaskStarter.DNSTaskStarterImpl (implements javax.jmdns.impl.DNSTaskStarter)
  - javax.jmdns.impl.DNSTaskStarter.Factory
  - java.util.EventObject (implements java.io.Serializable)
    - javax.jmdns.NetworkTopologyEvent
      - javax.jmdns.impl.NetworkTopologyEventImpl (implements java.lang.Cloneable)
    - javax.jmdns.ServiceEvent (implements java.lang.Cloneable)
      - javax.jmdns.impl.ServiceEventImpl
  - javax.jmdns.impl.HostInfo (implements javax.jmdns.impl.DNSStatefulObject)
  - java.io.InputStream (implements java.io.Closeable)
    - java.io.ByteArrayInputStream
      - javax.jmdns.impl.DNSIncoming.MessageInputStream
  - javax.jmdns.JmDNS (implements java.io.Closeable)
    - javax.jmdns.impl.JmDNSImpl (implements javax.jmdns.impl.DNSStatefulObject, javax.jmdns.impl.DNSTaskStarter)
  - javax.jmdns.impl.JmDNSImpl.Shutdown (implements java.lang.Runnable)
  - javax.jmdns.JmmDNS.Factory
  - javax.jmdns.impl.JmmDNSImpl (implements javax.jmdns.JmmDNS, javax.jmdns.NetworkTopologyListener, javax.jmdns.impl.ServiceInfoImpl.Delegate)
  - javax.jmdns.impl.ListenerStatus<T>
    - javax.jmdns.impl.ListenerStatus.ServiceListenerStatus
    - javax.jmdns.impl.ListenerStatus.ServiceTypeListenerStatus
  - javax.jmdns.impl.NameRegister.Factory
  - javax.jmdns.impl.NameRegister.UniqueNameAcrossInterface (implements javax.jmdns.impl.NameRegister)
  - javax.jmdns.impl.NameRegister.UniqueNamePerInterface (implements javax.jmdns.impl.NameRegister)
  - javax.jmdns.NetworkTopologyDiscovery.Factory
  - javax.jmdns.impl.NetworkTopologyDiscoveryImpl (implements javax.jmdns.NetworkTopologyDiscovery)
  - java.io.OutputStream (implements java.io.Closeable, java.io.Flushable)
    - java.io.ByteArrayOutputStream
      - javax.jmdns.impl.DNSOutgoing.MessageOutputStream
  - java.util.concurrent.locks.ReentrantLock (implements java.util.concurrent.locks.Lock, java.io.Serializable)
    - javax.jmdns.impl.DNSStatefulObject.DefaultImplementation (implements javax.jmdns.impl.DNSStatefulObject)
  - javax.jmdns.ServiceInfo (implements java.lang.Cloneable)
    - javax.jmdns.impl.ServiceInfoImpl (implements javax.jmdns.impl.DNSStatefulObject)
  - java.util.Timer
    - javax.jmdns.impl.DNSTaskStarter.DNSTaskStarterImpl.StarterTimer
  - java.util.TimerTask (implements java.lang.Runnable)
    - javax.jmdns.impl.tasks.DNSTask
      - javax.jmdns.impl.tasks.resolver.DNSResolverTask
        - javax.jmdns.impl.tasks.resolver.ServiceInfoResolver
        - javax.jmdns.impl.tasks.resolver.ServiceResolver
        - javax.jmdns.impl.tasks.resolver.TypeResolver
      - javax.jmdns.impl.tasks.state.DNSStateTask
        - javax.jmdns.impl.tasks.state.Announcer
        - javax.jmdns.impl.tasks.state.Canceler
        - javax.jmdns.impl.tasks.state.Prober
        - javax.jmdns.impl.tasks.state.Renewer
      - javax.jmdns.impl.tasks.RecordReaper
      - javax.jmdns.impl.tasks.Responder

## Interface Hierarchy

- java.lang.AutoCloseable
  - java.io.Closeable
    - javax.jmdns.JmmDNS
- javax.jmdns.impl.DNSStatefulObject
- javax.jmdns.impl.DNSTaskStarter
- javax.jmdns.impl.DNSTaskStarter.Factory.ClassDelegate
- java.util.EventListener
  - javax.jmdns.NetworkTopologyListener
  - javax.jmdns.ServiceListener
  - javax.jmdns.ServiceTypeListener
- javax.jmdns.JmDNS.Delegate
- javax.jmdns.JmmDNS.Factory.ClassDelegate
- javax.jmdns.impl.NameRegister
- javax.jmdns.NetworkTopologyDiscovery
- javax.jmdns.NetworkTopologyDiscovery.Factory.ClassDelegate
- javax.jmdns.impl.ServiceInfoImpl.Delegate

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - javax.jmdns.ServiceInfo.Fields
    - javax.jmdns.impl.NameRegister.NameType
    - javax.jmdns.impl.JmDNSImpl.Operation
    - javax.jmdns.impl.constants.DNSOperationCode
    - javax.jmdns.impl.constants.DNSRecordClass
    - javax.jmdns.impl.constants.DNSResultCode
    - javax.jmdns.impl.constants.DNSRecordType
    - javax.jmdns.impl.constants.DNSState
    - javax.jmdns.impl.constants.DNSLabel
    - javax.jmdns.impl.constants.DNSOptionCode