# Hierarchy For All Packages

Package Hierarchies:

- nl.tue.id.datafoundry,
- nl.tue.id.oocsi,
- nl.tue.id.oocsi.client,
- nl.tue.id.oocsi.client.behavior,
- nl.tue.id.oocsi.client.behavior.state,
- nl.tue.id.oocsi.client.data,
- nl.tue.id.oocsi.client.protocol,
- nl.tue.id.oocsi.client.services,
- nl.tue.id.oocsi.client.socket

## Class Hierarchy

- java.lang.Object
  - nl.tue.id.oocsi.Animator
  - nl.tue.id.oocsi.client.socket.Base64Coder
  - nl.tue.id.oocsi.Constellation
  - nl.tue.id.datafoundry.DataFoundry
  - nl.tue.id.datafoundry.DFDataset
  - nl.tue.id.oocsi.EventRecorder
  - nl.tue.id.oocsi.client.protocol.Handler
    - nl.tue.id.oocsi.client.protocol.DataHandler
    - nl.tue.id.oocsi.client.protocol.EventHandler
      - nl.tue.id.oocsi.client.protocol.RateLimitedEventHandler
        - nl.tue.id.oocsi.client.protocol.RateLimitedClientEventHandler
    - nl.tue.id.oocsi.client.protocol.MultiHandler
    - nl.tue.id.oocsi.client.services.Responder
  - nl.tue.id.oocsi.client.data.JSONReader
  - nl.tue.id.oocsi.client.data.JSONWriter
  - nl.tue.id.oocsi.OOCSI
  - nl.tue.id.oocsi.client.OOCSIClient
    - nl.tue.id.oocsi.OOCSICommunicator
  - nl.tue.id.oocsi.client.protocol.OOCSIDataImpl (implements nl.tue.id.oocsi.OOCSIData)
  - nl.tue.id.oocsi.client.data.OOCSIDevice
  - nl.tue.id.oocsi.OOCSIEvent
    - nl.tue.id.oocsi.client.protocol.OOCSIMessage (implements nl.tue.id.oocsi.OOCSIData)
      - nl.tue.id.oocsi.client.protocol.MultiMessage
      - nl.tue.id.oocsi.client.services.OOCSICall
  - nl.tue.id.oocsi.client.behavior.state.OOCSIStateMachine
  - nl.tue.id.oocsi.client.behavior.state.OOCSIStateMachine.State
  - nl.tue.id.oocsi.client.behavior.state.OOCSIStateMachine.Transition
  - nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator<T>
    - nl.tue.id.oocsi.client.behavior.OOCSIAwareness
    - nl.tue.id.oocsi.client.behavior.OOCSIConsensus<T>
    - nl.tue.id.oocsi.client.behavior.OOCSIGather<T>
    - nl.tue.id.oocsi.client.behavior.OOCSISpatial
    - nl.tue.id.oocsi.client.behavior.OOCSISpread
    - nl.tue.id.oocsi.client.behavior.OOCSISync
    - nl.tue.id.oocsi.client.behavior.OOCSIVariable<T>
    - nl.tue.id.oocsi.client.data.OOCSIVariable<T>
      - nl.tue.id.oocsi.OOCSIBoolean
      - nl.tue.id.oocsi.OOCSIDouble
      - nl.tue.id.oocsi.OOCSIFloat
      - nl.tue.id.oocsi.OOCSIInt
      - nl.tue.id.oocsi.OOCSILong
      - nl.tue.id.oocsi.OOCSIString
    - nl.tue.id.oocsi.OOCSIVariable<T>
  - nl.tue.id.oocsi.client.behavior.OOCSISystemCommunicator.SystemFilter<K>
  - nl.tue.id.oocsi.client.services.Service
  - nl.tue.id.oocsi.client.services.Service.ServiceField<T>
  - nl.tue.id.oocsi.client.services.Service.ServiceMethod
  - nl.tue.id.oocsi.client.socket.SocketClient
  - nl.tue.id.oocsi.client.socket.SocketClientRunner (implements java.lang.Runnable)
  - nl.tue.id.oocsi.StateMachine
  - nl.tue.id.oocsi.StateMachine.State
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - nl.tue.id.oocsi.client.socket.SocketClient.OOCSIAuthenticationException

## Interface Hierarchy

- nl.tue.id.oocsi.OOCSIData
- nl.tue.id.oocsi.client.behavior.OOCSISpatial.DistanceMetric<T>

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - nl.tue.id.oocsi.client.data.OOCSIDevice.BinarySensorType
    - nl.tue.id.oocsi.client.data.OOCSIDevice.LedType
    - nl.tue.id.oocsi.client.data.OOCSIDevice.LightSpectrum
    - nl.tue.id.oocsi.client.data.OOCSIDevice.SensorType
    - nl.tue.id.oocsi.client.data.OOCSIDevice.SwitchType