Represents a message that is received from the event bus in a handler.

Messages have a body, which can be null, and also headers, which can be empty.

If the message was sent specifying a reply handler it will also have a replyAddress. In that case the message can be replied to using that reply address, or, more simply by just using reply.

If you want to notify the sender that processing failed, then fail can be called.

- `Anything`
  - `Object`
    - `Basic` ...and other supertypes
      - `Message`

- `Message`
  - `Basic`
    - `Identifiable`
    - `Object`
      - `Anything`

no subtypes hierarchy

Initializer
`Message(Message<out Object> unknown)`

Inherited Attributes
Attributes inherited from: `Object` `hash`, `string`

Methods
`address` | `shared default String address()` The address the message was sent to
`body` | `shared default T body()` The body of the message. Can be null.
`fail` | `shared default void fail(Integer failureCode, String message)` Signal to the sender that processing of this message failed. If the message was sent specifying a result handler the handler will be called with a failure corresponding to the failure code and message specified here. Parameters: `failureCode` A failure code to pass back to the sender `message` A message to pass back to the sender
`headers` | `shared default MultiMap headers()` Multi-map of message headers. Can be empty
`isSend` | `shared default Boolean isSend()` Signals if this message represents a send or publish event.
`reply` | `shared default void reply(Object? message)` Reply to this message. If the message was sent specifying a reply handler, that handler will be called when it has received a reply. If the message wasn't sent specifying a receipt handler this method does nothing. Parameters: `message` the message to reply with.
`reply` | `shared default void reply(Object? message, DeliveryOptions options)` Link reply but allows you to specify delivery options for the reply. Parameters: `message` the reply message `options` the delivery options
`reply` | `shared default void reply<R>(Object? message, Anything(Throwable|Message<R?>) replyHandler)` The same as `reply(R message)` but you can specify handler for the reply - i.e. to receive the reply to the reply. Parameters: `message` the message to reply with. `replyHandler` the reply handler for the reply.
`reply` | `shared default void reply<R>(Object? message, DeliveryOptions options, Anything(*Tuple<Throwable|Message<R?>,Throwable|Message<R?>,[]>) replyHandler)` The same as `reply(R message, DeliveryOptions)` but you can specify handler for the reply - i.e. to receive the reply to the reply. Parameters: `message` the reply message `options` the delivery options `replyHandler` the reply handler for the reply.
`replyAddress` | `shared default String? replyAddress()` The reply address. Can be null.

Inherited Methods
Methods inherited from: `Object` `equals`