## Uses of Class
madkit.message.ObjectMessage

- Packages that use ObjectMessage
  Package | Description
  --- | ---
  madkit.message | Contains subclasses of `Message` which could be easily reused.
  madkit.message.hook | Contains message classes useful for monitoring MaDKit kernel events.

- - ### Uses of ObjectMessage in madkit.message

    Subclasses of ObjectMessage in madkit.message
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BooleanMessage` A message class that conveys a boolean value.
    `class` | `EnumMessage<E extends java.lang.Enum<E>>` This parameterizable class could be used to build a message tagged with an enumeration and conveying any java objects using an array of Object.
    `class` | `GUIMessage` Message type that could be used to ask the gui manager to do something
    `class` | `IntegerMessage` A message class that conveys an integer.
    `class` | `KernelMessage` The brand new version of KernelMessage.
    `class` | `MapMessage<K,V>` This class could be used to build message conveying `Map` objects between MaDKit agents.
    `class` | `SchedulingMessage` This message class could be used to interact with a Scheduler agent.
    `class` | `StringMessage` A message class that conveys a string.

    Methods in madkit.message with type parameters of type ObjectMessage
    Modifier and Type | Method and Description
    --- | ---
    `static <T extends java.lang.Object & java.lang.Comparable<? super T>,M extends ObjectMessage<T>> M` | ObjectMessage.`max(java.util.Collection<M> messageCollection)` Returns the message containing the maximum element of the given collection, according to the natural ordering of the elements contained in the message.
    `static <T extends java.lang.Object & java.lang.Comparable<? super T>,M extends ObjectMessage<T>> M` | ObjectMessage.`min(java.util.Collection<M> messageCollection)` Returns the message containing the minimum element of the given collection, according to the natural ordering of the elements contained in the message.
    `static <T extends java.lang.Object & java.lang.Comparable<? super T>,M extends ObjectMessage<T>> void` | ObjectMessage.`sort(java.util.List<M> list)` Sorts the specified list of messages into ascending order, according to the natural ordering of the content of each message.

  - ### Uses of ObjectMessage in madkit.message.hook

    Subclasses of ObjectMessage in madkit.message.hook
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AgentLifeEvent` A message which is sent to agents that have requested a hook on `HookMessage.AgentActionEvent.AGENT_STARTED` or `HookMessage.AgentActionEvent.AGENT_TERMINATED`
    `class` | `CGREvent` Root class of messages which are sent to agents that have requested hooks to the kernel
    `class` | `HookMessage` This message could be used to request a kernel's hook on agent actions so that the sender will be kept informed when an agent performed particular action.
    `class` | `MessageEvent` A message which is sent to agents that have requested a hook on `HookMessage.AgentActionEvent.AGENT_STARTED` or `HookMessage.AgentActionEvent.AGENT_TERMINATED`
    `class` | `OrganizationEvent` A message which is sent to agents that have requested a hook on `HookMessage.AgentActionEvent.CREATE_GROUP`, `HookMessage.AgentActionEvent.REQUEST_ROLE`, `HookMessage.AgentActionEvent.LEAVE_GROUP`, or `HookMessage.AgentActionEvent.LEAVE_ROLE`

Fabien Michel, Olivier Gutknecht, Jacques Ferber - September 9 2019