org.apache.commons.httpclient.util

Class 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

Nested Class Summary

protected static class
URIUtil.Coder
Deprecated. use org.apache.commons.codec.net.URLCodec

Field Summary

protected static BitSet
empty

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
decode(String escaped, String charset)
Unescape and decode a given string regarded as an escaped string.
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.

Field Details

empty

protected static final BitSet empty

Method Details

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()


decode

public static String decode(String escaped,
                            String charset)
            throws URIException
Unescape and decode a given string regarded as an escaped string.

Parameters:
escaped - a string
charset - the charset

Returns:
the unescaped string

Throws:
URIException - if the charset is not supported

See Also:
URIUtil.Coder.decode(char[],String)


encode

public static String encode(String unescaped,
                            BitSet allowed)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset()


encode

public static String encode(String unescaped,
                            BitSet allowed,
                            String charset)
            throws URIException
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


encodeAll

public static String encodeAll(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodeAll

public static String encodeAll(String unescaped,
                               String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodePath

public static String encodePath(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodePath

public static String encodePath(String unescaped,
                                String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodePathQuery

public static String encodePathQuery(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodePathQuery

public static String encodePathQuery(String unescaped,
                                     String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodeQuery

public static String encodeQuery(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodeQuery

public static String encodeQuery(String unescaped,
                                 String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodeWithinAuthority

public static String encodeWithinAuthority(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodeWithinAuthority

public static String encodeWithinAuthority(String unescaped,
                                           String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodeWithinPath

public static String encodeWithinPath(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodeWithinPath

public static String encodeWithinPath(String unescaped,
                                      String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


encodeWithinQuery

public static String encodeWithinQuery(String unescaped)
            throws URIException
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

Throws:
URIException - if the default protocol charset is not supported

See Also:
URI.getDefaultProtocolCharset(), encode


encodeWithinQuery

public static String encodeWithinQuery(String unescaped,
                                       String charset)
            throws URIException
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

Throws:
URIException - if the charset is not supported

See Also:
encode


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


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


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


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


Copyright (c) 1999-2005 - Apache Software Foundation