org.mule.api.endpoint
Interface ImmutableEndpoint

All Superinterfaces:
Serializable
All Known Subinterfaces:
InboundEndpoint, OutboundEndpoint
All Known Implementing Classes:
AbstractEndpoint, DefaultInboundEndpoint, DefaultOutboundEndpoint, DynamicURIInboundEndpoint, DynamicURIOutboundEndpoint

public interface ImmutableEndpoint
extends Serializable

ImmutableEndpoint 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 INITIAL_STATE_STARTED
           
static String INITIAL_STATE_STOPPED
           
 
Method Summary
 ConnectionStrategy getConnectionStrategy()
          Returns the connection strategy this endpoint should use when connecting to the underlying resource
 Connector getConnector()
          The endpoint that will be used to send the message on.
 String getEncoding()
          Decides the encoding to be used for events received by this endpoint
 EndpointURI getEndpointURI()
          This specifess the communication endpointUri.
 Filter getFilter()
          The filter to apply to incoming messages.
 String getInitialState()
          Sets the state the endpoint will be loaded in.
 MuleContext getMuleContext()
           
 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
 List getResponseTransformers()
          The transformers used when a response is returned from invoking this endpoint.
 EndpointSecurityFilter getSecurityFilter()
          Returns an EndpointSecurityFilter for this endpoint.
 TransactionConfig getTransactionConfig()
          Returns the transaction configuration for this endpoint
 List getTransformers()
          Transformers are responsible for transforming data when it is received or sent by the UMO (depending on whether this endpoint is a receiver or not).
 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 isSynchronous()
          Determines if requests originating from this endpoint should be synchronous i.e.
 

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
Method Detail

getEndpointURI

EndpointURI getEndpointURI()
This specifess 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

getConnector

Connector 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

getTransformers

List getTransformers()
Transformers are 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. If an endpoint has no transformers an empty list is returned.

Returns:
the transformers to use when receiving or sending data

getResponseTransformers

List getResponseTransformers()
The transformers used when a response is returned from invoking this endpoint. If an endpoint has no response transformers an empty list is returned.

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.

getTransactionConfig

TransactionConfig getTransactionConfig()
Returns the transaction configuration for this endpoint

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

getFilter

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

Returns:
the Filter 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

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

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

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'

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


getRemoteSyncTimeout

int getRemoteSyncTimeout()
The timeout value for remoteSync invocations

Returns:
the timeout in milliseconds

getInitialState

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

Returns:
the endpoint starting state

getMuleContext

MuleContext getMuleContext()

getConnectionStrategy

ConnectionStrategy getConnectionStrategy()
Returns the connection strategy this endpoint should use when connecting to the underlying resource

Returns:
the connection strategy this endpoint should use when connecting to the underlying resource


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