Package com.swiftmq.jms
Class BytesMessageImpl
java.lang.Object
com.swiftmq.jms.MessageImpl
com.swiftmq.jms.BytesMessageImpl
- All Implemented Interfaces:
Serializable
,javax.jms.BytesMessage
,javax.jms.Message
Implementation of a BytesMessage.
- Author:
- IIT GmbH, Bremen/Germany, Copyright (c) 2000-2002, All Rights Reserved
- See Also:
-
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
Fields inherited from interface javax.jms.Message
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]
_getBody()
long
void
Clear out the message body.long
protected int
getType()
protected void
boolean
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
Read adouble
from the stream message.float
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
Read a signed 16-bit number from the stream message.int
Read an unsigned 8-bit number from the stream message.int
Read an unsigned 16-bit number from the stream message.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.toString()
protected void
writeBody
(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
(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
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
-
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 classMessageImpl
-
writeBody
- Overrides:
writeBody
in classMessageImpl
- Throws:
IOException
-
readBody
- Overrides:
readBody
in classMessageImpl
- Throws:
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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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.JMSExceptionRead 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
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
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
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.JMSExceptionPut 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.JMSExceptionClear 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
- Overrides:
toString
in classMessageImpl
-