|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.exolab.jms.message.MessageImpl | +--org.exolab.jms.message.BytesMessageImpl
This class implements the BytesMessage
interface
BytesMessage
, Serialized FormFields inherited from class org.exolab.jms.message.MessageImpl |
_acceptedTime, _bodyReadOnly, _connectionId, _processed, _propertiesReadOnly, _sequenceNumber, EMPTY |
Fields inherited from interface javax.jms.Message |
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE |
Constructor Summary | |
BytesMessageImpl()
Construct a new BytesMessage. |
Method Summary | |
void |
clearBody()
Overide the super class method to reset the streams, and put the message body in write only mode. |
java.lang.Object |
clone()
Clone an instance of this object |
boolean |
readBoolean()
Read a boolean from the bytes message stream |
byte |
readByte()
Read a signed 8-bit value from the bytes message stream |
int |
readBytes(byte[] value)
Read a byte array from the bytes message stream |
int |
readBytes(byte[] value,
int length)
Read a portion of the bytes message stream. |
char |
readChar()
Read a Unicode character value from the bytes message stream |
double |
readDouble()
Read a double from the bytes message stream |
void |
readExternal(java.io.ObjectInput in)
Serialize in this message's data |
float |
readFloat()
Read a float from the bytes message stream |
int |
readInt()
Read a signed 32-bit integer from the bytes message stream |
long |
readLong()
Read a signed 64-bit integer from the bytes message stream |
short |
readShort()
Read a signed 16-bit number from the bytes message stream |
int |
readUnsignedByte()
Read an unsigned 8-bit number from the bytes message stream |
int |
readUnsignedShort()
Read an unsigned 16-bit number from the bytes message stream |
java.lang.String |
readUTF()
Read in a string that has been encoded using a modified UTF-8 format from the bytes message stream |
void |
reset()
Put the message body in read-only mode, and reposition the stream of bytes to the beginning |
void |
setReadOnly(boolean readOnly)
Set the read-only mode of the message. |
void |
writeBoolean(boolean value)
Write a boolean to the bytes message stream as a 1-byte
value. |
void |
writeByte(byte value)
Write out a byte to the bytes message stream as a 1-byte
value |
void |
writeBytes(byte[] value)
Write a byte array to the bytes message stream |
void |
writeBytes(byte[] value,
int offset,
int length)
Write a portion of a byte array to the bytes message stream |
void |
writeChar(char value)
Write a char to the bytes message stream as a 2-byte
value, high byte first. |
void |
writeDouble(double value)
Convert the double argument to a long using the
doubleToLongBits method in class Double ,
and then writes that long value to the bytes message
stream as an 8-byte quantity, high byte first. |
void |
writeExternal(java.io.ObjectOutput out)
Serialize out this message's data |
void |
writeFloat(float value)
Convert the float argument to an int using the
floatToIntBits method in class Float ,
and then writes that int value to the bytes message
stream as a 4-byte quantity, high byte first. |
void |
writeInt(int value)
Write an int to the bytes message stream as four bytes,
high byte first. |
void |
writeLong(long value)
Write a long to the bytes message stream as eight bytes,
high byte first |
void |
writeObject(java.lang.Object value)
Write a Java object to the bytes message stream. |
void |
writeShort(short value)
Write a short to the bytes message stream as two bytes,
high byte first |
void |
writeUTF(java.lang.String value)
Write a string to the bytes message stream using UTF-8 encoding in a machine-independent manner. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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 Detail |
public BytesMessageImpl() throws javax.jms.JMSException
javax.jms.JMSException
- if the message type can't be setMethod Detail |
public final java.lang.Object clone() throws java.lang.CloneNotSupportedException
clone
in class MessageImpl
java.lang.CloneNotSupportedException
- if object or attributes aren't
cloneablepublic final void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
writeExternal
in class MessageImpl
out
- the stream to serialize out tojava.io.IOException
- if any I/O exceptions occurrpublic final void readExternal(java.io.ObjectInput in) throws java.lang.ClassNotFoundException, java.io.IOException
readExternal
in class MessageImpl
in
- the stream to serialize in fromjava.lang.ClassNotFoundException
- if the class for an object being
restored cannot be found.java.io.IOException
- if any I/O exceptions occurpublic final boolean readBoolean() throws javax.jms.JMSException
boolean
from the bytes message streamreadBoolean
in interface javax.jms.BytesMessage
boolean
value readjavax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of bytes streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final byte readByte() throws javax.jms.JMSException
readByte
in interface javax.jms.BytesMessage
byte
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final int readUnsignedByte() throws javax.jms.JMSException
readUnsignedByte
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageNotReadableException
- if message is in write-only modejavax.jms.MessageEOFException
- if end of message streampublic final short readShort() throws javax.jms.JMSException
readShort
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final int readUnsignedShort() throws javax.jms.JMSException
readUnsignedShort
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final char readChar() throws javax.jms.JMSException
readChar
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final int readInt() throws javax.jms.JMSException
readInt
in interface javax.jms.BytesMessage
int
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final long readLong() throws javax.jms.JMSException
readLong
in interface javax.jms.BytesMessage
long
.javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final float readFloat() throws javax.jms.JMSException
float
from the bytes message streamreadFloat
in interface javax.jms.BytesMessage
float
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final double readDouble() throws javax.jms.JMSException
double
from the bytes message streamreadDouble
in interface javax.jms.BytesMessage
double
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final java.lang.String readUTF() throws javax.jms.JMSException
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.
readUTF
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageEOFException
- if end of message streamjavax.jms.MessageFormatException
- if string has an invalid formatjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final int readBytes(byte[] value) throws javax.jms.JMSException
If the length of array value
is less than
the bytes remaining to be read from the stream, the array should
be filled. A subsequent call reads the next increment, etc.
If the bytes remaining in the stream is less than the length of
array value
, the bytes should be read into the array.
The return value of the total number of bytes read will be less than
the length of the array, indicating that there are no more bytes left
to be read from the stream. The next read of the stream returns -1.
readBytes
in interface javax.jms.BytesMessage
value
- the buffer into which the data is readjavax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final int readBytes(byte[] value, int length) throws javax.jms.JMSException
If the length of array value
is less than
the bytes remaining to be read from the stream, the array should
be filled. A subsequent call reads the next increment, etc.
If the bytes remaining in the stream is less than the length of
array value
, the bytes should be read into the array.
The return value of the total number of bytes read will be less than
the length of the array, indicating that there are no more bytes left
to be read from the stream. The next read of the stream returns -1.
If length
is negative, or
length
is greater than the length of the array
value
, then an IndexOutOfBoundsException
is
thrown. No bytes will be read from the stream for this exception case.
readBytes
in interface javax.jms.BytesMessage
value
- the buffer into which the data is read.length
- the number of bytes to read. Must be less than or equal
to value.length.java.lang.IndexOutOfBoundsException
- if length
is invalidjavax.jms.JMSException
- if JMS fails to read message due to some internal
JMS errorjavax.jms.MessageNotReadableException
- if message is in write-only modepublic final void writeBoolean(boolean value) throws javax.jms.JMSException
boolean
to the bytes message stream 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
.writeBoolean
in interface javax.jms.BytesMessage
value
- the boolean
value to be writtenjavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeByte(byte value) throws javax.jms.JMSException
byte
to the bytes message stream as a 1-byte
valuewriteByte
in interface javax.jms.BytesMessage
value
- the byte
value to be writtenjavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeShort(short value) throws javax.jms.JMSException
short
to the bytes message stream as two bytes,
high byte firstwriteShort
in interface javax.jms.BytesMessage
value
- the short
to be writtenjavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeChar(char value) throws javax.jms.JMSException
char
to the bytes message stream as a 2-byte
value, high byte first.writeChar
in interface javax.jms.BytesMessage
value
- the char
value to be writtenjavax.jms.MessageNotWriteableException
- if message is in read-only modejavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorpublic final void writeInt(int value) throws javax.jms.JMSException
int
to the bytes message stream as four bytes,
high byte first.writeInt
in interface javax.jms.BytesMessage
value
- the int
to be writtenjavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeLong(long value) throws javax.jms.JMSException
long
to the bytes message stream as eight bytes,
high byte firstwriteLong
in interface javax.jms.BytesMessage
value
- the long
to be writtenjavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeFloat(float value) throws javax.jms.JMSException
int
using the
floatToIntBits
method in class Float
,
and then writes that int
value to the bytes message
stream as a 4-byte quantity, high byte first.writeFloat
in interface javax.jms.BytesMessage
value
- the float
value to be written.javax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeDouble(double value) throws javax.jms.JMSException
long
using the
doubleToLongBits
method in class Double
,
and then writes that long
value to the bytes message
stream as an 8-byte quantity, high byte first.writeDouble
in interface javax.jms.BytesMessage
value
- the double
value to be written.javax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeUTF(java.lang.String value) throws javax.jms.JMSException
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.
writeUTF
in interface javax.jms.BytesMessage
value
- the String
value to be writtenjavax.jms.MessageNotWriteableException
- if message is in read-only modejavax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorpublic final void writeBytes(byte[] value) throws javax.jms.JMSException
writeBytes
in interface javax.jms.BytesMessage
value
- the byte array to be written.javax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeBytes(byte[] value, int offset, int length) throws javax.jms.JMSException
writeBytes
in interface javax.jms.BytesMessage
value
- the byte array value to be written.offset
- the initial offset within the byte array.length
- the number of bytes to use.javax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageNotWriteableException
- if message is in read-only modepublic final void writeObject(java.lang.Object value) throws javax.jms.JMSException
Note that this method only works for the objectified primitive object types (Integer, Double, Long ...), String's and byte arrays.
writeObject
in interface javax.jms.BytesMessage
value
- the Java object to be written. Must not be null.javax.jms.JMSException
- if JMS fails to write message due to some internal
JMS errorjavax.jms.MessageFormatException
- if object is invalid typejavax.jms.MessageNotWriteableException
- if message in read-only modejava.lang.NullPointerException
- if parameter value
is nullpublic final void reset() throws javax.jms.JMSException
reset
in interface javax.jms.BytesMessage
javax.jms.JMSException
- if JMS fails to reset the message due to some
internal JMS errorpublic final void clearBody() throws javax.jms.JMSException
If clearBody
is called on a message in read-only mode,
the message body is cleared and the message is in write-only mode.
bytes to the beginning.
If clearBody
is called on a message already in
write-only mode, the spec does not define the outcome, so do nothing.
Client must then call reset
, followed by
clearBody
to reset the stream at the beginning for a
new write.
clearBody
in interface javax.jms.Message
clearBody
in class MessageImpl
javax.jms.JMSException
- if JMS fails to reset the message due to some
internal JMS errorpublic final void setReadOnly(boolean readOnly) throws javax.jms.JMSException
setReadOnly
in class MessageImpl
readOnly
- if true, make the message body and properties read-only,
and invoke reset()
javax.jms.JMSException
- if the read-only mode cannot be changed
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |