org.mule.endpoint
Class URIBuilder

java.lang.Object
  extended by org.mule.endpoint.URIBuilder
All Implemented Interfaces:
AnnotatedObject

public class URIBuilder
extends Object
implements AnnotatedObject

This has the following logic: - if an address is specified, it is used verbatim (except for parameters); this is consistent with the generic case - otherwise, we construct from components, omitting things that aren't specified as much as possible (use required attributes to guarantee entries) In addition, parameters are handled as follows: - parameters can be given in the uri, the queryMap, or both - queryMap values override uri values - the order of parameters in the uri remains the same (even if values change) - queryMap parameters are appended after uri parameters TODO - check that we have sufficient control via XML (what about empty strings?) Not called EndpointURIBuilder because of EndpointURIBuilder


Field Summary
static String ADDRESS
           
static String[] ALL_ATTRIBUTES
           
static String[] ALL_TRANSPORT_ATTRIBUTES
           
static String HOST
           
static String[] HOST_ATTRIBUTES
           
static String META
           
static String PASSWORD
           
static String PATH
           
static String[] PATH_ATTRIBUTES
           
static String PORT
           
static String PROTOCOL
           
static String[] SOCKET_ATTRIBUTES
           
static String USER
           
static String[] USERHOST_ATTRIBUTES
           
 
Fields inherited from interface org.mule.api.AnnotatedObject
PROPERTY_NAME
 
Constructor Summary
URIBuilder()
           
URIBuilder(EndpointURI endpointURI)
           
URIBuilder(MuleContext muleContext)
           
URIBuilder(String address, MuleContext muleContext)
           
 
Method Summary
protected  void assertAddressConsistent()
           
protected  void assertNotUsed()
           
protected  void assertProtocolConsistent()
           
protected static boolean equal(Object a, Object b)
           
 boolean equals(Object other)
           
 Object getAnnotation(QName name)
          Gets the value of specified annotation.
 Map<QName,Object> getAnnotations()
          Gets all annotations.
protected  String getConstructor()
           
protected  String getEncodedConstructor()
           
 EndpointURI getEndpoint()
           
 MuleContext getMuleContext()
           
 int hashCode()
           
 void setAddress(String address)
           
 void setAnnotations(Map<QName,Object> newAnnotations)
          Sets annotations to the object.
 void setHost(String host)
           
 void setMeta(String meta)
           
 void setMuleContext(MuleContext muleContext)
           
 void setPassword(String password)
           
 void setPath(String path)
           
 void setPort(int port)
          For backwards compatibility
 void setPort(String port)
          Allows ports to be Mule expressions
 void setProtocol(String protocol)
           
 void setQueryMap(Map queryMap)
           
 void setUser(String user)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

META

public static final String META
See Also:
Constant Field Values

PROTOCOL

public static final String PROTOCOL
See Also:
Constant Field Values

USER

public static final String USER
See Also:
Constant Field Values

PASSWORD

public static final String PASSWORD
See Also:
Constant Field Values

HOST

public static final String HOST
See Also:
Constant Field Values

ADDRESS

public static final String ADDRESS
See Also:
Constant Field Values

PORT

public static final String PORT
See Also:
Constant Field Values

PATH

public static final String PATH
See Also:
Constant Field Values

ALL_ATTRIBUTES

public static final String[] ALL_ATTRIBUTES

PATH_ATTRIBUTES

public static final String[] PATH_ATTRIBUTES

HOST_ATTRIBUTES

public static final String[] HOST_ATTRIBUTES

SOCKET_ATTRIBUTES

public static final String[] SOCKET_ATTRIBUTES

USERHOST_ATTRIBUTES

public static final String[] USERHOST_ATTRIBUTES

ALL_TRANSPORT_ATTRIBUTES

public static final String[] ALL_TRANSPORT_ATTRIBUTES
Constructor Detail

URIBuilder

public URIBuilder()

URIBuilder

public URIBuilder(MuleContext muleContext)

URIBuilder

public URIBuilder(EndpointURI endpointURI)

URIBuilder

public URIBuilder(String address,
                  MuleContext muleContext)
Method Detail

getMuleContext

public MuleContext getMuleContext()

setMuleContext

public void setMuleContext(MuleContext muleContext)

setUser

public void setUser(String user)

setPassword

public void setPassword(String password)

setHost

public void setHost(String host)

setAddress

public void setAddress(String address)

setPort

public void setPort(int port)
For backwards compatibility


setPort

public void setPort(String port)
Allows ports to be Mule expressions


setProtocol

public void setProtocol(String protocol)

setMeta

public void setMeta(String meta)

setPath

public void setPath(String path)

setQueryMap

public void setQueryMap(Map queryMap)

getEndpoint

public EndpointURI getEndpoint()

getConstructor

protected String getConstructor()
Returns:
The String supplied to the delegate constructor

getEncodedConstructor

protected String getEncodedConstructor()

assertNotUsed

protected void assertNotUsed()

assertAddressConsistent

protected void assertAddressConsistent()

assertProtocolConsistent

protected void assertProtocolConsistent()

toString

public String toString()
Overrides:
toString in class Object

equals

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

equal

protected static boolean equal(Object a,
                               Object b)

hashCode

public int hashCode()
Overrides:
hashCode in class Object

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-2014 MuleSoft, Inc.. All Rights Reserved.