org.mule.umo.endpoint
Interface UMOImmutableEndpoint

All Superinterfaces:
Cloneable, Initialisable, UMOMessageDispatching
All Known Subinterfaces:
UMOEndpoint
All Known Implementing Classes:
ImmutableMuleEndpoint, MuleEndpoint

public interface UMOImmutableEndpoint
extends Cloneable, Initialisable, UMOMessageDispatching

UMOImmutableEndpoint describes a Message endpoint where data is sent or received. An Enpoint is an Resource address (EndpointUri), with associated transformation, transaction and filtering rules.


Field Summary
static String ENDPOINT_TYPE_RECEIVER
          The endpoint is indound
static String ENDPOINT_TYPE_RESPONSE
          The endpoint is a receive endpoint set on a response router
static String ENDPOINT_TYPE_SENDER
          The endpoint is outbound
static String ENDPOINT_TYPE_SENDER_AND_RECEIVER
          The endpoint is either and will be set depending on how it is used
static String INITIAL_STATE_STARTED
           
static String INITIAL_STATE_STOPPED
           
 
Fields inherited from interface org.mule.umo.provider.UMOMessageDispatching
RECEIVE_NO_WAIT, RECEIVE_WAIT_INDEFINITELY
 
Method Summary
 boolean canReceive()
          Determines whether this endpoint can be used to receive events
 boolean canSend()
          Determines whether this endpoint can be used to send events
 Object clone()
          Make a deep copy of this endpoint
 UMOConnector getConnector()
          The endpoint that will be used to send the message on.
 int getCreateConnector()
          Determines if a new connector is created for this endpoint or an exising one must already be present
 String getEncoding()
          Decides the encoding to be used for events received by this endpoint
 UMOEndpointURI getEndpointURI()
          This specifes the communication endpointUri.
 UMOFilter getFilter()
          The filter to apply to incoming messages.
 String getInitialState()
          Sets the state the endpoint will be loaded in.
 String getName()
          The name is the identifier for the endpoint
 Map getProperties()
          Returns any properties set on this endpoint
 Object getProperty(Object key)
          Retrieves a property set on the endpoint
 String getProtocol()
          The transport protocol name that the message endpoint communicates over.
 int getRemoteSyncTimeout()
          The timeout value for remoteSync invocations
 UMOTransformer getResponseTransformer()
          The transformer used when a response is returned from invoking this endpoint
 UMOEndpointSecurityFilter getSecurityFilter()
          Returns an UMOEndpointSecurityFilter for this endpoint.
 UMOTransactionConfig getTransactionConfig()
          Returns the transaction configuration for this endpoint
 UMOTransformer getTransformer()
          The transformer is responsible for transforming data when it is received or sent by the UMO (depending on whether this endpoint is a receiver or not).
 String getType()
          Determines whether the message endpoint is a sender or receiver or both.
 boolean isDeleteUnacceptedMessages()
          If a filter is configured on this endpoint, this property will determine if message that are not excepted by the filter are deleted
 boolean isReadOnly()
           
 boolean isRemoteSync()
          For certain providers that support the notion of a backchannel such as sockets (outputStream) or Jms (ReplyTo) Mule can automatically wait for a response from a backchannel when dispatching over these protocols.
 boolean isStreaming()
          Determines whether the endpoint should deal with requests as streams
 boolean isSynchronous()
          Determines if requests originating from this endpoint should be synchronous i.e.
 boolean isSynchronousSet()
          Determines if the synchronous porperty has been set on the endpoint
 
Methods inherited from interface org.mule.umo.lifecycle.Initialisable
initialise
 
Methods inherited from interface org.mule.umo.provider.UMOMessageDispatching
dispatch, receive, send
 

Field Detail

INITIAL_STATE_STARTED

static final String INITIAL_STATE_STARTED
See Also:
Constant Field Values

INITIAL_STATE_STOPPED

static final String INITIAL_STATE_STOPPED
See Also:
Constant Field Values

ENDPOINT_TYPE_SENDER

static final String ENDPOINT_TYPE_SENDER
The endpoint is outbound

See Also:
Constant Field Values

ENDPOINT_TYPE_RECEIVER

static final String ENDPOINT_TYPE_RECEIVER
The endpoint is indound

See Also:
Constant Field Values

ENDPOINT_TYPE_SENDER_AND_RECEIVER

static final String ENDPOINT_TYPE_SENDER_AND_RECEIVER
The endpoint is either and will be set depending on how it is used

See Also:
Constant Field Values

ENDPOINT_TYPE_RESPONSE

static final String ENDPOINT_TYPE_RESPONSE
The endpoint is a receive endpoint set on a response router

See Also:
Constant Field Values
Method Detail

getEndpointURI

UMOEndpointURI getEndpointURI()
This specifes the communication endpointUri. This will have a different format depending on the transport protocol being used i.e.

if an endpointUri is not specifed it will be assumed that it will be determined at run-time by the calling application. The endpointUri can be aliteral endpointUri such as an email address or it can be a logical name for an endpointUri as long as it is declared in a message-endpointUri block. When the message-provider is created the endpointUri is first lookup in the endpointUri registry and if nothing is returned the endpointUri value itself is used.

Returns:
the endpointUri on which the endpoint sends or receives data

getEncoding

String getEncoding()
Decides the encoding to be used for events received by this endpoint

Returns:
the encoding set on the endpoint or null if no codin has been specified

getType

String getType()
Determines whether the message endpoint is a sender or receiver or both. The possible values are- The default is 'senderAndReceiver'.

Returns:
the endpoint type

getConnector

UMOConnector getConnector()
The endpoint that will be used to send the message on. It is important that the endpointUri and the connection correlate i.e. if your endpointUri is a jms queue your connection must be a JMS endpoint.

Returns:
the endpoint associated with the endpoint

getName

String getName()
The name is the identifier for the endpoint

Returns:
the endpoint name

getTransformer

UMOTransformer getTransformer()
The transformer is responsible for transforming data when it is received or sent by the UMO (depending on whether this endpoint is a receiver or not). A tranformation for an inbound event can be forced by the user by calling the inbound event.getTransformedMessage(). A tranformation for an outbound event is called or when the UMO dispatchEvent() or sendEvent() methods are called.

This attribute represents the name of the transformer to use as declared in the transformers section of the configuration file. IF a name for the transformer is not set on the configuration element, it will default to the name of the className attribute minus the package name.

Returns:
the transformer to use when receiving or sending data

getResponseTransformer

UMOTransformer getResponseTransformer()
The transformer used when a response is returned from invoking this endpoint

Returns:
the transformer to use when receiving the response data

getProperties

Map getProperties()
Returns any properties set on this endpoint

Returns:
a map of properties for this endpoint

getProperty

Object getProperty(Object key)
Retrieves a property set on the endpoint

Parameters:
key - the name of the property
Returns:
the property value or null if it does not exist

getProtocol

String getProtocol()
The transport protocol name that the message endpoint communicates over. i.e. jms, sms, smtp etc. The protocol must match that of the associated endpoint

Returns:
the protocol name

isReadOnly

boolean isReadOnly()
Returns:
true if this endpoint is read-only and none of it's properties can change. Global endpoints should be read-only so that unexpected behaviour is avoided.

canSend

boolean canSend()
Determines whether this endpoint can be used to send events

Returns:
true if it has been configured to send events, false otherwise

canReceive

boolean canReceive()
Determines whether this endpoint can be used to receive events

Returns:
true if it has been configured to receive events, false otherwise

getTransactionConfig

UMOTransactionConfig getTransactionConfig()
Returns the transaction configuration for this endpoint

Returns:
the transaction configuration for this endpoint or null if the endpoint is not transactional

clone

Object clone()
Make a deep copy of this endpoint

Returns:
a copy of the endpoint

getFilter

UMOFilter getFilter()
The filter to apply to incoming messages. Only applies when the endpoint endpointUri is a receiver

Returns:
the UMOFilter to use or null if one is not set

isDeleteUnacceptedMessages

boolean isDeleteUnacceptedMessages()
If a filter is configured on this endpoint, this property will determine if message that are not excepted by the filter are deleted

Returns:
true if message should be deleted, false otherwise

getSecurityFilter

UMOEndpointSecurityFilter getSecurityFilter()
Returns an UMOEndpointSecurityFilter for this endpoint. If one is not set, there will be no authentication on events sent via this endpoint

Returns:
UMOEndpointSecurityFilter responsible for authenticating message flow via this endpoint.
See Also:
UMOEndpointSecurityFilter

isSynchronous

boolean isSynchronous()
Determines if requests originating from this endpoint should be synchronous i.e. execute in a single thread and possibly return an result. This property is only used when the endpoint is of type 'receiver'

Returns:
whether requests on this endpoint should execute in a single thread. This property is only used when the endpoint is of type 'receiver'

isSynchronousSet

boolean isSynchronousSet()
Determines if the synchronous porperty has been set on the endpoint

Returns:

isRemoteSync

boolean isRemoteSync()
For certain providers that support the notion of a backchannel such as sockets (outputStream) or Jms (ReplyTo) Mule can automatically wait for a response from a backchannel when dispatching over these protocols. This is different for synchronous as synchronous behavior only applies to in

Returns:

getRemoteSyncTimeout

int getRemoteSyncTimeout()
The timeout value for remoteSync invocations

Returns:
the timeout in milliseconds

getCreateConnector

int getCreateConnector()
Determines if a new connector is created for this endpoint or an exising one must already be present

Returns:

getInitialState

String getInitialState()
Sets the state the endpoint will be loaded in. The States are 'stopped' and 'started' (default)

Returns:
the endpoint starting state

isStreaming

boolean isStreaming()
Determines whether the endpoint should deal with requests as streams

Returns:
true if the request should be streamed


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