io.vertx.core.eventbus

## Interface Message<T>

-     public interface Message<T>

  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(java.lang.Object)`.

  If you want to notify the sender that processing failed, then `fail(int, java.lang.String)` can be called.

  Author:
    Tim Fox

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `address()` The address the message was sent to
    `T` | `body()` The body of the message.
    `void` | `fail(int failureCode, String message)` Signal to the sender that processing of this message failed.
    `MultiMap` | `headers()` Multi-map of message headers.
    `boolean` | `isSend()` Signals if this message represents a send or publish event.
    `void` | `reply(Object message)` Reply to this message.
    `void` | `reply(Object message, DeliveryOptions options)` Link `reply(Object)` but allows you to specify delivery options for the reply.
    `<R> void` | `reply(Object message, DeliveryOptions options, Handler<AsyncResult<Message<R>>> replyHandler)` The same as `reply(R message, DeliveryOptions)` but you can specify handler for the reply - i.e.
    `<R> void` | `reply(Object message, Handler<AsyncResult<Message<R>>> replyHandler)` The same as `reply(R message)` but you can specify handler for the reply - i.e.
    `String` | `replyAddress()` The reply address.

- - ### Method Detail

    - #### address

          String address()

      The address the message was sent to

    - #### headers

          MultiMap headers()

      Multi-map of message headers. Can be empty
      Returns:
        the headers

    - #### body

          T body()

      The body of the message. Can be null.
      Returns:
        the body, or null.

    - #### replyAddress

          String replyAddress()

      The reply address. Can be null.
      Returns:
        the reply address, or null, if message was sent without a reply handler.

    - #### isSend

          boolean isSend()

      Signals if this message represents a send or publish event.
      Returns:
        true if this is a send.

    - #### reply

          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

          <R> void reply(Object message,
                         Handler<AsyncResult<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

          void reply(Object message,
                     DeliveryOptions options)

      Link `reply(Object)` but allows you to specify delivery options for the reply.
      Parameters:
        `message` - the reply message
        `options` - the delivery options

    - #### reply

          <R> void reply(Object message,
                         DeliveryOptions options,
                         Handler<AsyncResult<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.

    - #### fail

          void fail(int 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

Copyright © 2017. All rights reserved.