org.huihoo.jfox.jms
Class AbstractMessage

java.lang.Object
  extended byorg.huihoo.jfox.jms.AbstractMessage
All Implemented Interfaces:
java.lang.Cloneable, javax.jms.Message, java.io.Serializable
Direct Known Subclasses:
TextMessageImpl

public abstract class AbstractMessage
extends java.lang.Object
implements javax.jms.Message, java.io.Serializable, java.lang.Cloneable

the super class of all type message

See Also:
Serialized Form

Field Summary
protected  java.lang.String correlationId
          A client can use the JMSCorrelationID header field to link one message with another.
protected  int deliveryMode
          The JMSDeliveryMode header field contains the delivery mode specified when the message was sent.
protected  javax.jms.Destination destination
          The JMSDestination header field contains the destination to which the message is being sent.
protected  long expiration
          When a message is sent, its expiration time is calculated as the sum of the timeto- live value specified on the send method and the current GMT value.
protected  java.lang.String messageId
          If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value.
protected  int priority
          JMS defines a ten-level priority value, with 0 as the lowest priority and 9 as the highest.
protected  java.util.Map properties
          In addition to the header fields defined here, the Message interface contains a built-in facility for supporting property values.
protected  boolean readonly
          When a client receives a message, its properties are in read-only mode.
protected  boolean redelivered
          If a client receives a message with the JMSRedelivered indicator set, it is likely, but not guaranteed, that this message was delivered but not acknowledged in the past.
protected  javax.jms.Destination replyTo
          The JMSReplyTo header field contains a Destination supplied by a client when a message is sent.
protected  AbstractSession session
           
protected  long timeStamp
          The JMSTimestamp header field contains the time a message was handed off to a provider to be sent.
protected  java.lang.String type
          The JMSType header field contains a message type identifier supplied by a client when a message is sent.
 
Fields inherited from interface javax.jms.Message
DEFAULT_DELIVERY_MODE, DEFAULT_PRIORITY, DEFAULT_TIME_TO_LIVE
 
Constructor Summary
protected AbstractMessage(AbstractSession session)
           
 
Method Summary
 void acknowledge()
           
 void clearProperties()
           
 boolean getBooleanProperty(java.lang.String name)
           
 byte getByteProperty(java.lang.String name)
           
 double getDoubleProperty(java.lang.String name)
           
 float getFloatProperty(java.lang.String name)
           
 int getIntProperty(java.lang.String name)
           
 java.lang.String getJMSCorrelationID()
           
 byte[] getJMSCorrelationIDAsBytes()
           
 int getJMSDeliveryMode()
           
 javax.jms.Destination getJMSDestination()
           
 long getJMSExpiration()
           
 java.lang.String getJMSMessageID()
           
 int getJMSPriority()
           
 boolean getJMSRedelivered()
           
 javax.jms.Destination getJMSReplyTo()
           
 long getJMSTimestamp()
           
 java.lang.String getJMSType()
           
 long getLongProperty(java.lang.String name)
           
 java.lang.Object getObjectProperty(java.lang.String name)
           
 java.util.Enumeration getPropertyNames()
           
 short getShortProperty(java.lang.String name)
           
 java.lang.String getStringProperty(java.lang.String name)
           
 boolean propertyExists(java.lang.String name)
           
 void setBooleanProperty(java.lang.String name, boolean value)
           
 void setByteProperty(java.lang.String name, byte value)
           
 void setDoubleProperty(java.lang.String name, double value)
           
 void setFloatProperty(java.lang.String name, float value)
           
 void setIntProperty(java.lang.String name, int value)
           
 void setJMSCorrelationID(java.lang.String correlationId)
           
 void setJMSCorrelationIDAsBytes(byte[] correlationId)
           
 void setJMSDeliveryMode(int deliveryMode)
           
 void setJMSDestination(javax.jms.Destination destination)
           
 void setJMSExpiration(long expiration)
           
 void setJMSMessageID(java.lang.String id)
           
 void setJMSPriority(int priority)
           
 void setJMSRedelivered(boolean redelivered)
           
 void setJMSReplyTo(javax.jms.Destination replyTo)
           
 void setJMSTimestamp(long timeStamp)
           
 void setJMSType(java.lang.String type)
           
 void setLongProperty(java.lang.String name, long value)
           
 void setObjectProperty(java.lang.String name, java.lang.Object value)
          The setObjectProperty method accepts values of Boolean, Byte, Short, Integer, Long, Float, Double and String.
 void setShortProperty(java.lang.String name, short value)
           
 void setStringProperty(java.lang.String name, java.lang.String value)
           
 java.lang.String toString()
          Returns a string representation of the object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.jms.Message
clearBody
 

Field Detail

type

protected java.lang.String type
The JMSType header field contains a message type identifier supplied by a client when a message is sent. Some JMS providers use a message repository that contains the definitions of messages sent by applications. The type header field may reference a message?s definition in the provider?s repository.


messageId

protected java.lang.String messageId
If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value. All message ID values must start with the ?ID:? prefix.


timeStamp

protected long timeStamp
The JMSTimestamp header field contains the time a message was handed off to a provider to be sent. It is not the time the message was actually transmitted because the actual send may occur later due to transactions or other client side queueing of messages. When a message is sent, JMSTimestamp is ignored. When the send method returns, the field contains a a time value somewhere in the interval between the call and the return.


correlationId

protected java.lang.String correlationId
A client can use the JMSCorrelationID header field to link one message with another. A typical use is to link a response message with its request message. JMSCorrelationID can hold one of the following: ? A provider-specific message ID ? An application-specific String (Application-specified values must not start with the ?ID:? prefix;) ? A provider-native byte[] value


replyTo

protected javax.jms.Destination replyTo
The JMSReplyTo header field contains a Destination supplied by a client when a message is sent. It is the destination where a reply to the message should be sent.


destination

protected javax.jms.Destination destination
The JMSDestination header field contains the destination to which the message is being sent. When a message is sent, this field is ignored. After completion of the send, it holds the destination object specified by the sending method. When a message is received, its destination value must be equivalent to the value assigned when it was sent.


deliveryMode

protected int deliveryMode
The JMSDeliveryMode header field contains the delivery mode specified when the message was sent. JMS supports two modes of message delivery.NON_PERSISTENT & PERSISTENT


redelivered

protected boolean redelivered
If a client receives a message with the JMSRedelivered indicator set, it is likely, but not guaranteed, that this message was delivered but not acknowledged in the past. In general, a provider must set the JMSRedelivered message header


expiration

protected long expiration
When a message is sent, its expiration time is calculated as the sum of the timeto- live value specified on the send method and the current GMT value. On return from the send method, the message?s JMSExpiration header field contains this value. When a message is received its JMSExpiration header field contains this same value. If the time-to-live is specified as zero, expiration is set to zero to indicate that the message does not expire. expiration = currentTime + timeToLive


priority

protected int priority
JMS defines a ten-level priority value, with 0 as the lowest priority and 9 as the highest. In addition, clients should consider priorities 0-4 as gradations of normal priority and priorities 5-9 as gradations of expedited priority.


readonly

protected boolean readonly
When a client receives a message, its properties are in read-only mode. When a message is received, its header field values can be changed; however, its property entries and its body are read-only. A consumer can modify a received message after calling either the clearBody or clearProperties method to make the body or properties writable. If the consumer modifies a received message, and the message is subsequently redelivered, the redelivered message must be the original, unmodified message (except for headers and properties modified by the JMS provider as a result of the redelivery, such as the JMSRedelivered header and the JMSXDeliveryCount property).


properties

protected java.util.Map properties
In addition to the header fields defined here, the Message interface contains a built-in facility for supporting property values. In effect, this provides a mechanism for adding optional header fields to a message. Properties allow a client, via message selectors (see Section 3.8, ?Message Selection?), to have a JMS provider select messages on its behalf using application-specific criteria. Property values can be boolean, byte, short, int, long, float, double, and String. JMS reserves the ?JMSX? property name prefix for JMS defined properties. The JMSX property names is case sensive JMS reserves the ?JMS_? property name prefix for providerspecific properties. Each provider defines their own value of .


session

protected AbstractSession session
Constructor Detail

AbstractMessage

protected AbstractMessage(AbstractSession session)
Method Detail

getJMSMessageID

public java.lang.String getJMSMessageID()
                                 throws javax.jms.JMSException
Specified by:
getJMSMessageID in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSMessageID

public void setJMSMessageID(java.lang.String id)
                     throws javax.jms.JMSException
Specified by:
setJMSMessageID in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSTimestamp

public long getJMSTimestamp()
                     throws javax.jms.JMSException
Specified by:
getJMSTimestamp in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSTimestamp

public void setJMSTimestamp(long timeStamp)
                     throws javax.jms.JMSException
Specified by:
setJMSTimestamp in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSCorrelationIDAsBytes

public byte[] getJMSCorrelationIDAsBytes()
                                  throws javax.jms.JMSException
Specified by:
getJMSCorrelationIDAsBytes in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSCorrelationIDAsBytes

public void setJMSCorrelationIDAsBytes(byte[] correlationId)
                                throws javax.jms.JMSException
Specified by:
setJMSCorrelationIDAsBytes in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSCorrelationID

public void setJMSCorrelationID(java.lang.String correlationId)
                         throws javax.jms.JMSException
Specified by:
setJMSCorrelationID in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSCorrelationID

public java.lang.String getJMSCorrelationID()
                                     throws javax.jms.JMSException
Specified by:
getJMSCorrelationID in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSReplyTo

public javax.jms.Destination getJMSReplyTo()
                                    throws javax.jms.JMSException
Specified by:
getJMSReplyTo in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSReplyTo

public void setJMSReplyTo(javax.jms.Destination replyTo)
                   throws javax.jms.JMSException
Specified by:
setJMSReplyTo in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSDestination

public javax.jms.Destination getJMSDestination()
                                        throws javax.jms.JMSException
Specified by:
getJMSDestination in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSDestination

public void setJMSDestination(javax.jms.Destination destination)
                       throws javax.jms.JMSException
Specified by:
setJMSDestination in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSDeliveryMode

public int getJMSDeliveryMode()
                       throws javax.jms.JMSException
Specified by:
getJMSDeliveryMode in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSDeliveryMode

public void setJMSDeliveryMode(int deliveryMode)
                        throws javax.jms.JMSException
Specified by:
setJMSDeliveryMode in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSRedelivered

public boolean getJMSRedelivered()
                          throws javax.jms.JMSException
Specified by:
getJMSRedelivered in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSRedelivered

public void setJMSRedelivered(boolean redelivered)
                       throws javax.jms.JMSException
Specified by:
setJMSRedelivered in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSType

public java.lang.String getJMSType()
                            throws javax.jms.JMSException
Specified by:
getJMSType in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSType

public void setJMSType(java.lang.String type)
                throws javax.jms.JMSException
Specified by:
setJMSType in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSExpiration

public long getJMSExpiration()
                      throws javax.jms.JMSException
Specified by:
getJMSExpiration in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSExpiration

public void setJMSExpiration(long expiration)
                      throws javax.jms.JMSException
Specified by:
setJMSExpiration in interface javax.jms.Message
Throws:
javax.jms.JMSException

getJMSPriority

public int getJMSPriority()
                   throws javax.jms.JMSException
Specified by:
getJMSPriority in interface javax.jms.Message
Throws:
javax.jms.JMSException

setJMSPriority

public void setJMSPriority(int priority)
                    throws javax.jms.JMSException
Specified by:
setJMSPriority in interface javax.jms.Message
Throws:
javax.jms.JMSException

clearProperties

public void clearProperties()
                     throws javax.jms.JMSException
Specified by:
clearProperties in interface javax.jms.Message
Throws:
javax.jms.JMSException

propertyExists

public boolean propertyExists(java.lang.String name)
                       throws javax.jms.JMSException
Specified by:
propertyExists in interface javax.jms.Message
Throws:
javax.jms.JMSException

getBooleanProperty

public boolean getBooleanProperty(java.lang.String name)
                           throws javax.jms.JMSException
Specified by:
getBooleanProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getByteProperty

public byte getByteProperty(java.lang.String name)
                     throws javax.jms.JMSException
Specified by:
getByteProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getShortProperty

public short getShortProperty(java.lang.String name)
                       throws javax.jms.JMSException
Specified by:
getShortProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getIntProperty

public int getIntProperty(java.lang.String name)
                   throws javax.jms.JMSException
Specified by:
getIntProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getLongProperty

public long getLongProperty(java.lang.String name)
                     throws javax.jms.JMSException
Specified by:
getLongProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getFloatProperty

public float getFloatProperty(java.lang.String name)
                       throws javax.jms.JMSException
Specified by:
getFloatProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getDoubleProperty

public double getDoubleProperty(java.lang.String name)
                         throws javax.jms.JMSException
Specified by:
getDoubleProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getStringProperty

public java.lang.String getStringProperty(java.lang.String name)
                                   throws javax.jms.JMSException
Specified by:
getStringProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getObjectProperty

public java.lang.Object getObjectProperty(java.lang.String name)
                                   throws javax.jms.JMSException
Specified by:
getObjectProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

getPropertyNames

public java.util.Enumeration getPropertyNames()
                                       throws javax.jms.JMSException
Specified by:
getPropertyNames in interface javax.jms.Message
Throws:
javax.jms.JMSException

setBooleanProperty

public void setBooleanProperty(java.lang.String name,
                               boolean value)
                        throws javax.jms.JMSException
Specified by:
setBooleanProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setByteProperty

public void setByteProperty(java.lang.String name,
                            byte value)
                     throws javax.jms.JMSException
Specified by:
setByteProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setShortProperty

public void setShortProperty(java.lang.String name,
                             short value)
                      throws javax.jms.JMSException
Specified by:
setShortProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setIntProperty

public void setIntProperty(java.lang.String name,
                           int value)
                    throws javax.jms.JMSException
Specified by:
setIntProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setLongProperty

public void setLongProperty(java.lang.String name,
                            long value)
                     throws javax.jms.JMSException
Specified by:
setLongProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setFloatProperty

public void setFloatProperty(java.lang.String name,
                             float value)
                      throws javax.jms.JMSException
Specified by:
setFloatProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setDoubleProperty

public void setDoubleProperty(java.lang.String name,
                              double value)
                       throws javax.jms.JMSException
Specified by:
setDoubleProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setStringProperty

public void setStringProperty(java.lang.String name,
                              java.lang.String value)
                       throws javax.jms.JMSException
Specified by:
setStringProperty in interface javax.jms.Message
Throws:
javax.jms.JMSException

setObjectProperty

public void setObjectProperty(java.lang.String name,
                              java.lang.Object value)
                       throws javax.jms.JMSException
The setObjectProperty method accepts values of Boolean, Byte, Short, Integer, Long, Float, Double and String. An attempt to use any other class must throw a JMS MessageFormatException.

Specified by:
setObjectProperty in interface javax.jms.Message
Parameters:
name -
value -
Throws:
javax.jms.JMSException

acknowledge

public void acknowledge()
                 throws javax.jms.JMSException
Specified by:
acknowledge in interface javax.jms.Message
Throws:
javax.jms.JMSException

toString

public java.lang.String toString()
Description copied from class: java.lang.Object
Returns a string representation of the object. In general, the toString method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommended that all subclasses override this method.

The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:

 getClass().getName() + '@' + Integer.toHexString(hashCode())
 

Returns:
a string representation of the object.