# Hierarchy For All Packages

Package Hierarchies:

- madkit.action,
- madkit.agr,
- madkit.gui,
- madkit.gui.menu,
- madkit.gui.toolbar,
- madkit.i18n,
- madkit.kernel,
- madkit.message,
- madkit.message.hook,
- madkit.simulation,
- madkit.simulation.activator,
- madkit.simulation.model,
- madkit.simulation.probe,
- madkit.simulation.viewer,
- madkit.util

## Class Hierarchy

- java.lang.Object
  - javax.swing.AbstractAction (implements javax.swing.Action, java.lang.Cloneable, java.io.Serializable)
    - madkit.action.MDKAbstractAction
  - madkit.kernel.AbstractAgent (implements java.lang.Comparable<T>)
    - madkit.simulation.model.AbstractModel
    - madkit.kernel.Agent
      - madkit.kernel.Scheduler
    - madkit.gui.ConsoleAgent
    - madkit.kernel.Watcher
      - madkit.simulation.viewer.SwingViewer
  - madkit.action.ActionInfo
  - madkit.kernel.Activator<A>
    - madkit.simulation.activator.GenericBehaviorActivator<A>
  - madkit.kernel.AgentAddress (implements java.io.Serializable)
  - madkit.gui.menu.AgentClassFilter
  - java.lang.ClassLoader
    - java.security.SecureClassLoader
      - java.net.URLClassLoader (implements java.io.Closeable)
        - madkit.kernel.MadkitClassLoader
  - madkit.agr.CloudCommunity (implements madkit.agr.Organization)
  - madkit.agr.CloudCommunity.Groups
  - madkit.agr.CloudCommunity.Roles
  - java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
    - java.awt.Container
      - javax.swing.JComponent (implements java.io.Serializable)
        - javax.swing.AbstractButton (implements java.awt.ItemSelectable, javax.swing.SwingConstants)
          - javax.swing.JMenuItem (implements javax.accessibility.Accessible, javax.swing.MenuElement)
            - javax.swing.JMenu (implements javax.accessibility.Accessible, javax.swing.MenuElement)
              - madkit.gui.menu.AgentLogLevelMenu
              - madkit.gui.menu.AgentMenu
              - madkit.gui.menu.ClassPathSensitiveMenu
                - madkit.gui.menu.LaunchAgentsMenu
                - madkit.gui.menu.LaunchMain
                - madkit.gui.menu.LaunchMAS
                - madkit.gui.menu.LaunchMDKConfigurations
                - madkit.gui.menu.LaunchXMLConfigurations
              - madkit.gui.menu.HelpMenu
              - madkit.gui.menu.MadkitMenu
        - javax.swing.JPanel (implements javax.accessibility.Accessible)
          - madkit.gui.AgentStatusPanel
          - madkit.gui.OutputPanel
        - javax.swing.JToolBar (implements javax.accessibility.Accessible, javax.swing.SwingConstants)
          - madkit.gui.toolbar.MadkitToolBar
      - java.awt.Window (implements javax.accessibility.Accessible)
        - java.awt.Frame (implements java.awt.MenuContainer)
          - javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
            - madkit.gui.AgentFrame
            - madkit.gui.MDKDesktopFrame
  - madkit.message.ConversationFilter (implements madkit.message.MessageFilter)
  - madkit.kernel.ConversationID (implements java.io.Serializable)
  - 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
        - madkit.util.MadkitProperties
  - madkit.action.GlobalAction
  - madkit.i18n.I18nUtilities
  - madkit.kernel.KernelAddress (implements java.io.Serializable)
  - madkit.agr.LocalCommunity (implements madkit.agr.Organization)
  - madkit.agr.LocalCommunity.Groups
  - madkit.agr.LocalCommunity.Roles
  - java.util.logging.Logger
    - madkit.kernel.AgentLogger
  - madkit.kernel.Madkit
  - madkit.gui.MASModel (implements java.lang.Comparable<T>)
  - madkit.kernel.Message (implements java.lang.Cloneable, java.io.Serializable)
    - madkit.message.ActMessage
      - madkit.message.ACLMessage
      - madkit.message.KQMLMessage
    - madkit.message.ObjectMessage<T>
      - madkit.message.BooleanMessage
      - madkit.message.EnumMessage<E>
        - madkit.message.GUIMessage
        - madkit.message.KernelMessage
        - madkit.message.SchedulingMessage
      - madkit.message.hook.HookMessage
        - madkit.message.hook.AgentLifeEvent
        - madkit.message.hook.CGREvent
          - madkit.message.hook.MessageEvent
          - madkit.message.hook.OrganizationEvent
      - madkit.message.IntegerMessage
      - madkit.message.StringMessage
    - madkit.message.XMLMessage
  - madkit.kernel.Probe<A>
    - madkit.simulation.probe.PropertyProbe<A,T>
    - madkit.simulation.probe.SingleAgentProbe<A,T>
  - madkit.message.SenderRoleFilter (implements madkit.message.MessageFilter)
  - madkit.gui.SwingUtil
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - madkit.kernel.KernelException
        - madkit.simulation.SimulationException
  - madkit.util.XMLUtilities

## Interface Hierarchy

- madkit.kernel.Gatekeeper
- madkit.kernel.MadkitOption
- madkit.message.MessageFilter
- madkit.agr.Organization

## Enum Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
    - madkit.action.SchedulingAction
    - madkit.action.AgentAction
    - madkit.action.KernelAction
    - madkit.action.GUIManagerAction
    - madkit.i18n.ErrorMessages
    - madkit.i18n.Words
    - madkit.kernel.Scheduler.SimulationState
    - madkit.kernel.Madkit.BooleanOption (implements madkit.kernel.MadkitOption)
    - madkit.kernel.Madkit.Option (implements madkit.kernel.MadkitOption)
    - madkit.kernel.Madkit.LevelOption (implements madkit.kernel.MadkitOption)
    - madkit.kernel.AbstractAgent.State
    - madkit.kernel.AbstractAgent.ReturnCode
    - madkit.message.hook.HookMessage.AgentActionEvent

Fabien Michel, Olivier Gutknecht, Jacques Ferber - September 27 2016