Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.mule
Class DefaultMuleEvent

    java.lang.Object
      java.util.EventObject
          org.mule.DefaultMuleEvent

All Implemented Interfaces:
  Serializable, MuleEvent, ThreadSafeAccess, DeserializationPostInitialisable

    public class DefaultMuleEvent

extends EventObject
implements MuleEvent, ThreadSafeAccess, DeserializationPostInitialisable

`DefaultMuleEvent` represents any data event occuring in the Mule environment. All data sent or received within the Mule environment will be passed between components as an MuleEvent.

The MuleEvent holds some data and provides helper methods for obtaining the data in a format that the receiving Mule component understands. The event can also maintain any number of properties that can be set and retrieved by Mule components.

See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from interface org.mule.api.ThreadSafeAccess
`ThreadSafeAccess.AccessControl`

Nested classes/interfaces inherited from interface org.mule.util.store.DeserializationPostInitialisable
`DeserializationPostInitialisable.Implementation`

Field Summary
`protected String[]` | `ignoredPropertyOverrides`
`protected Log` | `logger` logger used by this class

Fields inherited from class java.util.EventObject
`source`

Fields inherited from interface org.mule.api.MuleEvent
`TIMEOUT_DO_NOT_WAIT, TIMEOUT_NOT_SET_VALUE, TIMEOUT_WAIT_FOREVER`

Fields inherited from interface org.mule.api.ThreadSafeAccess
`READ, WRITE`

Constructor Summary
`DefaultMuleEvent(MuleMessage message, ImmutableEndpoint endpoint, MuleSession session, boolean synchronous)`
`DefaultMuleEvent(MuleMessage message, ImmutableEndpoint endpoint, MuleSession session, boolean synchronous, ResponseOutputStream outputStream)` Contructor.
`DefaultMuleEvent(MuleMessage message, ImmutableEndpoint endpoint, MuleSession session, String eventId, boolean synchronous)` Contructor.
`DefaultMuleEvent(MuleMessage message, ImmutableEndpoint endpoint, Service service, MuleEvent previousEvent)` Properties cache that only reads properties once from the inbound message and merges them with any properties on the endpoint.
`DefaultMuleEvent(MuleMessage message, MuleEvent rewriteEvent)` A helper constructor used to rewrite an event payload

Method Summary
`void` | `assertAccess(boolean write)` This method may be called before data in the object are accessed.
`boolean` | `equals(Object o)`
`protected void` | `fillProperties(MuleEvent previousEvent)`
`protected String` | `generateEventId()`
`Credentials` | `getCredentials()`
`String` | `getEncoding()` Gets the encoding for this message.
`ImmutableEndpoint` | `getEndpoint()` Gets the endpoint associated with this event
`String` | `getId()` Every event in the system is assigned a universally unique id (UUID).
`MuleMessage` | `getMessage()` Returns the message payload for this event
`byte[]` | `getMessageAsBytes()` Reterns the conents of the message as a byte array.
`String` | `getMessageAsString()` Returns the message contents as a string If necessary this will use the encoding set on the event
`String` | `getMessageAsString(String encoding)` Returns the message contents as a string
`MuleContext` | `getMuleContext()` Returns the muleContext for the Mule node that this event was received in
`OutputStream` | `getOutputStream()` An outputstream can optionally be used to write response data to an incoming message.
`Object` | `getProperty(String name)` Gets a property associated with the current event.
`Object` | `getProperty(String name, Object defaultValue)` Gets a property associated with the current event.
`Service` | `getService()` Gets the recipient service of this event
`MuleSession` | `getSession()` Retrieves the service session for the current event
`int` | `getTimeout()` The number of milliseconds to wait for a return event when running synchronously.
`int` | `hashCode()`
`protected boolean` | `ignoreProperty(String key)` This method is used to determine if a property on the previous event should be ignorred for the next event.
`boolean` | `isStopFurtherProcessing()` Determines whether the default processing for this event will be executed
`boolean` | `isSynchronous()` Determines whether the was sent synchrounously or not
`ThreadSafeAccess` | `newThreadCopy()`
`void` | `resetAccessControl()` This method should ONLY be used in the construction of composite ThreadSafeAccess instances.
`protected void` | `setCredentials()`
`void` | `setStopFurtherProcessing(boolean stopFurtherProcessing)` Setting this parameter will stop the Mule framework from processing this event in the standard way.
`void` | `setSynchronous(boolean value)` Determines whether the was sent synchrounously or not
`void` | `setTimeout(int timeout)` The number of milliseconds to wait for a return event when running synchronously.
`String` | `toString()`
`Object` | `transformMessage()` Transforms the message into it's recognised or expected format.
`Object` | `transformMessage(Class outputType)` Transforms the message into the requested format.
`byte[]` | `transformMessageToBytes()` This method will attempt to convert the transformed message into an array of bytes It will first check if the result of the transformation is a byte array and return that.
`String` | `transformMessageToString()` Returns the message transformed into it's recognised or expected format and then into a String.

Methods inherited from class java.util.EventObject
`getSource`

Methods inherited from class java.lang.Object
`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

Field Detail

### logger

    protected transient Log logger

  logger used by this class

### ignoredPropertyOverrides

    protected String[] ignoredPropertyOverrides

Constructor Detail

### DefaultMuleEvent

    public DefaultMuleEvent(MuleMessage message,
                            ImmutableEndpoint endpoint,
                            Service service,
                            MuleEvent previousEvent)

  Properties cache that only reads properties once from the inbound message and merges them with any properties on the endpoint. The message properties take precedence over the endpoint properties

### DefaultMuleEvent

    public DefaultMuleEvent(MuleMessage message,
                            ImmutableEndpoint endpoint,
                            MuleSession session,
                            boolean synchronous)

### DefaultMuleEvent

    public DefaultMuleEvent(MuleMessage message,
                            ImmutableEndpoint endpoint,
                            MuleSession session,
                            boolean synchronous,
                            ResponseOutputStream outputStream)

  Contructor.

  Parameters:
    `message` - the event payload
    `endpoint` - the endpoint to associate with the event
    `session` - the previous event if any
  See Also:
    `MessageAdapter`

### DefaultMuleEvent

    public DefaultMuleEvent(MuleMessage message,
                            ImmutableEndpoint endpoint,
                            MuleSession session,
                            String eventId,
                            boolean synchronous)

  Contructor.

  Parameters:
    `message` - the event payload
    `endpoint` - the endpoint to associate with the event
    `session` - the previous event if any
  See Also:
    `MessageAdapter`

### DefaultMuleEvent

    public DefaultMuleEvent(MuleMessage message,
                            MuleEvent rewriteEvent)

  A helper constructor used to rewrite an event payload

  Parameters:
    `message` -
    `rewriteEvent` -

Method Detail

### fillProperties

    protected void fillProperties(MuleEvent previousEvent)

### ignoreProperty

    protected boolean ignoreProperty(String key)

  This method is used to determine if a property on the previous event should be ignorred for the next event. This method is here because we don't have proper scoped handlng of meta data yet The rules are
  1. If a property is already set on the currect event don't overwrite with the previous event value
  2. If the propery name appears in the ignorredPropertyOverrides list, then we always set it on the new event

  Parameters:
    `key` -

### setCredentials

    protected void setCredentials()

### getCredentials

    public Credentials getCredentials()

  Specified by:
    `getCredentials` in interface `MuleEvent`

### getMessage

    public MuleMessage getMessage()

  Description copied from interface: `MuleEvent`
  Returns the message payload for this event

  Specified by:
    `getMessage` in interface `MuleEvent`
  Returns:
    the message payload for this event

### getMessageAsBytes

    public byte[] getMessageAsBytes()
                             throws DefaultMuleException

  Description copied from interface: `MuleEvent`
  Reterns the conents of the message as a byte array.

  Specified by:
    `getMessageAsBytes` in interface `MuleEvent`
  Returns:
    the conents of the message as a byte array
  Throws:
    `DefaultMuleException`

### transformMessage

    public Object transformMessage()
                            throws TransformerException

  Description copied from interface: `MuleEvent`
  Transforms the message into it's recognised or expected format. The transformer used is the one configured on the endpoint through which this event was received.

  Specified by:
    `transformMessage` in interface `MuleEvent`
  Returns:
    the message transformed into it's recognised or expected format.
  Throws:
    `TransformerException` - if a failure occurs in the transformer
  See Also:
    `Transformer`

### transformMessage

    public Object transformMessage(Class outputType)
                            throws TransformerException

  Description copied from interface: `MuleEvent`
  Transforms the message into the requested format. The transformer used is the one configured on the endpoint through which this event was received.

  Specified by:
    `transformMessage` in interface `MuleEvent`
  Parameters:
    `outputType` - The requested output type.
  Returns:
    the message transformed into it's recognised or expected format.
  Throws:
    `TransformerException` - if a failure occurs in the transformer
  See Also:
    `Transformer`

### transformMessageToBytes

    public byte[] transformMessageToBytes()
                                   throws TransformerException

  This method will attempt to convert the transformed message into an array of bytes It will first check if the result of the transformation is a byte array and return that. Otherwise if the the result is a string it will serialized the CONTENTS of the string not the String object. finally it will check if the result is a Serializable object and convert that to an array of bytes.

  Specified by:
    `transformMessageToBytes` in interface `MuleEvent`
  Returns:
    a byte[] representation of the message
  Throws:
    `TransformerException` - if an unsupported encoding is being used or if the result message is not a String byte[] or Seializable object
  See Also:
    `Transformer`

### transformMessageToString

    public String transformMessageToString()
                                    throws TransformerException

  Returns the message transformed into it's recognised or expected format and then into a String. The transformer used is the one configured on the endpoint through which this event was received.

  Specified by:
    `transformMessageToString` in interface `MuleEvent`
  Returns:
    the message transformed into it's recognised or expected format as a Strings.
  Throws:
    `TransformerException` - if a failure occurs in the transformer
  See Also:
    `Transformer`

### getMessageAsString

    public String getMessageAsString()
                              throws MuleException

  Description copied from interface: `MuleEvent`
  Returns the message contents as a string If necessary this will use the encoding set on the event

  Specified by:
    `getMessageAsString` in interface `MuleEvent`
  Returns:
    the message contents as a string
  Throws:
    `MuleException` - if the message cannot be converted into a string

### getMessageAsString

    public String getMessageAsString(String encoding)
                              throws MuleException

  Returns the message contents as a string

  Specified by:
    `getMessageAsString` in interface `MuleEvent`
  Parameters:
    `encoding` - the encoding to use when converting the message to string
  Returns:
    the message contents as a string
  Throws:
    `MuleException` - if the message cannot be converted into a string

### getId

    public String getId()

  Description copied from interface: `MuleEvent`
  Every event in the system is assigned a universally unique id (UUID).

  Specified by:
    `getId` in interface `MuleEvent`
  Returns:
    the unique identifier for the event

### getProperty

    public Object getProperty(String name)

  Description copied from interface: `MuleEvent`
  Gets a property associated with the current event. This method will check all property scopes on the currnet message and the current session

  Specified by:
    `getProperty` in interface `MuleEvent`
  Parameters:
    `name` - the property name
  Returns:
    the property value or null if the property does not exist
  See Also:
    `MuleEvent.getProperty(java.lang.String)`

### getProperty

    public Object getProperty(String name,
                              Object defaultValue)

  Description copied from interface: `MuleEvent`
  Gets a property associated with the current event. This method will check all property scopes on the currnet message and the current session

  Specified by:
    `getProperty` in interface `MuleEvent`
  Parameters:
    `name` - the property name
    `defaultValue` - a default value if the property doesn't exist in the event
  Returns:
    the property value or the defaultValue if the property does not exist

### getEndpoint

    public ImmutableEndpoint getEndpoint()

  Description copied from interface: `MuleEvent`
  Gets the endpoint associated with this event

  Specified by:
    `getEndpoint` in interface `MuleEvent`
  Returns:
    the endpoint associated with this event

### toString

    public String toString()

  Overrides:
    `toString` in class `EventObject`

### generateEventId

    protected String generateEventId()

### getSession

    public MuleSession getSession()

  Description copied from interface: `MuleEvent`
  Retrieves the service session for the current event

  Specified by:
    `getSession` in interface `MuleEvent`
  Returns:
    the service session for the event

### getService

    public Service getService()

  Gets the recipient service of this event

  Specified by:
    `getService` in interface `MuleEvent`
  Returns:
    the service for the event

### isStopFurtherProcessing

    public boolean isStopFurtherProcessing()

  Determines whether the default processing for this event will be executed

  Specified by:
    `isStopFurtherProcessing` in interface `MuleEvent`
  Returns:
    Returns the stopFurtherProcessing.
  See Also:
    `MuleContext`, `MuleEventContext`, `Callable`

### setStopFurtherProcessing

    public void setStopFurtherProcessing(boolean stopFurtherProcessing)

  Setting this parameter will stop the Mule framework from processing this event in the standard way. This allow for client code to override default behaviour. The common reasons for doing this are - 1. The service has more than one send endpoint configured; the service must dispatch to other prviders programatically by using the service on the current event 2. The service doesn't send the current event out through a endpoint. i.e. the processing of the event stops in the uMO.

  Specified by:
    `setStopFurtherProcessing` in interface `MuleEvent`
  Parameters:
    `stopFurtherProcessing` - The stopFurtherProcessing to set.

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `Object`

### isSynchronous

    public boolean isSynchronous()

  Description copied from interface: `MuleEvent`
  Determines whether the was sent synchrounously or not

  Specified by:
    `isSynchronous` in interface `MuleEvent`
  Returns:
    true if the event is synchronous

### setSynchronous

    public void setSynchronous(boolean value)

  Description copied from interface: `MuleEvent`
  Determines whether the was sent synchrounously or not

  Specified by:
    `setSynchronous` in interface `MuleEvent`
  Parameters:
    `value` - true if the event is synchronous

### getTimeout

    public int getTimeout()

  Description copied from interface: `MuleEvent`
  The number of milliseconds to wait for a return event when running synchronously. 0 wait forever -1 try and receive, but do not wait or a positive millisecond value

  Specified by:
    `getTimeout` in interface `MuleEvent`
  Returns:
    the event timeout in milliseconds

### setTimeout

    public void setTimeout(int timeout)

  Description copied from interface: `MuleEvent`
  The number of milliseconds to wait for a return event when running synchronously. 0 wait forever -1 try and receive, but do not wait or a positive millisecod value

  Specified by:
    `setTimeout` in interface `MuleEvent`
  Parameters:
    `timeout` - the event timeout in milliseconds

### getOutputStream

    public OutputStream getOutputStream()

  An outputstream can optionally be used to write response data to an incoming message.

  Specified by:
    `getOutputStream` in interface `MuleEvent`
  Returns:
    an output strem if one has been made available by the message receiver that received the message

### getEncoding

    public String getEncoding()

  Gets the encoding for this message. First it looks to see if encoding has been set on the endpoint, if not it will check the message itself and finally it will fall back to the Mule global configuration for encoding which cannot be null.

  Specified by:
    `getEncoding` in interface `MuleEvent`
  Returns:
    the encoding for the event

### getMuleContext

    public MuleContext getMuleContext()

  Description copied from interface: `MuleEvent`
  Returns the muleContext for the Mule node that this event was received in

  Specified by:
    `getMuleContext` in interface `MuleEvent`
  Returns:
    the muleContext for the Mule node that this event was received in

### newThreadCopy

    public ThreadSafeAccess newThreadCopy()

  Specified by:
    `newThreadCopy` in interface `ThreadSafeAccess`
  Returns:
    A new instance of the implementing class, unbound to any thread and mutable.

### resetAccessControl

    public void resetAccessControl()

  Description copied from interface: `ThreadSafeAccess`
  This method should ONLY be used in the construction of composite ThreadSafeAccess instances. For example, a ThreadSafeAccess MuleEvent contains a ThreadSafeAccess MessageAdapter. During the construction of the event, the message adapter may be bound to the contructing thread. Calling this method releases that binding so that the event as a whole can be passed to a new thread unbound.

  Specified by:
    `resetAccessControl` in interface `ThreadSafeAccess`

### assertAccess

    public void assertAccess(boolean write)

  Description copied from interface: `ThreadSafeAccess`
  This method may be called before data in the object are accessed. It should verify that the access policy is followed correctly (if not, a runtime exception may be thrown).

  Specified by:
    `assertAccess` in interface `ThreadSafeAccess`
  Parameters:
    `write` - True if the access will mutate values.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 MuleSource, Inc.. All Rights Reserved.