Package com.swiftmq.jms
Class BytesMessageImpl
- java.lang.Object
-
- com.swiftmq.jms.MessageImpl
-
- com.swiftmq.jms.BytesMessageImpl
-
- All Implemented Interfaces:
java.io.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:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class com.swiftmq.jms.MessageImpl
DEFAULT_PRIORITY, MAX_PRIORITY, MIN_PRIORITY, PROP_CLIENT_ID, PROP_DELIVERY_COUNT, PROP_DOUBT_DUPLICATE, PROP_UNROUTABLE_REASON, PROP_USER_ID
-
-
Constructor Summary
Constructors Constructor Description BytesMessageImpl()
Creates a new BytesMessageImpl.BytesMessageImpl(byte[] array, int cnt)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description byte[]
_getBody()
long
_getBodyLength()
void
clearBody()
Clear out the message body.long
getBodyLength()
protected int
getType()
protected void
readBody(java.io.DataInput in)
boolean
readBoolean()
byte
readByte()
Read a signed 8-bit value from the stream message.int
readBytes(byte[] value)
Read a byte array from the stream message.int
readBytes(byte[] value, int length)
Read a portion of the bytes message.char
readChar()
Read a Unicode character value from the stream message.double
readDouble()
Read adouble
from the stream message.float
readFloat()
Read afloat
from the stream message.int
readInt()
Read a signed 32-bit integer from the stream message.long
readLong()
Read a signed 64-bit integer from the stream message.short
readShort()
Read a signed 16-bit number from the stream message.int
readUnsignedByte()
Read an unsigned 8-bit number from the stream message.int
readUnsignedShort()
Read an unsigned 16-bit number from the stream message.java.lang.String
readUTF()
Read in a string that has been encoded using a modified UTF-8 format from the stream message.void
reset()
Put the message in read-only mode, and reposition the stream of bytes to the beginning.java.lang.String
toString()
protected void
writeBody(java.io.DataOutput out)
void
writeBoolean(boolean value)
Write aboolean
to the stream message as a 1-byte value.void
writeByte(byte value)
Write out abyte
to the stream message as a 1-byte value.void
writeBytes(byte[] value)
Write a byte array to the stream message.void
writeBytes(byte[] value, int offset, int length)
Write a portion of a byte array to the stream message.void
writeChar(char value)
Write achar
to the stream message as a 2-byte value, high byte first.void
writeDouble(double value)
Convert the double argument to along
using thedoubleToLongBits
method in classDouble
, and then writes thatlong
value to the stream message as an 8-byte quantity, high byte first.void
writeFloat(float value)
Convert the float argument to anint
using thefloatToIntBits
method in classFloat
, and then writes thatint
value to the stream message as a 4-byte quantity, high byte first.void
writeInt(int value)
Write anint
to the stream message as four bytes, high byte first.void
writeLong(long value)
Write along
to the stream message as eight bytes, high byte first.void
writeObject(java.lang.Object value)
Write a Java object to the stream message.void
writeShort(short value)
Write ashort
to the stream message as two bytes, high byte first.void
writeUTF(java.lang.String value)
Write a string to the stream message using UTF-8 encoding in a machine-independent manner.-
Methods inherited from class com.swiftmq.jms.MessageImpl
acknowledge, clearProperties, clearSwiftMQAllProps, clearSwiftMQProps, createInstance, getBooleanProperty, getByteProperty, getDestQueue, getDestRouter, getDoubleProperty, getDuplicateId, getField, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getMessageIndex, getMessageLength, getObjectProperty, getPersistentKey, getPropertyNames, getShortProperty, getSourceRouter, getStreamPKey, getStringProperty, isCancelled, propertyExists, readContent, readContent, removeProperty, setBooleanProperty, setByteProperty, setDestQueue, setDestRouter, setDoubleProperty, setDuplicateId, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setMessageConsumerImpl, setMessageIndex, setObjectProperty, setPersistentKey, setReadOnly, setSessionImpl, setShortProperty, setSourceRouter, setStreamPKey, setStringProperty, setUseThreadContextCL, unfoldBody, unfoldBuffers, writeContent, writeContent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface javax.jms.Message
acknowledge, clearProperties, getBooleanProperty, getByteProperty, getDoubleProperty, getFloatProperty, getIntProperty, getJMSCorrelationID, getJMSCorrelationIDAsBytes, getJMSDeliveryMode, getJMSDestination, getJMSExpiration, getJMSMessageID, getJMSPriority, getJMSRedelivered, getJMSReplyTo, getJMSTimestamp, getJMSType, getLongProperty, getObjectProperty, getPropertyNames, getShortProperty, getStringProperty, propertyExists, setBooleanProperty, setByteProperty, setDoubleProperty, setFloatProperty, setIntProperty, setJMSCorrelationID, setJMSCorrelationIDAsBytes, setJMSDeliveryMode, setJMSDestination, setJMSExpiration, setJMSMessageID, setJMSPriority, setJMSRedelivered, setJMSReplyTo, setJMSTimestamp, setJMSType, setLongProperty, setObjectProperty, setShortProperty, setStringProperty
-
-
-
-
Method Detail
-
getType
protected int getType()
- Overrides:
getType
in classMessageImpl
-
writeBody
protected void writeBody(java.io.DataOutput out) throws java.io.IOException
- Overrides:
writeBody
in classMessageImpl
- Throws:
java.io.IOException
-
readBody
protected void readBody(java.io.DataInput in) throws java.io.IOException
- Overrides:
readBody
in classMessageImpl
- Throws:
java.io.IOException
-
_getBodyLength
public long _getBodyLength()
-
_getBody
public byte[] _getBody()
-
getBodyLength
public long getBodyLength() throws javax.jms.JMSException
- Specified by:
getBodyLength
in interfacejavax.jms.BytesMessage
- Throws:
javax.jms.JMSException
-
readBoolean
public boolean readBoolean() throws javax.jms.JMSException
- Specified by:
readBoolean
in interfacejavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.jms.JMSException
- if JMS fails to read message due to some internal JMS error.
-
readFloat
public float readFloat() throws javax.jms.JMSException
Read afloat
from the stream message.- Specified by:
readFloat
in interfacejavax.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 streamjavax.jms.JMSException
- if JMS fails to read message due to some internal JMS error.
-
readDouble
public double readDouble() throws javax.jms.JMSException
Read adouble
from the stream message.- Specified by:
readDouble
in interfacejavax.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 streamjavax.jms.JMSException
- if JMS fails to read message due to some internal JMS error.
-
readUTF
public java.lang.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 interfacejavax.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 streamjavax.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 aboolean
to the stream message as a 1-byte value. The valuetrue
is written out as the value(byte)1
; the valuefalse
is written out as the value(byte)0
.- Specified by:
writeBoolean
in interfacejavax.jms.BytesMessage
- Parameters:
value
- theboolean
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 abyte
to the stream message as a 1-byte value.- Specified by:
writeByte
in interfacejavax.jms.BytesMessage
- Parameters:
value
- thebyte
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 ashort
to the stream message as two bytes, high byte first.- Specified by:
writeShort
in interfacejavax.jms.BytesMessage
- Parameters:
value
- theshort
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 achar
to the stream message as a 2-byte value, high byte first.- Specified by:
writeChar
in interfacejavax.jms.BytesMessage
- Parameters:
value
- thechar
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 anint
to the stream message as four bytes, high byte first.- Specified by:
writeInt
in interfacejavax.jms.BytesMessage
- Parameters:
value
- theint
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 along
to the stream message as eight bytes, high byte first.- Specified by:
writeLong
in interfacejavax.jms.BytesMessage
- Parameters:
value
- thelong
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 anint
using thefloatToIntBits
method in classFloat
, and then writes thatint
value to the stream message as a 4-byte quantity, high byte first.- Specified by:
writeFloat
in interfacejavax.jms.BytesMessage
- Parameters:
value
- thefloat
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 along
using thedoubleToLongBits
method in classDouble
, and then writes thatlong
value to the stream message as an 8-byte quantity, high byte first.- Specified by:
writeDouble
in interfacejavax.jms.BytesMessage
- Parameters:
value
- thedouble
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(java.lang.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 interfacejavax.jms.BytesMessage
- Parameters:
value
- theString
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 interfacejavax.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 interfacejavax.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(java.lang.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 interfacejavax.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 interfacejavax.jms.BytesMessage
- Overrides:
reset
in classMessageImpl
- 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 interfacejavax.jms.Message
- Overrides:
clearBody
in classMessageImpl
- Throws:
javax.jms.JMSException
- if JMS fails to due to some internal JMS error.
-
toString
public java.lang.String toString()
- Overrides:
toString
in classMessageImpl
-
-