org.apache.http.client.utils
Class URIUtils

java.lang.Object
  extended by org.apache.http.client.utils.URIUtils

@Immutable
public class URIUtils
extends Object

A collection of utilities for URIs, to workaround bugs within the class or for ease-of-use features.

Since:
4.0

Method Summary
static URI createURI(String scheme, String host, int port, String path, String query, String fragment)
          Constructs a URI using all the parameters.
static URI resolve(URI baseURI, String reference)
          Resolves a URI reference against a base URI.
static URI resolve(URI baseURI, URI reference)
          Resolves a URI reference against a base URI.
static URI rewriteURI(URI uri, HttpHost target)
          A convenience method for rewriteURI(URI, HttpHost, boolean) that always keeps the fragment.
static URI rewriteURI(URI uri, HttpHost target, boolean dropFragment)
          A convenience method for creating a new URI whose scheme, host and port are taken from the target host, but whose path, query and fragment are taken from the existing URI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

createURI

public static URI createURI(String scheme,
                            String host,
                            int port,
                            String path,
                            String query,
                            String fragment)
                     throws URISyntaxException
Constructs a URI using all the parameters. This should be used instead of URI.URI(String, String, String, int, String, String, String) or any of the other URI multi-argument URI constructors.

Parameters:
scheme - Scheme name
host - Host name
port - Port number
path - Path
query - Query
fragment - Fragment
Throws:
URISyntaxException - If both a scheme and a path are given but the path is relative, if the URI string constructed from the given components violates RFC 2396, or if the authority component of the string is present but cannot be parsed as a server-based authority

rewriteURI

public static URI rewriteURI(URI uri,
                             HttpHost target,
                             boolean dropFragment)
                      throws URISyntaxException
A convenience method for creating a new URI whose scheme, host and port are taken from the target host, but whose path, query and fragment are taken from the existing URI. The fragment is only used if dropFragment is false.

Parameters:
uri - Contains the path, query and fragment to use.
target - Contains the scheme, host and port to use.
dropFragment - True if the fragment should not be copied.
Throws:
URISyntaxException - If the resulting URI is invalid.

rewriteURI

public static URI rewriteURI(URI uri,
                             HttpHost target)
                      throws URISyntaxException
A convenience method for rewriteURI(URI, HttpHost, boolean) that always keeps the fragment.

Throws:
URISyntaxException

resolve

public static URI resolve(URI baseURI,
                          String reference)
Resolves a URI reference against a base URI. Work-around for bug in java.net.URI ()

Parameters:
baseURI - the base URI
reference - the URI reference
Returns:
the resulting URI

resolve

public static URI resolve(URI baseURI,
                          URI reference)
Resolves a URI reference against a base URI. Work-around for bugs in java.net.URI (e.g. )

Parameters:
baseURI - the base URI
reference - the URI reference
Returns:
the resulting URI


Copyright © 1999-2010 Apache Software Foundation. All Rights Reserved.