Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.rabbitmq.client.impl
Class AMQCommand

    java.lang.Object
      com.rabbitmq.client.impl.AMQCommand

All Implemented Interfaces:
  Command

    public class AMQCommand

extends java.lang.Object
implements Command

AMQ-specific implementation of `Command` which accumulates method, header and body from a series of frames, unless these are supplied at construction time.

Concurrency
This class is thread-safe.

Field Summary
`static int` | `EMPTY_FRAME_SIZE` EMPTY_FRAME_SIZE = 8 = 1 + 2 + 4 + 1 1 byte of frame type 2 bytes of channel number 4 bytes of frame payload length 1 byte of payload trailer FRAME_END byte See `checkEmptyFrameSize()`, an assertion checked at startup.

Constructor Summary
`AMQCommand()` Construct a command ready to fill in by reading frames
`AMQCommand(Method method)` Construct a command with just a method, and without header or body.
`AMQCommand(Method method, AMQContentHeader contentHeader, byte[] body)` Construct a command with a specified method, header and body.

Method Summary
`static void` | `checkPreconditions()` Called to check internal code assumptions.
`byte[]` | `getContentBody()` Public API - Retrieves the body byte array that travelled as part of this Command, if any.
`AMQContentHeader` | `getContentHeader()` Public API - Retrieves the ContentHeader subclass instance held as part of this Command, if any.
`Method` | `getMethod()` Public API - Retrieves the `Method` held within this Command.
`boolean` | `handleFrame(Frame f)`
`java.lang.String` | `toString()`
`java.lang.String` | `toString(boolean suppressBody)`
`void` | `transmit(AMQChannel channel)` Sends this command down the named channel on the channel's connection, possibly in multiple frames.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### EMPTY_FRAME_SIZE

    public static final int EMPTY_FRAME_SIZE

  EMPTY_FRAME_SIZE = 8 = 1 + 2 + 4 + 1
  - 1 byte of frame type
  - 2 bytes of channel number
  - 4 bytes of frame payload length
  - 1 byte of payload trailer FRAME_END byte
  See `checkEmptyFrameSize()`, an assertion checked at startup.

  See Also:
    Constant Field Values

Constructor Detail

### AMQCommand

    public AMQCommand()

  Construct a command ready to fill in by reading frames

### AMQCommand

    public AMQCommand(Method method)

  Construct a command with just a method, and without header or body.

  Parameters:
    `method` - the wrapped method

### AMQCommand

    public AMQCommand(Method method,
                      AMQContentHeader contentHeader,
                      byte[] body)

  Construct a command with a specified method, header and body.

  Parameters:
    `method` - the wrapped method
    `contentHeader` - the wrapped content header
    `body` - the message body data

Method Detail

### getMethod

    public Method getMethod()

  Public API - Retrieves the `Method` held within this Command. Downcast to concrete (implementation-specific!) subclasses as necessary.

  Specified by:
    `getMethod` in interface `Command`
  Returns:
    the command's method.

### getContentHeader

    public AMQContentHeader getContentHeader()

  Public API - Retrieves the ContentHeader subclass instance held as part of this Command, if any. Downcast to one of the inner classes of AMQP, for instance `AMQP.BasicProperties`, as appropriate.

  Specified by:
    `getContentHeader` in interface `Command`
  Returns:
    the Command's `ContentHeader`, or null if none

### getContentBody

    public byte[] getContentBody()

  Public API - Retrieves the body byte array that travelled as part of this Command, if any.

  Specified by:
    `getContentBody` in interface `Command`
  Returns:
    the Command's content body, or null if none

### handleFrame

    public boolean handleFrame(Frame f)
                        throws java.io.IOException

  Throws:
    `java.io.IOException`

### transmit

    public void transmit(AMQChannel channel)
                  throws java.io.IOException

  Sends this command down the named channel on the channel's connection, possibly in multiple frames.

  Parameters:
    `channel` - the channel on which to transmit the command
  Throws:
    `java.io.IOException` - if an error is encountered

### toString

    public java.lang.String toString()

  Overrides:
    `toString` in class `java.lang.Object`

### toString

    public java.lang.String toString(boolean suppressBody)

### checkPreconditions

    public static void checkPreconditions()

  Called to check internal code assumptions.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD