in client/src/main/java/org/apache/qpid/client/AMQDestination.java [566:671]
public String toURL()
{
String url = _url;
if(url == null)
{
StringBuffer sb = new StringBuffer();
sb.append(_exchangeClass);
sb.append("://");
sb.append(_exchangeName);
sb.append("/");
if (_routingKey != null)
{
sb.append(_routingKey);
}
sb.append("/");
if (_queueName != null)
{
sb.append(_queueName);
}
sb.append('?');
if (_routingKey != null)
{
sb.append(BindingURL.OPTION_ROUTING_KEY);
sb.append("='");
sb.append(_routingKey).append("'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
// We can't allow both routingKey and bindingKey
if (_routingKey == null && _bindingKeys != null && _bindingKeys.length>0)
{
for (String bindingKey:_bindingKeys)
{
sb.append(BindingURL.OPTION_BINDING_KEY);
sb.append("='");
sb.append(bindingKey);
sb.append("'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
}
if (_isDurable)
{
sb.append(BindingURL.OPTION_DURABLE);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_isExclusive)
{
sb.append(BindingURL.OPTION_EXCLUSIVE);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_isAutoDelete)
{
sb.append(BindingURL.OPTION_AUTODELETE);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_rejectBehaviour != null)
{
sb.append(BindingURL.OPTION_REJECT_BEHAVIOUR);
sb.append("='" + _rejectBehaviour + "'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_exchangeDurable)
{
sb.append(BindingURL.OPTION_EXCHANGE_DURABLE);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_exchangeAutoDelete)
{
sb.append(BindingURL.OPTION_EXCHANGE_AUTODELETE);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
if (_exchangeInternal)
{
sb.append(BindingURL.OPTION_EXCHANGE_INTERNAL);
sb.append("='true'");
sb.append(URLHelper.DEFAULT_OPTION_SEPERATOR);
}
//removeKey the last char '?' if there is no options , ',' if there are.
sb.deleteCharAt(sb.length() - 1);
url = sb.toString();
_url = url;
}
return url;
}