org.apache.commons.httpclient
Class HttpURL

java.lang.Object
  extended by org.apache.commons.httpclient.URI
      extended by org.apache.commons.httpclient.HttpURL
All Implemented Interfaces:
Serializable, Cloneable, Comparable
Direct Known Subclasses:
HttpsURL

public class HttpURL
extends URI

The HTTP URL.

Author:
Sung-Gu, Mike Bowler
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.commons.httpclient.URI
URI.DefaultCharsetChanged, URI.LocaleToCharsetMap
 
Field Summary
static int DEFAULT_PORT
          Default port for HTTP URL.
static char[] DEFAULT_SCHEME
          Default scheme for HTTP URL.
 
Fields inherited from class org.apache.commons.httpclient.URI
_authority, _fragment, _host, _is_abs_path, _is_hier_part, _is_hostname, _is_IPv4address, _is_IPv6reference, _is_net_path, _is_opaque_part, _is_reg_name, _is_rel_path, _is_server, _opaque, _path, _port, _query, _scheme, _uri, _userinfo, abs_path, absoluteURI, allowed_abs_path, allowed_authority, allowed_fragment, allowed_host, allowed_IPv6reference, allowed_opaque_part, allowed_query, allowed_reg_name, allowed_rel_path, allowed_userinfo, allowed_within_authority, allowed_within_path, allowed_within_query, allowed_within_userinfo, alpha, alphanum, authority, control, defaultDocumentCharset, defaultDocumentCharsetByLocale, defaultDocumentCharsetByPlatform, defaultProtocolCharset, delims, digit, disallowed_opaque_part, disallowed_rel_path, domainlabel, escaped, fragment, hash, hex, hier_part, host, hostname, hostport, IPv4address, IPv6address, IPv6reference, mark, net_path, opaque_part, param, path, path_segments, pchar, percent, port, protocolCharset, query, reg_name, rel_path, rel_segment, relativeURI, reserved, rootPath, scheme, segment, server, space, toplabel, unreserved, unwise, URI_reference, uric, uric_no_slash, userinfo, within_userinfo
 
Constructor Summary
protected HttpURL()
          Create an instance as an internal use.
  HttpURL(char[] escaped)
          Construct a HTTP URL as an escaped form of a character array.
  HttpURL(char[] escaped, String charset)
          Construct a HTTP URL as an escaped form of a character array with the given charset to do escape encoding.
  HttpURL(HttpURL base, HttpURL relative)
          Construct a HTTP URL with a given relative URL.
  HttpURL(HttpURL base, String relative)
          Construct a HTTP URL with a given relative URL string.
  HttpURL(String original)
          Construct a HTTP URL from a given string.
  HttpURL(String host, int port, String path)
          Construct a HTTP URL from given components.
  HttpURL(String host, int port, String path, String query)
          Construct a HTTP URL from given components.
  HttpURL(String original, String charset)
          Construct a HTTP URL from a given string with the given charset to do escape encoding.
  HttpURL(String userinfo, String host, int port, String path)
          Construct a HTTP URL from given components.
  HttpURL(String userinfo, String host, int port, String path, String query)
          Construct a HTTP URL from given components.
  HttpURL(String userinfo, String host, int port, String path, String query, String fragment)
          Construct a HTTP URL from given components.
  HttpURL(String user, String password, String host)
          Construct a HTTP URL from given components.
  HttpURL(String user, String password, String host, int port)
          Construct a HTTP URL from given components.
  HttpURL(String user, String password, String host, int port, String path)
          Construct a HTTP URL from given components.
  HttpURL(String user, String password, String host, int port, String path, String query)
          Construct a HTTP URL from given components.
  HttpURL(String user, String password, String host, int port, String path, String query, String fragment)
          Construct a HTTP URL from given components.
  HttpURL(String host, String path, String query, String fragment)
          Construct a HTTP URL from given components.
  HttpURL(String userinfo, String host, String path, String query, String fragment)
          Construct a HTTP URL from given components.
 
Method Summary
protected  void checkValid()
          Verify the valid class use for construction.
 String getEscapedPassword()
          Get the escaped password.
 String getEscapedUser()
          Get the escaped user
 String getPassword()
          Get the password.
 int getPort()
          Get the port number.
 char[] getRawAboveHierPath()
          Get the level above the this hierarchy level.
 char[] getRawCurrentHierPath()
          Get the raw-escaped current hierarchy level.
 char[] getRawPassword()
          Get the raw-escaped password.
 char[] getRawPath()
          Get the raw escaped path.
 char[] getRawScheme()
          Get the scheme.
 char[] getRawUser()
          Get the raw-escaped user.
 String getScheme()
          Get the scheme.
 String getUser()
          Get the user.
 void setEscapedPassword(String escapedPassword)
          Set the escaped password string.
 void setEscapedUser(String escapedUser)
          Set the escaped user string.
 void setEscapedUserinfo(String escapedUser, String escapedPassword)
          Set the raw-escaped user and password.
 void setPassword(String password)
          Set the password string.
 void setQuery(String[] queryName, String[] queryValue)
          Set the query as the name and value pairs.
 void setQuery(String queryName, String queryValue)
          Set the query as the name and value pair.
 void setRawPassword(char[] escapedPassword)
          Set the raw-escaped password.
 void setRawUser(char[] escapedUser)
          Set the raw-escaped user.
 void setRawUserinfo(char[] escapedUser, char[] escapedPassword)
          Set the raw-escaped user and password.
 void setUser(String user)
          Set the user string.
 void setUserinfo(String user, String password)
          Set the user and password.
protected static String toUserinfo(String user, String password)
           
 
Methods inherited from class org.apache.commons.httpclient.URI
clone, compareTo, decode, decode, encode, equals, equals, getAboveHierPath, getAuthority, getCurrentHierPath, getDefaultDocumentCharset, getDefaultDocumentCharsetByLocale, getDefaultDocumentCharsetByPlatform, getDefaultProtocolCharset, getEscapedAboveHierPath, getEscapedAuthority, getEscapedCurrentHierPath, getEscapedFragment, getEscapedName, getEscapedPath, getEscapedPathQuery, getEscapedQuery, getEscapedURI, getEscapedURIReference, getEscapedUserinfo, getFragment, getHost, getName, getPath, getPathQuery, getProtocolCharset, getQuery, getRawAuthority, getRawCurrentHierPath, getRawFragment, getRawHost, getRawName, getRawPathQuery, getRawQuery, getRawURI, getRawURIReference, getRawUserinfo, getURI, getURIReference, getUserinfo, hasAuthority, hasFragment, hashCode, hasQuery, hasUserinfo, indexFirstOf, indexFirstOf, indexFirstOf, indexFirstOf, isAbsoluteURI, isAbsPath, isHierPart, isHostname, isIPv4address, isIPv6reference, isNetPath, isOpaquePart, isRegName, isRelativeURI, isRelPath, isServer, normalize, normalize, parseAuthority, parseUriReference, prevalidate, readObject, removeFragmentIdentifier, resolvePath, setDefaultDocumentCharset, setDefaultProtocolCharset, setEscapedAuthority, setEscapedFragment, setEscapedPath, setEscapedQuery, setFragment, setPath, setQuery, setRawAuthority, setRawFragment, setRawPath, setRawQuery, setURI, toString, validate, validate, writeObject
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

DEFAULT_SCHEME

public static final char[] DEFAULT_SCHEME
Default scheme for HTTP URL.


DEFAULT_PORT

public static final int DEFAULT_PORT
Default port for HTTP URL.

See Also:
Constant Field Values
Constructor Detail

HttpURL

protected HttpURL()
Create an instance as an internal use.


HttpURL

public HttpURL(char[] escaped,
               String charset)
        throws URIException,
               NullPointerException
Construct a HTTP URL as an escaped form of a character array with the given charset to do escape encoding.

Parameters:
escaped - the HTTP URL character sequence
charset - the charset string to do escape encoding
Throws:
URIException - If checkValid() fails
NullPointerException - if escaped is null

HttpURL

public HttpURL(char[] escaped)
        throws URIException,
               NullPointerException
Construct a HTTP URL as an escaped form of a character array.

Parameters:
escaped - the HTTP URL character sequence
Throws:
URIException - If checkValid() fails
NullPointerException - if escaped is null

HttpURL

public HttpURL(String original,
               String charset)
        throws URIException
Construct a HTTP URL from a given string with the given charset to do escape encoding.

Parameters:
original - the HTTP URL string
charset - the charset string to do escape encoding
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String original)
        throws URIException
Construct a HTTP URL from a given string.

Parameters:
original - the HTTP URL string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String host,
               int port,
               String path)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
host - the host string
port - the port number
path - the path string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String host,
               int port,
               String path,
               String query)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
host - the host string
port - the port number
path - the path string
query - the query string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String user,
               String password,
               String host)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
user - the user name
password - his or her password
host - the host string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String user,
               String password,
               String host,
               int port)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
user - the user name
password - his or her password
host - the host string
port - the port number
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String user,
               String password,
               String host,
               int port,
               String path)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
user - the user name
password - his or her password
host - the host string
port - the port number
path - the path string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String user,
               String password,
               String host,
               int port,
               String path,
               String query)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
user - the user name
password - his or her password
host - the host string
port - the port number
path - the path string
query - The query string.
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String host,
               String path,
               String query,
               String fragment)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
host - the host string
path - the path string
query - the query string
fragment - the fragment string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String userinfo,
               String host,
               String path,
               String query,
               String fragment)
        throws URIException
Construct a HTTP URL from given components. Note: The userinfo format is normally <username>:<password> where username and password must both be URL escaped.

Parameters:
userinfo - the userinfo string whose parts are URL escaped
host - the host string
path - the path string
query - the query string
fragment - the fragment string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String userinfo,
               String host,
               int port,
               String path)
        throws URIException
Construct a HTTP URL from given components. Note: The userinfo format is normally <username>:<password> where username and password must both be URL escaped.

Parameters:
userinfo - the userinfo string whose parts are URL escaped
host - the host string
port - the port number
path - the path string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String userinfo,
               String host,
               int port,
               String path,
               String query)
        throws URIException
Construct a HTTP URL from given components. Note: The userinfo format is normally <username>:<password> where username and password must both be URL escaped.

Parameters:
userinfo - the userinfo string whose parts are URL escaped
host - the host string
port - the port number
path - the path string
query - the query string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String userinfo,
               String host,
               int port,
               String path,
               String query,
               String fragment)
        throws URIException
Construct a HTTP URL from given components. Note: The userinfo format is normally <username>:<password> where username and password must both be URL escaped.

Parameters:
userinfo - the userinfo string whose parts are URL escaped
host - the host string
port - the port number
path - the path string
query - the query string
fragment - the fragment string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(String user,
               String password,
               String host,
               int port,
               String path,
               String query,
               String fragment)
        throws URIException
Construct a HTTP URL from given components.

Parameters:
user - the user name
password - his or her password
host - the host string
port - the port number
path - the path string
query - the query string
fragment - the fragment string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(HttpURL base,
               String relative)
        throws URIException
Construct a HTTP URL with a given relative URL string.

Parameters:
base - the base HttpURL
relative - the relative HTTP URL string
Throws:
URIException - If checkValid() fails

HttpURL

public HttpURL(HttpURL base,
               HttpURL relative)
        throws URIException
Construct a HTTP URL with a given relative URL.

Parameters:
base - the base HttpURL
relative - the relative HttpURL
Throws:
URIException - If checkValid() fails
Method Detail

toUserinfo

protected static String toUserinfo(String user,
                                   String password)
Parameters:
user -
password -
Returns:
user:password string or null

getRawScheme

public char[] getRawScheme()
Get the scheme. You can get the scheme explicitly.

Overrides:
getRawScheme in class URI
Returns:
the scheme

getScheme

public String getScheme()
Get the scheme. You can get the scheme explicitly.

Overrides:
getScheme in class URI
Returns:
the scheme null if empty or undefined

getPort

public int getPort()
Get the port number.

Overrides:
getPort in class URI
Returns:
the port number

setRawUserinfo

public void setRawUserinfo(char[] escapedUser,
                           char[] escapedPassword)
                    throws URIException
Set the raw-escaped user and password.

Parameters:
escapedUser - the raw-escaped user
escapedPassword - the raw-escaped password; could be null
Throws:
URIException - escaped user not valid or user required; escaped password not valid or username missed

setEscapedUserinfo

public void setEscapedUserinfo(String escapedUser,
                               String escapedPassword)
                        throws URIException,
                               NullPointerException
Set the raw-escaped user and password.

Parameters:
escapedUser - the escaped user
escapedPassword - the escaped password; could be null
Throws:
URIException - escaped user not valid or user required; escaped password not valid or username missed
NullPointerException - null user

setUserinfo

public void setUserinfo(String user,
                        String password)
                 throws URIException,
                        NullPointerException
Set the user and password.

Parameters:
user - the user
password - the password; could be null
Throws:
URIException - encoding error or username missed
NullPointerException - null user

setRawUser

public void setRawUser(char[] escapedUser)
                throws URIException
Set the raw-escaped user.

Parameters:
escapedUser - the raw-escaped user
Throws:
URIException - escaped user not valid or user required

setEscapedUser

public void setEscapedUser(String escapedUser)
                    throws URIException,
                           NullPointerException
Set the escaped user string.

Parameters:
escapedUser - the escaped user string
Throws:
URIException - escaped user not valid
NullPointerException - null user

setUser

public void setUser(String user)
             throws URIException,
                    NullPointerException
Set the user string.

Parameters:
user - the user string
Throws:
URIException - user encoding error
NullPointerException - null user

getRawUser

public char[] getRawUser()
Get the raw-escaped user.

Returns:
the raw-escaped user

getEscapedUser

public String getEscapedUser()
Get the escaped user

Returns:
the escaped user

getUser

public String getUser()
               throws URIException
Get the user.

Returns:
the user name
Throws:
URIException - If decoding fails

setRawPassword

public void setRawPassword(char[] escapedPassword)
                    throws URIException
Set the raw-escaped password.

Parameters:
escapedPassword - the raw-escaped password; could be null
Throws:
URIException - escaped password not valid or username missed

setEscapedPassword

public void setEscapedPassword(String escapedPassword)
                        throws URIException
Set the escaped password string.

Parameters:
escapedPassword - the escaped password string; could be null
Throws:
URIException - escaped password not valid or username missed

setPassword

public void setPassword(String password)
                 throws URIException
Set the password string.

Parameters:
password - the password string; could be null
Throws:
URIException - encoding error or username missed

getRawPassword

public char[] getRawPassword()
Get the raw-escaped password.

Returns:
the raw-escaped password

getEscapedPassword

public String getEscapedPassword()
Get the escaped password.

Returns:
the escaped password

getPassword

public String getPassword()
                   throws URIException
Get the password.

Returns:
the password
Throws:
URIException - If URI.decode(char[],String) fails.

getRawCurrentHierPath

public char[] getRawCurrentHierPath()
                             throws URIException
Get the raw-escaped current hierarchy level.

Overrides:
getRawCurrentHierPath in class URI
Returns:
the raw-escaped current hierarchy level
Throws:
URIException - If URI.getRawCurrentHierPath(char[]) fails.

getRawAboveHierPath

public char[] getRawAboveHierPath()
                           throws URIException
Get the level above the this hierarchy level.

Overrides:
getRawAboveHierPath in class URI
Returns:
the raw above hierarchy level
Throws:
URIException - If URI.getRawCurrentHierPath(char[]) fails.

getRawPath

public char[] getRawPath()
Get the raw escaped path.

Overrides:
getRawPath in class URI
Returns:
the path '/' if empty or undefined

setQuery

public void setQuery(String queryName,
                     String queryValue)
              throws NullPointerException
Set the query as the name and value pair.

Parameters:
queryName - the query string.
queryValue - the query string.
Throws:
NullPointerException - null query

setQuery

public void setQuery(String[] queryName,
                     String[] queryValue)
              throws URIException,
                     NullPointerException
Set the query as the name and value pairs.

Parameters:
queryName - the array of the query string.
queryValue - the array of the query string.
Throws:
URIException - incomplete trailing escape pattern, unsupported character encoding or wrong array size
NullPointerException - null query

checkValid

protected void checkValid()
                   throws URIException
Verify the valid class use for construction.

Throws:
URIException - the wrong scheme use


Copyright (c) 1999-2005 - Apache Software Foundation