org.apache.commons.httpclient.util
Class URIUtil

java.lang.Object
  extended by org.apache.commons.httpclient.util.URIUtil

public class URIUtil
extends Object

The URI escape and character encoding and decoding utility. It's compatible with HttpURL rather than URI.

Version:
$Revision: 155418 $ $Date: 2002/03/14 15:14:01
Author:
Sung-Gu

Field Summary
protected static BitSet empty
          1 bit bit set
 
Constructor Summary
URIUtil()
           
 
Method Summary
static String decode(String escaped)
          Unescape and decode a given string regarded as an escaped string with the default protocol charset.
static String encode(String unescaped, BitSet allowed)
          Escape and encode a given string with allowed characters not to be escaped and the default protocol charset.
static String encode(String unescaped, BitSet allowed, String charset)
          Escape and encode a given string with allowed characters not to be escaped and a given charset.
static String encodeAll(String unescaped)
          Get the all escaped and encoded string with the default protocl charset.
static String encodeAll(String unescaped, String charset)
          Get the all escaped and encoded string with a given charset.
static String encodePath(String unescaped)
          Escape and encode a string regarded as the path component of an URI with the default protocol charset.
static String encodePath(String unescaped, String charset)
          Escape and encode a string regarded as the path component of an URI with a given charset.
static String encodePathQuery(String unescaped)
          Escape and encode a string regarded as the path and query components of an URI with the default protocol charset.
static String encodePathQuery(String unescaped, String charset)
          Escape and encode a string regarded as the path and query components of an URI with a given charset.
static String encodeQuery(String unescaped)
          Escape and encode a string regarded as the query component of an URI with the default protocol charset.
static String encodeQuery(String unescaped, String charset)
          Escape and encode a string regarded as the query component of an URI with a given charset.
static String encodeWithinAuthority(String unescaped)
          Escape and encode a string regarded as within the authority component of an URI with the default protocol charset.
static String encodeWithinAuthority(String unescaped, String charset)
          Escape and encode a string regarded as within the authority component of an URI with a given charset.
static String encodeWithinPath(String unescaped)
          Escape and encode a string regarded as within the path component of an URI with the default protocol charset.
static String encodeWithinPath(String unescaped, String charset)
          Escape and encode a string regarded as within the path component of an URI with a given charset.
static String encodeWithinQuery(String unescaped)
          Escape and encode a string regarded as within the query component of an URI with the default protocol charset.
static String encodeWithinQuery(String unescaped, String charset)
          Escape and encode a string regarded as within the query component of an URI with a given charset.
static String getFromPath(String uri)
          Get the path of an URI and its rest part.
static String getName(String uri)
          Get the basename of an URI.
static String getPath(String uri)
          Get the path of an URI.
static String getPathQuery(String uri)
          Get the path and query of an URI.
static String getQuery(String uri)
          Get the query of an URI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

empty

protected static final BitSet empty
1 bit bit set

Constructor Detail

URIUtil

public URIUtil()
Method Detail

getName

public static String getName(String uri)
Get the basename of an URI. It's possibly an empty string.

Parameters:
uri - a string regarded an URI
Returns:
the basename string; an empty string if the path ends with slash

getQuery

public static String getQuery(String uri)
Get the query of an URI.

Parameters:
uri - a string regarded an URI
Returns:
the query string; null if empty or undefined

getPath

public static String getPath(String uri)
Get the path of an URI.

Parameters:
uri - a string regarded an URI
Returns:
the path string

getPathQuery

public static String getPathQuery(String uri)
Get the path and query of an URI.

Parameters:
uri - a string regarded an URI
Returns:
the path and query string

getFromPath

public static String getFromPath(String uri)
Get the path of an URI and its rest part.

Parameters:
uri - a string regarded an URI
Returns:
the string from the path part

encodeAll

public static String encodeAll(String unescaped)
Get the all escaped and encoded string with the default protocl charset. It's the same function to use encode(String unescaped, Bitset empty, URI.getDefaultProtocolCharset()).

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodeAll(String, String)

encodeAll

public static String encodeAll(String unescaped,
                               String charset)
Get the all escaped and encoded string with a given charset. It's the same function to use encode(String unescaped, Bitset empty, String charset).

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodeWithinAuthority

public static String encodeWithinAuthority(String unescaped)
Escape and encode a string regarded as within the authority component of an URI with the default protocol charset. Within the authority component, the characters ";", ":", "@", "?", and "/" are reserved.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodeWithinPath(String, String)

encodeWithinAuthority

public static String encodeWithinAuthority(String unescaped,
                                           String charset)
Escape and encode a string regarded as within the authority component of an URI with a given charset. Within the authority component, the characters ";", ":", "@", "?", and "/" are reserved.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodePathQuery

public static String encodePathQuery(String unescaped)
Escape and encode a string regarded as the path and query components of an URI with the default protocol charset.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodePathQuery(String, String)

encodePathQuery

public static String encodePathQuery(String unescaped,
                                     String charset)
Escape and encode a string regarded as the path and query components of an URI with a given charset.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodeWithinPath

public static String encodeWithinPath(String unescaped)
Escape and encode a string regarded as within the path component of an URI with the default protocol charset. The path may consist of a sequence of path segments separated by a single slash "/" character. Within a path segment, the characters "/", ";", "=", and "?" are reserved.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodeWithinPath(String, String)

encodeWithinPath

public static String encodeWithinPath(String unescaped,
                                      String charset)
Escape and encode a string regarded as within the path component of an URI with a given charset. The path may consist of a sequence of path segments separated by a single slash "/" character. Within a path segment, the characters "/", ";", "=", and "?" are reserved.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodePath

public static String encodePath(String unescaped)
Escape and encode a string regarded as the path component of an URI with the default protocol charset.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodePathQuery(String, String)

encodePath

public static String encodePath(String unescaped,
                                String charset)
Escape and encode a string regarded as the path component of an URI with a given charset.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodeWithinQuery

public static String encodeWithinQuery(String unescaped)
Escape and encode a string regarded as within the query component of an URI with the default protocol charset. When a query comprise the name and value pairs, it is used in order to encode each name and value string. The reserved special characters within a query component are being included in encoding the query.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodeWithinQuery(String, String)

encodeWithinQuery

public static String encodeWithinQuery(String unescaped,
                                       String charset)
Escape and encode a string regarded as within the query component of an URI with a given charset. When a query comprise the name and value pairs, it is used in order to encode each name and value string. The reserved special characters within a query component are being included in encoding the query.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encodeQuery

public static String encodeQuery(String unescaped)
Escape and encode a string regarded as the query component of an URI with the default protocol charset. When a query string is not misunderstood the reserved special characters ("&", "=", "+", ",", and "$") within a query component, this method is recommended to use in encoding the whole query.

Parameters:
unescaped - an unescaped string
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset(), encodeQuery(String, String)

encodeQuery

public static String encodeQuery(String unescaped,
                                 String charset)
Escape and encode a string regarded as the query component of an URI with a given charset. When a query string is not misunderstood the reserved special characters ("&", "=", "+", ",", and "$") within a query component, this method is recommended to use in encoding the whole query.

Parameters:
unescaped - an unescaped string
charset - the charset
Returns:
the escaped string
See Also:
encode(String, BitSet, String)

encode

public static String encode(String unescaped,
                            BitSet allowed)
Escape and encode a given string with allowed characters not to be escaped and the default protocol charset.

Parameters:
unescaped - a string
allowed - allowed characters not to be escaped
Returns:
the escaped string
See Also:
URI.getDefaultProtocolCharset()

encode

public static String encode(String unescaped,
                            BitSet allowed,
                            String charset)
Escape and encode a given string with allowed characters not to be escaped and a given charset.

Parameters:
unescaped - a string
allowed - allowed characters not to be escaped
charset - the charset
Returns:
the escaped string

decode

public static String decode(String escaped)
                     throws URIException
Unescape and decode a given string regarded as an escaped string with the default protocol charset.

Parameters:
escaped - a string
Returns:
the unescaped string
Throws:
URIException - if the string cannot be decoded (invalid)
See Also:
URI.getDefaultProtocolCharset()


Copyright (c) 1999-2005 - Apache Software Foundation