org.mule.endpoint
Class AbstractEndpointBuilder

java.lang.Object
  extended by org.mule.endpoint.AbstractEndpointBuilder
All Implemented Interfaces:
Cloneable, AnnotatedObject, MuleContextAware, EndpointBuilder
Direct Known Subclasses:
EndpointURIEndpointBuilder

public abstract class AbstractEndpointBuilder
extends Object
implements EndpointBuilder, AnnotatedObject

Abstract endpoint builder used for externalizing the complex creation logic of endpoints out of the endpoint instance itself.
The use of a builder allows i) Endpoints to be configured once and created in a repeatable fashion (global endpoints), ii) Allow for much more extensibility in endpoint creation for transport specific endpoints, streaming endpoints etc.


Field Summary
protected  Connector connector
           
protected  Integer createConnector
           
protected  Boolean deleteUnacceptedMessages
           
protected  Boolean disableTransportTransformer
           
protected  String encoding
           
protected  String initialState
           
protected  Log logger
           
protected  MessageExchangePattern messageExchangePattern
           
protected  List<MessageProcessor> messageProcessors
           
protected  EndpointMessageProcessorChainFactory messageProcessorsFactory
           
protected  String mimeType
           
protected  MuleContext muleContext
           
protected  String name
           
protected  Map<Object,Object> properties
           
static String PROPERTY_RESPONSE_PROPERTIES
           
static String PROPERTY_RESPONSE_TIMEOUT
           
protected  AbstractRedeliveryPolicy redeliveryPolicy
           
protected  String registryId
           
protected  List<MessageProcessor> responseMessageProcessors
           
protected  String responsePropertiesList
           
protected  Integer responseTimeout
           
protected  List<Transformer> responseTransformers
           
protected  RetryPolicyTemplate retryPolicyTemplate
           
protected  Boolean synchronous
           
protected  TransactionConfig transactionConfig
           
protected  List<Transformer> transformers
           
protected  URIBuilder uriBuilder
           
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_NAME
 
Constructor Summary
AbstractEndpointBuilder()
           
 
Method Summary
 void addMessageProcessor(MessageProcessor messageProcessor)
           
protected  List<MessageProcessor> addReplyToProcessors(List<MessageProcessor> processors)
           
 void addResponseMessageProcessor(MessageProcessor messageProcessor)
           
 void addResponseTransformer(Transformer transformer)
          Deprecated. Use addResponseMessageProcessor()
protected  List<MessageProcessor> addResponseTransformerProcessors(EndpointURI endpointURI)
           
 void addTransformer(Transformer transformer)
          Deprecated. Use addMessageProcessor()
protected  List<MessageProcessor> addTransformerProcessors(EndpointURI endpointURI)
           
 InboundEndpoint buildInboundEndpoint()
          Constructs inbound endpoints
 OutboundEndpoint buildOutboundEndpoint()
          Constructs outbound endpoints
protected  void checkInboundExchangePattern()
           
 Object clone()
           
protected  InboundEndpoint doBuildInboundEndpoint()
           
protected  OutboundEndpoint doBuildOutboundEndpoint()
           
protected static boolean equal(Object a, Object b)
           
 boolean equals(Object obj)
           
 Object getAnnotation(QName name)
          Gets the value of specified annotation.
 Map<QName,Object> getAnnotations()
          Gets all annotations.
protected  Connector getConnector()
           
protected  Connector getDefaultConnector()
           
protected  boolean getDefaultDeleteUnacceptedMessages(Connector connector)
           
protected  boolean getDefaultDisableTransportTransformer()
           
protected  String getDefaultEndpointEncoding(Connector connector)
           
protected  String getDefaultInitialState(Connector connector)
           
protected  EndpointMessageProcessorChainFactory getDefaultMessageProcessorsFactory()
           
protected  int getDefaultResponseTimeout(Connector connector)
           
protected  EndpointSecurityFilter getDefaultSecurityFilter()
           
protected  TransactionConfig getDefaultTransactionConfig()
           
protected  boolean getDeleteUnacceptedMessages(Connector connector)
           
 URIBuilder getEndpointBuilder()
           
protected  String getEndpointEncoding(Connector connector)
           
protected  String getInitialState(Connector connector)
           
 List<MessageProcessor> getMessageProcessors()
           
protected  EndpointMessageProcessorChainFactory getMessageProcessorsFactory()
           
protected  String getMimeType()
           
protected  String getName(EndpointURI endpointURI)
           
protected  Map<Object,Object> getProperties()
           
 AbstractRedeliveryPolicy getRedeliveryPolicy()
           
 List<MessageProcessor> getResponseMessageProcessors()
           
protected  int getResponseTimeout(Connector connector)
           
protected  List<Transformer> getResponseTransformersFromUri(EndpointURI endpointURI)
           
protected  RetryPolicyTemplate getRetryPolicyTemplate(Connector conn)
           
protected  String getScheme()
           
protected  SecurityFilter getSecurityFilter()
           
protected  TransactionConfig getTransactionConfig()
           
protected  List<Transformer> getTransformersFromUri(EndpointURI endpointURI)
           
 int hashCode()
           
protected  void initExchangePatternFromConnectorDefault(TransportServiceDescriptor serviceDescriptor)
           
protected  boolean isAlwaysCreateConnector()
          Some endpoint may always require a new connector to be created for every endpoint
protected  boolean isDisableTransportTransformer()
           
protected  void prepareToBuildEndpoint()
           
 void setAnnotations(Map<QName,Object> newAnnotations)
          Sets annotations to the object.
 void setConnector(Connector connector)
           
 void setCreateConnector(int createConnector)
           
 void setDeleteUnacceptedMessages(boolean deleteUnacceptedMessages)
           
 void setDisableTransportTransformer(boolean disableTransportTransformer)
           
 void setEncoding(String encoding)
           
 void setExchangePattern(MessageExchangePattern mep)
           
 void setInitialState(String initialState)
           
 void setMessageProcessors(List<MessageProcessor> newMessageProcessors)
           
 void setMimeType(String mimeType)
           
 void setMuleContext(MuleContext muleContext)
           
 void setName(String name)
           
 void setProperties(Map<Object,Object> properties)
          NOTE - this appends properties.
protected  void setPropertiesFromProperties(Map<Object,Object> properties)
           
 void setProperty(Object key, Object value)
          Sets a property on the endpoint
 void setRedeliveryPolicy(AbstractRedeliveryPolicy redeliveryPolicy)
           
 void setRegistryId(String registryId)
           
 void setResponseMessageProcessors(List<MessageProcessor> newResponseMessageProcessors)
           
 void setResponseTimeout(int responseTimeout)
           
 void setResponseTransformers(List<Transformer> newResponseTransformers)
          Deprecated. Use setResponseMessageProcessors()
 void setRetryPolicyTemplate(RetryPolicyTemplate retryPolicyTemplate)
           
 void setTransactionConfig(TransactionConfig transactionConfig)
           
 void setTransformers(List<Transformer> newTransformers)
          Deprecated. Use setMessageProcessors()
 void setURIBuilder(URIBuilder URIBuilder)
           
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROPERTY_RESPONSE_TIMEOUT

public static final String PROPERTY_RESPONSE_TIMEOUT
See Also:
Constant Field Values

PROPERTY_RESPONSE_PROPERTIES

public static final String PROPERTY_RESPONSE_PROPERTIES
See Also:
Constant Field Values

uriBuilder

protected URIBuilder uriBuilder

connector

protected Connector connector

name

protected String name

properties

protected Map<Object,Object> properties

transactionConfig

protected TransactionConfig transactionConfig

deleteUnacceptedMessages

protected Boolean deleteUnacceptedMessages

synchronous

protected Boolean synchronous

messageExchangePattern

protected MessageExchangePattern messageExchangePattern

responseTimeout

protected Integer responseTimeout

initialState

protected String initialState

encoding

protected String encoding

createConnector

protected Integer createConnector

retryPolicyTemplate

protected RetryPolicyTemplate retryPolicyTemplate

responsePropertiesList

protected String responsePropertiesList

messageProcessorsFactory

protected EndpointMessageProcessorChainFactory messageProcessorsFactory

messageProcessors

protected List<MessageProcessor> messageProcessors

responseMessageProcessors

protected List<MessageProcessor> responseMessageProcessors

transformers

protected List<Transformer> transformers

responseTransformers

protected List<Transformer> responseTransformers

disableTransportTransformer

protected Boolean disableTransportTransformer

mimeType

protected String mimeType

redeliveryPolicy

protected AbstractRedeliveryPolicy redeliveryPolicy

registryId

protected String registryId

muleContext

protected MuleContext muleContext

logger

protected transient Log logger
Constructor Detail

AbstractEndpointBuilder

public AbstractEndpointBuilder()
Method Detail

buildInboundEndpoint

public InboundEndpoint buildInboundEndpoint()
                                     throws EndpointException,
                                            InitialisationException
Description copied from interface: EndpointBuilder
Constructs inbound endpoints

Specified by:
buildInboundEndpoint in interface EndpointBuilder
Throws:
EndpointException
InitialisationException

buildOutboundEndpoint

public OutboundEndpoint buildOutboundEndpoint()
                                       throws EndpointException,
                                              InitialisationException
Description copied from interface: EndpointBuilder
Constructs outbound endpoints

Specified by:
buildOutboundEndpoint in interface EndpointBuilder
Throws:
EndpointException
InitialisationException

setPropertiesFromProperties

protected void setPropertiesFromProperties(Map<Object,Object> properties)

doBuildInboundEndpoint

protected InboundEndpoint doBuildInboundEndpoint()
                                          throws InitialisationException,
                                                 EndpointException
Throws:
InitialisationException
EndpointException

doBuildOutboundEndpoint

protected OutboundEndpoint doBuildOutboundEndpoint()
                                            throws InitialisationException,
                                                   EndpointException
Throws:
InitialisationException
EndpointException

addTransformerProcessors

protected List<MessageProcessor> addTransformerProcessors(EndpointURI endpointURI)
                                                   throws TransportFactoryException
Throws:
TransportFactoryException

addReplyToProcessors

protected List<MessageProcessor> addReplyToProcessors(List<MessageProcessor> processors)

addResponseTransformerProcessors

protected List<MessageProcessor> addResponseTransformerProcessors(EndpointURI endpointURI)
                                                           throws TransportFactoryException
Throws:
TransportFactoryException

prepareToBuildEndpoint

protected void prepareToBuildEndpoint()

checkInboundExchangePattern

protected void checkInboundExchangePattern()
                                    throws EndpointException
Throws:
EndpointException

initExchangePatternFromConnectorDefault

protected void initExchangePatternFromConnectorDefault(TransportServiceDescriptor serviceDescriptor)
                                                throws EndpointException
Throws:
EndpointException

getRedeliveryPolicy

public AbstractRedeliveryPolicy getRedeliveryPolicy()

getRetryPolicyTemplate

protected RetryPolicyTemplate getRetryPolicyTemplate(Connector conn)

getTransactionConfig

protected TransactionConfig getTransactionConfig()

getDefaultTransactionConfig

protected TransactionConfig getDefaultTransactionConfig()

getSecurityFilter

protected SecurityFilter getSecurityFilter()

getDefaultSecurityFilter

protected EndpointSecurityFilter getDefaultSecurityFilter()

getConnector

protected Connector getConnector()
                          throws EndpointException
Throws:
EndpointException

getDefaultConnector

protected Connector getDefaultConnector()
                                 throws EndpointException
Throws:
EndpointException

getName

protected String getName(EndpointURI endpointURI)

getProperties

protected Map<Object,Object> getProperties()

getDeleteUnacceptedMessages

protected boolean getDeleteUnacceptedMessages(Connector connector)

getDefaultDeleteUnacceptedMessages

protected boolean getDefaultDeleteUnacceptedMessages(Connector connector)

getEndpointEncoding

protected String getEndpointEncoding(Connector connector)

getDefaultEndpointEncoding

protected String getDefaultEndpointEncoding(Connector connector)

getInitialState

protected String getInitialState(Connector connector)

getDefaultInitialState

protected String getDefaultInitialState(Connector connector)

getResponseTimeout

protected int getResponseTimeout(Connector connector)

getDefaultResponseTimeout

protected int getDefaultResponseTimeout(Connector connector)

getTransformersFromUri

protected List<Transformer> getTransformersFromUri(EndpointURI endpointURI)
                                            throws TransportFactoryException
Throws:
TransportFactoryException

getResponseTransformersFromUri

protected List<Transformer> getResponseTransformersFromUri(EndpointURI endpointURI)
                                                    throws TransportFactoryException
Throws:
TransportFactoryException

getMimeType

protected String getMimeType()

setMimeType

public void setMimeType(String mimeType)

getScheme

protected String getScheme()

isAlwaysCreateConnector

protected boolean isAlwaysCreateConnector()
Some endpoint may always require a new connector to be created for every endpoint

Returns:
the default if false but cusotm endpoints can override
Since:
3.0.0

setConnector

public void setConnector(Connector connector)
Specified by:
setConnector in interface EndpointBuilder

addTransformer

@Deprecated
public void addTransformer(Transformer transformer)
Deprecated. Use addMessageProcessor()

Specified by:
addTransformer in interface EndpointBuilder

setTransformers

@Deprecated
public void setTransformers(List<Transformer> newTransformers)
Deprecated. Use setMessageProcessors()

Specified by:
setTransformers in interface EndpointBuilder

getMessageProcessorsFactory

protected EndpointMessageProcessorChainFactory getMessageProcessorsFactory()

getDefaultMessageProcessorsFactory

protected EndpointMessageProcessorChainFactory getDefaultMessageProcessorsFactory()

addResponseTransformer

@Deprecated
public void addResponseTransformer(Transformer transformer)
Deprecated. Use addResponseMessageProcessor()

Specified by:
addResponseTransformer in interface EndpointBuilder

setResponseTransformers

@Deprecated
public void setResponseTransformers(List<Transformer> newResponseTransformers)
Deprecated. Use setResponseMessageProcessors()

Specified by:
setResponseTransformers in interface EndpointBuilder

addMessageProcessor

public void addMessageProcessor(MessageProcessor messageProcessor)
Specified by:
addMessageProcessor in interface EndpointBuilder

setMessageProcessors

public void setMessageProcessors(List<MessageProcessor> newMessageProcessors)
Specified by:
setMessageProcessors in interface EndpointBuilder

getMessageProcessors

public List<MessageProcessor> getMessageProcessors()

addResponseMessageProcessor

public void addResponseMessageProcessor(MessageProcessor messageProcessor)
Specified by:
addResponseMessageProcessor in interface EndpointBuilder

setResponseMessageProcessors

public void setResponseMessageProcessors(List<MessageProcessor> newResponseMessageProcessors)
Specified by:
setResponseMessageProcessors in interface EndpointBuilder

getResponseMessageProcessors

public List<MessageProcessor> getResponseMessageProcessors()

isDisableTransportTransformer

protected boolean isDisableTransportTransformer()

getDefaultDisableTransportTransformer

protected boolean getDefaultDisableTransportTransformer()

setName

public void setName(String name)
Specified by:
setName in interface EndpointBuilder

setProperties

public void setProperties(Map<Object,Object> properties)
NOTE - this appends properties.

Specified by:
setProperties in interface EndpointBuilder

setProperty

public void setProperty(Object key,
                        Object value)
Sets a property on the endpoint

Specified by:
setProperty in interface EndpointBuilder
Parameters:
key - the property key
value - the value of the property

setTransactionConfig

public void setTransactionConfig(TransactionConfig transactionConfig)
Specified by:
setTransactionConfig in interface EndpointBuilder

setDeleteUnacceptedMessages

public void setDeleteUnacceptedMessages(boolean deleteUnacceptedMessages)
Specified by:
setDeleteUnacceptedMessages in interface EndpointBuilder

setExchangePattern

public void setExchangePattern(MessageExchangePattern mep)
Specified by:
setExchangePattern in interface EndpointBuilder

setResponseTimeout

public void setResponseTimeout(int responseTimeout)
Specified by:
setResponseTimeout in interface EndpointBuilder

setInitialState

public void setInitialState(String initialState)
Specified by:
setInitialState in interface EndpointBuilder

setEncoding

public void setEncoding(String encoding)
Specified by:
setEncoding in interface EndpointBuilder

setCreateConnector

public void setCreateConnector(int createConnector)

setRedeliveryPolicy

public void setRedeliveryPolicy(AbstractRedeliveryPolicy redeliveryPolicy)

setRegistryId

public void setRegistryId(String registryId)
Specified by:
setRegistryId in interface EndpointBuilder

setMuleContext

public void setMuleContext(MuleContext muleContext)
Specified by:
setMuleContext in interface MuleContextAware

setRetryPolicyTemplate

public void setRetryPolicyTemplate(RetryPolicyTemplate retryPolicyTemplate)
Specified by:
setRetryPolicyTemplate in interface EndpointBuilder

setDisableTransportTransformer

public void setDisableTransportTransformer(boolean disableTransportTransformer)
Specified by:
setDisableTransportTransformer in interface EndpointBuilder

getEndpointBuilder

public URIBuilder getEndpointBuilder()

setURIBuilder

public void setURIBuilder(URIBuilder URIBuilder)
Specified by:
setURIBuilder in interface EndpointBuilder

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object

equal

protected static boolean equal(Object a,
                               Object b)

clone

public Object clone()
             throws CloneNotSupportedException
Specified by:
clone in interface EndpointBuilder
Overrides:
clone in class Object
Throws:
CloneNotSupportedException

getAnnotation

public final Object getAnnotation(QName name)
Description copied from interface: AnnotatedObject
Gets the value of specified annotation.

Specified by:
getAnnotation in interface AnnotatedObject
Returns:
the value of specified annotation

getAnnotations

public final Map<QName,Object> getAnnotations()
Description copied from interface: AnnotatedObject
Gets all annotations.

Specified by:
getAnnotations in interface AnnotatedObject
Returns:
all annotation

setAnnotations

public final void setAnnotations(Map<QName,Object> newAnnotations)
Description copied from interface: AnnotatedObject
Sets annotations to the object.

Specified by:
setAnnotations in interface AnnotatedObject


Copyright © 2003-2012 MuleSoft, Inc.. All Rights Reserved.