View Javadoc

1   /*
2    * $Id: EndpointURI.java 10790 2008-02-12 20:53:32Z 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.lifecycle.Initialisable;
14  
15  import java.io.Serializable;
16  import java.net.URI;
17  import java.util.Properties;
18  
19  /**
20   * <code>EndpointURI</code> is used to determine how a message is sent or
21   * received. The url defines the protocol, the endpointUri destination of the message
22   * and optionally the endpoint to use when dispatching the event. Mule urls take the
23   * form of - protocol://[host]:[port]/[provider]/endpointUri or
24   * protocol://[host]:[port]/endpointUri i.e. vm://my.object or
25   * The protocol can be any of any conector registered with Mule. The
26   * endpoint name if specified must be the name of a register global endpoint The
27   * endpointUri can be any endpointUri recognised by the endpoint type.
28   * 
29   */
30  public interface EndpointURI extends Serializable, Initialisable
31  {
32  
33      String PROPERTY_ENDPOINT_NAME = "endpointName";
34      String PROPERTY_ENDPOINT_URI = "address";
35      String PROPERTY_CONNECTOR_NAME = "connector";
36      String PROPERTY_TRANSFORMERS = "transformers";
37      String PROPERTY_RESPONSE_TRANSFORMERS = "responseTransformers";
38  
39      String getAddress();
40  
41      String getFilterAddress();
42  
43      /** 
44       * @deprecated This property is used by endpoint-identifiers, global-endpoints use ImmutableEndpoint.getName()
45       */
46      String getEndpointName();
47  
48      /** 
49       * @deprecated This property is used by endpoint-identifiers, global-endpoints use ImmutableEndpoint.getName()
50       */
51      void setEndpointName(String name);
52  
53      Properties getParams();
54  
55      /**
56       * A reduced version of getParams() - drops some system parameters
57       */
58      Properties getUserParams();
59  
60      String getScheme();
61  
62      String getSchemeMetaInfo();
63  
64      String getFullScheme();
65  
66      String getAuthority();
67  
68      String getHost();
69  
70      int getPort();
71  
72      String getPath();
73  
74      String getQuery();
75  
76      String getUserInfo();
77  
78      String getTransformers();
79  
80      String getResponseTransformers();
81  
82      URI getUri();
83  
84      String getConnectorName();
85  
86      String getResourceInfo();
87  
88      String getUser();
89  
90      String getPassword();
91  }