org.eclipse.jetty.util
Class URIUtil

java.lang.Object
  extended by org.eclipse.jetty.util.URIUtil
All Implemented Interfaces:
Cloneable

public class URIUtil
extends Object
implements Cloneable

URI Holder. This class assists with the decoding and encoding or HTTP URI's. It differs from the java.net.URL class as it does not provide communications ability, but it does assist with query string formatting.

UTF-8 encoding is used by default for % encoded characters. This may be overridden with the org.eclipse.jetty.util.URI.charset system property.

See Also:
UrlEncoded

Field Summary
static String __CHARSET
           
static String HTTP
           
static String HTTP_COLON
           
static String HTTPS
           
static String HTTPS_COLON
           
static String SLASH
           
 
Method Summary
static String addPaths(String p1, String p2)
          Add two URI path segments.
static String canonicalPath(String path)
          Convert a path to a cananonical form.
static String compactPath(String path)
          Convert a path to a compact form.
static String decodePath(byte[] buf, int offset, int length)
           
static String decodePath(String path)
           
static String encodePath(String path)
          Encode a URI path.
static StringBuilder encodePath(StringBuilder buf, String path)
          Encode a URI path.
static StringBuilder encodeString(StringBuilder buf, String path, String encode)
          Encode a URI path.
static boolean hasScheme(String uri)
           
static String parentPath(String p)
          Return the parent Path.
static String stripPath(String path)
          Strip parameters from a path.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

SLASH

public static final String SLASH
See Also:
Constant Field Values

HTTP

public static final String HTTP
See Also:
Constant Field Values

HTTP_COLON

public static final String HTTP_COLON
See Also:
Constant Field Values

HTTPS

public static final String HTTPS
See Also:
Constant Field Values

HTTPS_COLON

public static final String HTTPS_COLON
See Also:
Constant Field Values

__CHARSET

public static final String __CHARSET
Method Detail

encodePath

public static String encodePath(String path)
Encode a URI path. This is the same encoding offered by URLEncoder, except that the '/' character is not encoded.

Parameters:
path - The path the encode
Returns:
The encoded path

encodePath

public static StringBuilder encodePath(StringBuilder buf,
                                       String path)
Encode a URI path.

Parameters:
path - The path the encode
buf - StringBuilder to encode path into (or null)
Returns:
The StringBuilder or null if no substitutions required.

encodeString

public static StringBuilder encodeString(StringBuilder buf,
                                         String path,
                                         String encode)
Encode a URI path.

Parameters:
path - The path the encode
buf - StringBuilder to encode path into (or null)
encode - String of characters to encode. % is always encoded.
Returns:
The StringBuilder or null if no substitutions required.

decodePath

public static String decodePath(String path)

decodePath

public static String decodePath(byte[] buf,
                                int offset,
                                int length)

addPaths

public static String addPaths(String p1,
                              String p2)
Add two URI path segments. Handles null and empty paths, path and query params (eg ?a=b or ;JSESSIONID=xxx) and avoids duplicate '/'

Parameters:
p1 - URI path segment (should be encoded)
p2 - URI path segment (should be encoded)
Returns:
Legally combined path segments.

parentPath

public static String parentPath(String p)
Return the parent Path. Treat a URI like a directory path and return the parent directory.


stripPath

public static String stripPath(String path)
Strip parameters from a path. Return path upto any semicolon parameters.


canonicalPath

public static String canonicalPath(String path)
Convert a path to a cananonical form. All instances of "." and ".." are factored out. Null is returned if the path tries to .. above its root.

Parameters:
path -
Returns:
path or null.

compactPath

public static String compactPath(String path)
Convert a path to a compact form. All instances of "//" and "///" etc. are factored out to single "/"

Parameters:
path -
Returns:
path

hasScheme

public static boolean hasScheme(String uri)
Parameters:
uri - URI
Returns:
True if the uri has a scheme


Copyright © 1995-2011 Mort Bay Consulting. All Rights Reserved.