|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.apache.wicket.request.Url
public final class Url
Represents the URL part after Wicket Filter. For example if Wicket Filter is mapped to
/app/*
then with URL /app/my/url
the Url
object would represent
part my/url
. If Wicket Filter is mapped to /*
then with URL
/my/url
the Url
object would represent my/url
(without leading
the slash).
URL consists of segments and query parameters.
Example URLs:
foo/bar/baz?a=1&b=5 - segments: ["foo","bar,"baz], query parameters: ["a"="1", "b"="5"] foo/bar//baz?=4&6 - segments: ["foo", "bar", "", "baz"], query parameters: [""="4", "6"=""] /foo/bar/ - segments: ["", "foo", "bar", ""] foo/bar// - segments: ["foo", "bar", "", ""] ?a=b - segments: [ ], query parameters: ["a"="b"] / - segments: ["", ""] (note that Url represents part after Wicket Filter - so if Wicket filter is mapped to /* this would be an additional slash, i.e. //The Url class takes care of encoding and decoding of the segments and parameters.
Nested Class Summary | |
---|---|
static class |
Url.QueryParameter
Represents a single query parameter |
Constructor Summary | |
---|---|
Url()
Construct. |
|
Url(java.nio.charset.Charset charset)
Construct. |
|
Url(java.util.List<java.lang.String> segments,
java.nio.charset.Charset charset)
Construct. |
|
Url(java.util.List<java.lang.String> segments,
java.util.List<Url.QueryParameter> parameters)
Construct. |
|
Url(java.util.List<java.lang.String> segments,
java.util.List<Url.QueryParameter> parameters,
java.nio.charset.Charset charset)
Construct. |
|
Url(Url url)
Construct. |
Method Summary | |
---|---|
void |
addQueryParameter(java.lang.String name,
java.lang.Object value)
Convenience method that removes adds a query parameter with given name |
void |
concatSegments(java.util.List<java.lang.String> segments)
Concatenate the specified segments; The segments can be relative - begin with "." or "..". |
boolean |
equals(java.lang.Object obj)
|
java.nio.charset.Charset |
getCharset()
|
java.lang.String |
getHost()
Gets the host name of this url |
java.lang.String |
getPath()
return path for current url in original encoding |
java.lang.String |
getPath(java.nio.charset.Charset charset)
return path for current url in given encoding |
java.lang.Integer |
getPort()
Gets the port of this url |
java.lang.String |
getProtocol()
Gets the protocol of this url (http/https/etc) |
Url.QueryParameter |
getQueryParameter(java.lang.String name)
Returns first query parameter with specified name or null if such query parameter doesn't exist. |
java.util.List<Url.QueryParameter> |
getQueryParameters()
Returns query parameters of the URL. |
StringValue |
getQueryParameterValue(java.lang.String name)
Returns the value of first query parameter with specified name. |
java.lang.String |
getQueryString()
return query string part of url in original encoding |
java.lang.String |
getQueryString(java.nio.charset.Charset charset)
return query string part of url in given encoding |
java.util.List<java.lang.String> |
getSegments()
Returns segments of the URL. |
int |
hashCode()
|
boolean |
isAbsolute()
Returns whether the URL is absolute. |
static Url |
parse(java.lang.String url)
Parses the given URL string. |
static Url |
parse(java.lang.String url,
java.nio.charset.Charset charset)
Parses the given URL string. |
void |
prependLeadingSegments(java.util.List<java.lang.String> newSegments)
Convenience method that prepends segments to the segments collection |
void |
removeLeadingSegments(int count)
Convenience method that removes count leading segments |
void |
removeQueryParameters(java.lang.String name)
Convenience method that removes all query parameters with given name. |
void |
resolveRelative(Url relative)
Makes this url the result of resolving the relative url against this url. |
void |
setHost(java.lang.String host)
Sets the host name of this url |
void |
setPort(java.lang.Integer port)
Sets the port of this url |
void |
setProtocol(java.lang.String protocol)
Sets the protocol of this url (http/https/etc) |
void |
setQueryParameter(java.lang.String name,
java.lang.Object value)
Convenience method that removes all query parameters with given name and adds new query parameter with specified name and value |
java.lang.String |
toAbsoluteString()
render full representation of url (including protocol, host and port) into string representation |
java.lang.String |
toAbsoluteString(java.nio.charset.Charset charset)
render full representation of url (including protocol, host and port) into string representation |
java.lang.String |
toString()
|
java.lang.String |
toString(java.nio.charset.Charset charset)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Url()
public Url(java.nio.charset.Charset charset)
charset
- public Url(Url url)
url
- url being copiedpublic Url(java.util.List<java.lang.String> segments, java.util.List<Url.QueryParameter> parameters)
segments
- parameters
- public Url(java.util.List<java.lang.String> segments, java.nio.charset.Charset charset)
segments
- charset
- public Url(java.util.List<java.lang.String> segments, java.util.List<Url.QueryParameter> parameters, java.nio.charset.Charset charset)
segments
- parameters
- charset
- Method Detail |
---|
public static Url parse(java.lang.String url)
url
- absolute or relative url with query string
public static Url parse(java.lang.String url, java.nio.charset.Charset charset)
url
- absolute or relative url with query stringcharset
-
public java.nio.charset.Charset getCharset()
public java.util.List<java.lang.String> getSegments()
public java.util.List<Url.QueryParameter> getQueryParameters()
public boolean isAbsolute()
true
if URL is absolute, false
otherwise.public void removeQueryParameters(java.lang.String name)
name
- query parameter namepublic void removeLeadingSegments(int count)
count
leading segments
count
- public void prependLeadingSegments(java.util.List<java.lang.String> newSegments)
segments
to the segments collection
newSegments
- public void setQueryParameter(java.lang.String name, java.lang.Object value)
name
- value
- public void addQueryParameter(java.lang.String name, java.lang.Object value)
name
- value
- public Url.QueryParameter getQueryParameter(java.lang.String name)
name
-
null
public StringValue getQueryParameterValue(java.lang.String name)
null
. Not even if the parameter does not exist.
name
-
StringValue
instance wrapping the parameter valueStringValue.isNull()
public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String toAbsoluteString()
public java.lang.String toAbsoluteString(java.nio.charset.Charset charset)
charset
-
public java.lang.String toString(java.nio.charset.Charset charset)
charset
-
public void concatSegments(java.util.List<java.lang.String> segments)
segments
- public void resolveRelative(Url relative)
relative
url against this url.
Segments will be properly resolved, handling any ..
references, while the query
parameters will be completely replaced with relative
's query parameters.
For example:
wicket/page/render?foo=barresolved with
../component/render?a=bwill become
wicket/component/render?a=b
relative
- relative urlpublic java.lang.String getProtocol()
null
if none has been setpublic void setProtocol(java.lang.String protocol)
protocol
- public java.lang.Integer getPort()
null
if none has been setpublic void setPort(java.lang.Integer port)
port
- public java.lang.String getHost()
null
if none is setopublic void setHost(java.lang.String host)
host
- public java.lang.String getPath(java.nio.charset.Charset charset)
charset
- character set for encoding
public java.lang.String getPath()
public java.lang.String getQueryString(java.nio.charset.Charset charset)
charset
- character set for encoding
public java.lang.String getQueryString()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |