View Javadoc

1   /*
2    * $Id: EndpointBuilder.java 10961 2008-02-22 19:01:02Z dfeist $
3    * --------------------------------------------------------------------------------------
4    * Copyright (c) MuleSource, Inc.  All rights reserved.  http://www.mulesource.com
5    *
6    * The software in this package is published under the terms of the CPAL v1.0
7    * license, a copy of which has been included with this distribution in the
8    * LICENSE.txt file.
9    */
10  
11  package org.mule.api.endpoint;
12  
13  import org.mule.api.MuleContext;
14  import org.mule.api.context.MuleContextAware;
15  import org.mule.api.lifecycle.InitialisationException;
16  import org.mule.api.routing.filter.Filter;
17  import org.mule.api.security.EndpointSecurityFilter;
18  import org.mule.api.transaction.TransactionConfig;
19  import org.mule.api.transformer.Transformer;
20  import org.mule.api.transport.ConnectionStrategy;
21  import org.mule.api.transport.Connector;
22  import org.mule.endpoint.URIBuilder;
23  
24  import java.util.List;
25  import java.util.Map;
26  
27  /**
28   * Constructs endpoints. Transport specific endpoints can easily resolve the Endpoint implementation to be
29   * uses, for generic endpoints we can either resolve the transport from uri string or use a default
30   * implementation.
31   */
32  public interface EndpointBuilder extends MuleContextAware, Cloneable
33  {
34  
35      /**
36       * Constructs inbound endpoints
37       * 
38       * @return
39       * @throws EndpointException
40       * @throws InitialisationException
41       */
42      InboundEndpoint buildInboundEndpoint() throws EndpointException, InitialisationException;
43  
44      /**
45       * Constructs outbound endpoints
46       * 
47       * @return
48       * @throws EndpointException
49       * @throws InitialisationException
50       */
51      OutboundEndpoint buildOutboundEndpoint() throws EndpointException, InitialisationException;
52  
53      void setConnector(Connector connector);
54  
55      void addTransformer(Transformer transformer);
56  
57      void setTransformers(List transformers);
58  
59      void setResponseTransformers(List responseTransformer);
60  
61      void setName(String name);
62  
63      void setProperty(Object key, Object value);
64      
65      void setProperties(Map properties);
66  
67      void setTransactionConfig(TransactionConfig transactionConfig);
68  
69      void setFilter(Filter filter);
70  
71      void setDeleteUnacceptedMessages(boolean deleteUnacceptedMessages);
72  
73      void setSecurityFilter(EndpointSecurityFilter securityFilter);
74  
75      void setSynchronous(boolean synchronous);
76  
77      void setRemoteSync(boolean remoteSync);
78  
79      void setRemoteSyncTimeout(int remoteSyncTimeout);
80  
81      void setInitialState(String initialState);
82  
83      void setEncoding(String encoding);
84  
85      void setRegistryId(String registryId);
86  
87      void setMuleContext(MuleContext muleContext);
88  
89      void setConnectionStrategy(ConnectionStrategy connectionStrategy);
90  
91      void setURIBuilder(URIBuilder URIBuilder);
92  
93      Object clone() throws CloneNotSupportedException;
94  
95  }