public class DefaultMuleMessage extends Object implements MuleMessage, ThreadSafeAccess
DefaultMuleMessage is a wrapper that contains a payload and properties
associated with the payload.ThreadSafeAccess.AccessControlREAD, WRITE| Constructor and Description |
|---|
DefaultMuleMessage(Object message) |
DefaultMuleMessage(Object message,
Map properties) |
DefaultMuleMessage(Object message,
MessageAdapter previous) |
| Modifier and Type | Method and Description |
|---|---|
void |
addAttachment(String name,
javax.activation.DataHandler dataHandler)
Allows for arbitary data attachments to be associated with the Message.
|
void |
addProperties(Map properties)
Adds a map of properties to be associated with this message
|
void |
addProperties(Map properties,
PropertyScope scope)
Adds a map of properties to be associated with this message
|
protected void |
applyAllTransformers(List transformers) |
void |
applyTransformers(List transformers)
Will apply a list of transformers to the payload of the message.
|
void |
applyTransformers(List transformers,
Class outputType)
Will apply a list of transformers to the payload of the message.
|
void |
assertAccess(boolean write)
This method may be called before data in the object are accessed.
|
void |
clearProperties()
Removes all properties on this message
|
MessageAdapter |
getAdapter()
Returns the currently edited Message adapter for this message.
|
javax.activation.DataHandler |
getAttachment(String name)
Retrieve an attachment with the given name.
|
Set |
getAttachmentNames()
Returns a set of the names of the attachments on this message.
|
boolean |
getBooleanProperty(String name,
boolean defaultValue)
Gets a boolean property from the message
|
int |
getCorrelationGroupSize()
Determines how many messages are in the correlation group
|
String |
getCorrelationId()
Sets a correlationId for this message.
|
int |
getCorrelationSequence()
Gets the sequence or ordering number for this message in the the correlation
group (as defined by the correlationId)
|
double |
getDoubleProperty(String name,
double defaultValue)
Gets a double property from the message
|
String |
getEncoding()
Gets the encoding for the current message.
|
ExceptionPayload |
getExceptionPayload()
If an error occurred during the processing of this message this will return a
ErrorPayload that contains the root exception and Mule error code, plus any
other releated info
|
int |
getIntProperty(String name,
int defaultValue)
Gets an integer property from the message
|
long |
getLongProperty(String name,
long defaultValue)
Gets a long property from the message
|
Object |
getOrginalPayload()
Returns the original payload used to create this message.
|
MessageAdapter |
getOriginalAdapter()
Returns the original payload used to create this message.
|
Object |
getPayload() |
Object |
getPayload(Class outputType)
Will attempt to obtain the payload of this message with the desired Class type.
|
protected Object |
getPayload(Class outputType,
String encoding)
Will attempt to obtain the payload of this message with the desired Class type.
|
byte[] |
getPayloadAsBytes()
Converts the message implementation into a byte array representation
|
String |
getPayloadAsString()
Converts the message implementation into a String representation.
|
String |
getPayloadAsString(String encoding)
Converts the message implementation into a String representation
|
Object |
getProperty(String key)
Gets a property of the message implementation
|
Object |
getProperty(String name,
Object defaultValue)
Gets a property from the message
|
Set |
getPropertyNames() |
Object |
getReplyTo()
Returns a replyTo address for this message.
|
String |
getStringProperty(String name,
String defaultValue)
Gets a String property from the message
|
String |
getUniqueId()
gets the unique identifier for the message.
|
protected boolean |
isPayloadConsumed(Class inputCls)
Checks if the payload has been consumed for this message.
|
ThreadSafeAccess |
newThreadCopy() |
void |
release()
Perform any clean up operations on the message resource.
|
void |
removeAttachment(String name)
Remove an attahcment form this message with the specifed name
|
Object |
removeProperty(String key)
Removes a property on this message
|
void |
resetAccessControl()
This method should ONLY be used in the construction of composite ThreadSafeAccess instances.
|
void |
setBooleanProperty(String name,
boolean value)
Sets a boolean property on the message
|
void |
setCorrelationGroupSize(int size)
Determines how many messages are in the correlation group
|
void |
setCorrelationId(String id)
Sets a correlationId for this message.
|
void |
setCorrelationSequence(int sequence)
Gets the sequence or ordering number for this message in the the correlation
group (as defined by the correlationId)
|
void |
setDoubleProperty(String name,
double value)
Sets a double property on the message
|
void |
setEncoding(String encoding)
Sets the encoding for this message
|
void |
setExceptionPayload(ExceptionPayload exceptionPayload)
If an error occurs while processing this message, a ErrorPayload is attached
which contains the root exception and Mule error code, plus any other releated
info.
|
void |
setIntProperty(String name,
int value)
Sets a integerproperty on the message
|
void |
setLongProperty(String name,
long value)
Sets a long property on the message
|
void |
setPayload(Object payload)
Update the message payload.
|
void |
setProperty(String key,
Object value)
Set a property on the message
|
void |
setProperty(String key,
Object value,
PropertyScope scope)
Set a property on the message
|
void |
setReplyTo(Object replyTo)
Sets a replyTo address for this message.
|
void |
setStringProperty(String name,
String value)
Sets a String property on the message
|
String |
toString() |
public DefaultMuleMessage(Object message)
public DefaultMuleMessage(Object message, MessageAdapter previous)
public Object getPayload(Class outputType) throws TransformerException
getPayload in interface MuleMessageoutputType - the desired return typeTransformerException - if a transformer cannot be found or there is an error during transformation of the
payloadprotected Object getPayload(Class outputType, String encoding) throws TransformerException
outputType - the desired return typeencoding - the encoding to use if requiredTransformerException - if a transformer cannot be found or there is an error during transformation of the
payloadprotected boolean isPayloadConsumed(Class inputCls)
inputCls - the input type of the message payloadpublic MessageAdapter getAdapter()
MuleMessage.getOriginalAdapter()getAdapter in interface MuleMessagepublic Object getOrginalPayload()
MuleMessage.applyTransformers(java.util.List) or
MuleMessage.applyTransformers(java.util.List, Class) is called.getOrginalPayload in interface MuleMessagepublic MessageAdapter getOriginalAdapter()
MuleMessage.applyTransformers(java.util.List) or
MuleMessage.applyTransformers(java.util.List, Class) is called.getOriginalAdapter in interface MuleMessagepublic void setProperty(String key, Object value, PropertyScope scope)
setProperty in interface MessageAdapterkey - the key on which to associate the valuevalue - the property valuescope - The scope at which to set the property atPropertyScopepublic Object getProperty(String key)
getProperty in interface MessageAdapterkey - the key on which to lookup the property valuepublic Object removeProperty(String key)
removeProperty in interface MessageAdapterkey - the property key to removepublic void setProperty(String key, Object value)
setProperty in interface MessageAdapterkey - the key on which to associate the valuevalue - the property valuepublic final String getPayloadAsString() throws Exception
getPayloadAsString in interface MuleMessageException - Implementation may throw an endpoint specific exceptionpublic byte[] getPayloadAsBytes()
throws Exception
getPayloadAsBytes in interface MuleMessageException - Implemetation may throw an endpoint specific exceptionpublic String getPayloadAsString(String encoding) throws Exception
getPayloadAsString in interface MuleMessageencoding - The encoding to use when transforming the message (if
necessary). The parameter is used when converting from a byte arrayException - Implementation may throw an endpoint specific exceptionpublic Set getPropertyNames()
getPropertyNames in interface MessageAdapterpublic double getDoubleProperty(String name, double defaultValue)
MessageAdaptergetDoubleProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic void setDoubleProperty(String name, double value)
setDoubleProperty in interface MessageAdaptername - the property name or keyvalue - the property valuepublic String getUniqueId()
getUniqueId in interface MessageAdapterpublic Object getProperty(String name, Object defaultValue)
getProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic int getIntProperty(String name, int defaultValue)
getIntProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic long getLongProperty(String name, long defaultValue)
getLongProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic boolean getBooleanProperty(String name, boolean defaultValue)
getBooleanProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic void setBooleanProperty(String name, boolean value)
setBooleanProperty in interface MessageAdaptername - the property name or keyvalue - the property valuepublic void setIntProperty(String name, int value)
setIntProperty in interface MessageAdaptername - the property name or keyvalue - the property valuepublic void setLongProperty(String name, long value)
setLongProperty in interface MessageAdaptername - the property name or keyvalue - the property valuepublic void setCorrelationId(String id)
setCorrelationId in interface MessageAdapterid - the Id reference for this relationshippublic String getCorrelationId()
getCorrelationId in interface MessageAdapterpublic void setReplyTo(Object replyTo)
setReplyTo in interface MessageAdapterreplyTo - the endpointUri url to reply topublic Object getReplyTo()
getReplyTo in interface MessageAdapterpublic int getCorrelationSequence()
getCorrelationSequence in interface MessageAdapterpublic void setCorrelationSequence(int sequence)
setCorrelationSequence in interface MessageAdaptersequence - the sequence number or -1 if the sequence is not importantpublic int getCorrelationGroupSize()
getCorrelationGroupSize in interface MessageAdapterpublic void setCorrelationGroupSize(int size)
MessageAdaptersetCorrelationGroupSize in interface MessageAdaptersize - the total messages in this group or -1 if the size is not knownpublic ExceptionPayload getExceptionPayload()
getExceptionPayload in interface MessageAdapterpublic void setExceptionPayload(ExceptionPayload exceptionPayload)
setExceptionPayload in interface MessageAdapterexceptionPayload - The exception payload to attach to this messagepublic void addAttachment(String name, javax.activation.DataHandler dataHandler) throws Exception
addAttachment in interface MessageAdaptername - the name to associate with the attachmentdataHandler - The attachment datahandler to use. This will be used to interract with the attachment dataExceptionDataHandlerpublic void removeAttachment(String name) throws Exception
removeAttachment in interface MessageAdaptername - the name of the attachment to remove. If the attachment does not exist, the request may be ignorredException - different messaging systems handle attachments differnetly, as such some will throw an exception
if an attahcment does dot exist.public javax.activation.DataHandler getAttachment(String name)
getAttachment in interface MessageAdaptername - the name of the attachment to retrieveDataHandlerpublic Set getAttachmentNames()
getAttachmentNames in interface MessageAdapterpublic String getEncoding()
getEncoding in interface MessageAdapterpublic void setEncoding(String encoding)
setEncoding in interface MessageAdapterencoding - the encoding to usepublic String getStringProperty(String name, String defaultValue)
getStringProperty in interface MessageAdaptername - the name or key of the propertydefaultValue - a default value if the property doesn't exist in the eventpublic void setStringProperty(String name, String value)
setStringProperty in interface MessageAdaptername - the property name or keyvalue - the property valuepublic void addProperties(Map properties)
addProperties in interface MessageAdapterproperties - the properties add to this messagepublic void addProperties(Map properties, PropertyScope scope)
addProperties in interface MessageAdapterproperties - the properties add to this messagescope - the scope in which the proeprties should be addedpublic void clearProperties()
clearProperties in interface MessageAdapterpublic Object getPayload()
getPayload in interface MessageAdapterpublic void setPayload(Object payload)
setPayload in interface MuleMessagepayload - the object to assign as the message payloadpublic void release()
release in interface MessageAdapterpublic void applyTransformers(List transformers) throws TransformerException
applyTransformers in interface MuleMessagetransformers - the transformers to apply to the message payloadTransformerException - if a transformation error occurs or one or more of the transformers passed in a
are incompatible with the message payloadpublic void applyTransformers(List transformers, Class outputType) throws TransformerException
MuleMessageapplyTransformers in interface MuleMessagetransformers - the transformers to apply to the message payloadoutputType - the required output type for this transformation. by adding this parameter some additional
transformations will occur on the message payload to ensure that the final payload is of the specified type.
If no transformers can be found in the registry that can transform from the return type of the transformation
list to the outputType and exception will be thrownTransformerException - if a transformation error occurs or one or more of the transformers passed in a
are incompatible with the message payloadprotected void applyAllTransformers(List transformers) throws TransformerException
TransformerExceptionpublic ThreadSafeAccess newThreadCopy()
newThreadCopy in interface ThreadSafeAccesspublic void resetAccessControl()
resetAccessControl in interface ThreadSafeAccesspublic void assertAccess(boolean write)
assertAccess in interface ThreadSafeAccesswrite - True if the access will mutate values.Copyright © 2003-2012 MuleSource, Inc.. All Rights Reserved.