|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface URI
The URI
interface is used to represent a generic
uniform resource identifier . This interface allows each section
of the uniform resource identifier to be represented. A generic
uniform resource identifier syntax is represented in RFC 2616
section 3.2.2 for the HTTP protocol, this allows similar URI's
for example ftp, gopher, https, tftp. The syntax is
This interface reprenents the host, port, path and query part
of the uniform resource identifier. The parameters are also
represented by the URI. The parameters in a URI consist of name
and value pairs in the path segment of the URI.
URI = [scheme "://"] host [ ":" port ] [ path [ "?" query ]]
This will normalize the path part of the uniform resource identifier. A normalized path is one that contains no back references like "./" and "../". The normalized path will not contain the path parameters.
The setPath
method is used to reset the path this
uniform resource identifier has, it also resets the parameters.
The parameters are extracted from the new path given.
Method Summary | |
---|---|
java.lang.String |
getDomain()
This is used to retrive the domain of this URI. |
java.lang.String |
getParameter(java.lang.String name)
This will return the value of the parameter with the given name. |
java.util.Enumeration |
getParameterNames()
This extracts the parameter names from the uniform resource identifier represented by this object. |
Path |
getPath()
This is used to retrive the path of this URI. |
int |
getPort()
This is used to retrive the port of the uniform resource identifier. |
Parameters |
getQuery()
This is used to retrive the query of this URI. |
java.lang.String |
getScheme()
This allows the scheme of the URL given to be returned. |
void |
setDomain(java.lang.String domain)
This will set the domain to whatever value is in the string parameter. |
void |
setPath(Path path)
This will set the path to whatever value it is given. |
void |
setPath(java.lang.String path)
This will set the path to whatever value it is given. |
void |
setPort(int port)
This will set the port to whatever value it is given. |
void |
setQuery(Parameters query)
This will set the query to whatever value it is given. |
void |
setQuery(java.lang.String query)
This will set the query to whatever value it is given. |
void |
setScheme(java.lang.String scheme)
This allows the scheme for the uri to be specified. |
java.lang.String |
toString()
This is used to convert this URI object into a String
object. |
Method Detail |
---|
java.lang.String getScheme()
gopher://domain/path
is
a URI that is intended for the gopher protocol. The
scheme is the string gopher
.
void setScheme(java.lang.String scheme)
://
identifier
to ensure that the URI.toString
will
produce the correct syntax.
Caution must be taken to ensure that the port and
the scheme are consistant. So if the original URI
was http://domain:80/path
and the scheme
was changed to ftp
the port number that
remains is the standard HTTP port not the FTP port.
scheme
- this specifies the protocol this URI
is intended forjava.lang.String getDomain()
http://domain/path?querypart
. This will
return the value of the domain part. If there is no
domain part then this will return null otherwise the
domain value found in the uniform resource identifier.
void setDomain(java.lang.String domain)
toString
method will not contain
the domain. The result of the toString
method will be /path/path?query. If the
path is non-null this URI will contain the path.
- Parameters:
domain
- this will be the new domain of this
uniform resource identifier, if it is not null
int getPort()
http://host:port/path?querypart
. This
will return the value of the port. If there is no port then
this will return -1
because this represents
an impossible uniform resource identifier port. The port
is an optional part.
void setPort(int port)
toString
will
will not contain the optional port. If port number is above
0 then the toString
method will produce a URI
like http://host:123/path
but only if there is
a valid domain.
port
- the port value that this URI is to havePath getPath()
/
.
void setPath(java.lang.String path)
URI.toString
method will
not contain the path, that is if path is null then it will be
interpreted as /
.
This will reset the parameters this URI has. If the value
given to this method has embedded parameters these will form
the parameters of this URI. The value given may not be the
same value that the getPath
produces. The path
will have all back references and parameters stripped.
path
- the path that this URI is to be set withvoid setPath(Path path)
URI.toString
method will
not contain the path, that is if path is null then it will be
interpreted as /
.
This will reset the parameters this URI has. If the value
given to this method has embedded parameters these will form
the parameters of this URI. The value given may not be the
same value that the getPath
produces. The path
will have all back references and parameters stripped.
path
- the path that this URI is to be set withParameters getQuery()
Parameters
object. The query is
an optional member of a URI and comes after the path part, it
is preceeded by a question mark, ?
character.
For example the following URI contains query for
its query part, http://host:port/path?query
.
This returns a simple.util.net.Parameters
object
that can be used to interact directly with the query values.
The Parameters
object is a read-only interface
to the query parameters, and so will not affect the URI.
- Returns:
- a
Parameters
object for the query part
void setQuery(java.lang.String query)
URI.toString
method will
not contain the query. If the query was abc then
the toString
method would produca a string like
http://host:port/path?abc
. If the query is null
this URI would have no query part.
- Parameters:
query
- the query that this uniform resource identifier
is to be set to if it is non-null
void setQuery(Parameters query)
URI.toString
method will
not contain the query. If the Parameters.toString
returns null then the query will be empty. This is basically
the setQuery(String)
method with the string value
from the issued Parameters.toString
method.
- Parameters:
query
- a Parameters
object that contains
the name value parameters for the query
java.util.Enumeration getParameterNames()
Enumeration
.
This will produce unique name and value parameters. Thus if the
URI contains several path segments with similar parameter names
this will return the deepest parameter. For example if the URI
represented was http://domain/path1;x=y/path2;x=z
the value for the parameter named x
would be
z
.
java.lang.String getParameter(java.lang.String name)
getParameterNames
. This will return null if the
parameter does not exist. The setPath
method will
reset the parameters the URI contains.
name
- this is the name of the parameter to be retrived
java.lang.String toString()
String
object. This will only convert the parts of the URI that exist, so
the URI may not contain the domain or the query part and it will
not contain the path parameters. If the URI contains all these
parts then it will return somthing like
scheme://host:port/path/path?querypart
It can return /path/path?querypart
style relative
URI's. If any of the parts are set to null then that part will be
missing, for example if setDomain
method is invoked
with a null parameter then the domain and port will be missing
from the resulting URI. If the path part is set to null using the
setPath
then the path will be /
. An
example URI with the path part of null would be
scheme://host:port/?querypart
toString
in class java.lang.Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |