Class BytesMessageImpl

java.lang.Object
com.swiftmq.jms.MessageImpl
com.swiftmq.jms.BytesMessageImpl
All Implemented Interfaces:
Serializable, javax.jms.BytesMessage, javax.jms.Message

public class BytesMessageImpl extends MessageImpl implements javax.jms.BytesMessage
Implementation of a BytesMessage.
Author:
IIT GmbH, Bremen/Germany, Copyright (c) 2000-2002, All Rights Reserved
See Also:
  • Constructor Details

    • BytesMessageImpl

      public BytesMessageImpl()
      Creates a new BytesMessageImpl. The message is set to write-only mode.
    • BytesMessageImpl

      public BytesMessageImpl(byte[] array, int cnt)
  • Method Details

    • getType

      protected int getType()
      Overrides:
      getType in class MessageImpl
    • writeBody

      protected void writeBody(DataOutput out) throws IOException
      Overrides:
      writeBody in class MessageImpl
      Throws:
      IOException
    • readBody

      protected void readBody(DataInput in) throws IOException
      Overrides:
      readBody in class MessageImpl
      Throws:
      IOException
    • _getBodyLength

      public long _getBodyLength()
    • _getBody

      public byte[] _getBody()
    • getBodyLength

      public long getBodyLength() throws javax.jms.JMSException
      Specified by:
      getBodyLength in interface javax.jms.BytesMessage
      Throws:
      javax.jms.JMSException
    • readBoolean

      public boolean readBoolean() throws javax.jms.JMSException
      Specified by:
      readBoolean in interface javax.jms.BytesMessage
      Throws:
      javax.jms.JMSException
    • readByte

      public byte readByte() throws javax.jms.JMSException
      Read a signed 8-bit value from the stream message.
      Specified by:
      readByte in interface javax.jms.BytesMessage
      Returns:
      the next byte from the stream message as a signed 8-bit byte.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readUnsignedByte

      public int readUnsignedByte() throws javax.jms.JMSException
      Read an unsigned 8-bit number from the stream message.
      Specified by:
      readUnsignedByte in interface javax.jms.BytesMessage
      Returns:
      the next byte from the stream message, interpreted as an unsigned 8-bit number.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readShort

      public short readShort() throws javax.jms.JMSException
      Read a signed 16-bit number from the stream message.
      Specified by:
      readShort in interface javax.jms.BytesMessage
      Returns:
      the next two bytes from the stream message, interpreted as a signed 16-bit number.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readUnsignedShort

      public int readUnsignedShort() throws javax.jms.JMSException
      Read an unsigned 16-bit number from the stream message.
      Specified by:
      readUnsignedShort in interface javax.jms.BytesMessage
      Returns:
      the next two bytes from the stream message, interpreted as an unsigned 16-bit integer.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readChar

      public char readChar() throws javax.jms.JMSException
      Read a Unicode character value from the stream message.
      Specified by:
      readChar in interface javax.jms.BytesMessage
      Returns:
      the next two bytes from the stream message as a Unicode character.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readInt

      public int readInt() throws javax.jms.JMSException
      Read a signed 32-bit integer from the stream message.
      Specified by:
      readInt in interface javax.jms.BytesMessage
      Returns:
      the next four bytes from the stream message, interpreted as an int.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readLong

      public long readLong() throws javax.jms.JMSException
      Read a signed 64-bit integer from the stream message.
      Specified by:
      readLong in interface javax.jms.BytesMessage
      Returns:
      the next eight bytes from the stream message, interpreted as a long.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readFloat

      public float readFloat() throws javax.jms.JMSException
      Read a float from the stream message.
      Specified by:
      readFloat in interface javax.jms.BytesMessage
      Returns:
      the next four bytes from the stream message, interpreted as a float.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readDouble

      public double readDouble() throws javax.jms.JMSException
      Read a double from the stream message.
      Specified by:
      readDouble in interface javax.jms.BytesMessage
      Returns:
      the next eight bytes from the stream message, interpreted as a double.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readUTF

      public String readUTF() throws javax.jms.JMSException
      Read in a string that has been encoded using a modified UTF-8 format from the stream message.

      For more information on the UTF-8 format, see "File System Safe UCS Transformation Format (FSS_UFT)", X/Open Preliminary Specification, X/Open Company Ltd., Document Number: P316. This information also appears in ISO/IEC 10646, Annex P.

      Specified by:
      readUTF in interface javax.jms.BytesMessage
      Returns:
      a Unicode string from the stream message.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readBytes

      public int readBytes(byte[] value) throws javax.jms.JMSException
      Read a byte array from the stream message.
      Specified by:
      readBytes in interface javax.jms.BytesMessage
      Parameters:
      value - the buffer into which the data is read.
      Returns:
      the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • readBytes

      public int readBytes(byte[] value, int length) throws javax.jms.JMSException
      Read a portion of the bytes message.
      Specified by:
      readBytes in interface javax.jms.BytesMessage
      Parameters:
      value - the buffer into which the data is read.
      length - the number of bytes to read.
      Returns:
      the total number of bytes read into the buffer, or -1 if there is no more data because the end of the stream has been reached.
      Throws:
      javax.jms.MessageNotReadableException - if message in write-only mode.
      javax.jms.MessageEOFException - if end of message stream
      javax.jms.JMSException - if JMS fails to read message due to some internal JMS error.
    • writeBoolean

      public void writeBoolean(boolean value) throws javax.jms.JMSException
      Write a boolean to the stream message as a 1-byte value. The value true is written out as the value (byte)1; the value false is written out as the value (byte)0.
      Specified by:
      writeBoolean in interface javax.jms.BytesMessage
      Parameters:
      value - the boolean value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeByte

      public void writeByte(byte value) throws javax.jms.JMSException
      Write out a byte to the stream message as a 1-byte value.
      Specified by:
      writeByte in interface javax.jms.BytesMessage
      Parameters:
      value - the byte value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeShort

      public void writeShort(short value) throws javax.jms.JMSException
      Write a short to the stream message as two bytes, high byte first.
      Specified by:
      writeShort in interface javax.jms.BytesMessage
      Parameters:
      value - the short to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeChar

      public void writeChar(char value) throws javax.jms.JMSException
      Write a char to the stream message as a 2-byte value, high byte first.
      Specified by:
      writeChar in interface javax.jms.BytesMessage
      Parameters:
      value - the char value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeInt

      public void writeInt(int value) throws javax.jms.JMSException
      Write an int to the stream message as four bytes, high byte first.
      Specified by:
      writeInt in interface javax.jms.BytesMessage
      Parameters:
      value - the int to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeLong

      public void writeLong(long value) throws javax.jms.JMSException
      Write a long to the stream message as eight bytes, high byte first.
      Specified by:
      writeLong in interface javax.jms.BytesMessage
      Parameters:
      value - the long to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeFloat

      public void writeFloat(float value) throws javax.jms.JMSException
      Convert the float argument to an int using the floatToIntBits method in class Float, and then writes that int value to the stream message as a 4-byte quantity, high byte first.
      Specified by:
      writeFloat in interface javax.jms.BytesMessage
      Parameters:
      value - the float value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeDouble

      public void writeDouble(double value) throws javax.jms.JMSException
      Convert the double argument to a long using the doubleToLongBits method in class Double, and then writes that long value to the stream message as an 8-byte quantity, high byte first.
      Specified by:
      writeDouble in interface javax.jms.BytesMessage
      Parameters:
      value - the double value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeUTF

      public void writeUTF(String value) throws javax.jms.JMSException
      Write a string to the stream message using UTF-8 encoding in a machine-independent manner.

      For more information on the UTF-8 format, see "File System Safe UCS Transformation Format (FSS_UFT)", X/Open Preliminary Specification, X/Open Company Ltd., Document Number: P316. This information also appears in ISO/IEC 10646, Annex P.

      Specified by:
      writeUTF in interface javax.jms.BytesMessage
      Parameters:
      value - the String value to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeBytes

      public void writeBytes(byte[] value) throws javax.jms.JMSException
      Write a byte array to the stream message.
      Specified by:
      writeBytes in interface javax.jms.BytesMessage
      Parameters:
      value - the byte array to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeBytes

      public void writeBytes(byte[] value, int offset, int length) throws javax.jms.JMSException
      Write a portion of a byte array to the stream message.
      Specified by:
      writeBytes in interface javax.jms.BytesMessage
      Parameters:
      value - the byte array value to be written.
      offset - the initial offset within the byte array.
      length - the number of bytes to use.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • writeObject

      public void writeObject(Object value) throws javax.jms.JMSException
      Write a Java object to the stream message.

      Note that this method only works for the objectified primitive object types (Integer, Double, Long ...), String's and byte arrays.

      Specified by:
      writeObject in interface javax.jms.BytesMessage
      Parameters:
      value - the Java object to be written.
      Throws:
      javax.jms.MessageNotWriteableException - if message in read-only mode.
      javax.jms.MessageFormatException - if object is invalid type.
      javax.jms.JMSException - if JMS fails to write message due to some internal JMS error.
    • reset

      public void reset() throws javax.jms.JMSException
      Put the message in read-only mode, and reposition the stream of bytes to the beginning.
      Specified by:
      reset in interface javax.jms.BytesMessage
      Overrides:
      reset in class MessageImpl
      Throws:
      javax.jms.JMSException - if JMS fails to reset the message due to some internal JMS error.
      javax.jms.MessageFormatException - if message has an invalid format
    • clearBody

      public void clearBody() throws javax.jms.JMSException
      Clear out the message body. All other parts of the message are left untouched.
      Specified by:
      clearBody in interface javax.jms.Message
      Overrides:
      clearBody in class MessageImpl
      Throws:
      javax.jms.JMSException - if JMS fails to due to some internal JMS error.
    • toString

      public String toString()
      Overrides:
      toString in class MessageImpl