With UriBuilder, you can provide a placeholder {name} for all the components of a URI – except the port number.
I suggest adding a new method to UriBuilder:
public abstract UriBuilder port(String port)
The port parameter provides the URI port. It may contain URI template parameters. A null value will unset an explicit port.
James Manger