public final class Url
extends java.lang.Object
Not for use with non HTTP(S) urls.
A number of different utility methods are provided to make it simple to find or remove different query string keys.
| Constructor and Description |
|---|
Url(java.lang.String url)
Parses
url into its protocol, host, port, path and query string param parts. |
| Modifier and Type | Method and Description |
|---|---|
void |
clearParams() |
java.lang.String |
clearParams(java.lang.String... tokens)
Removes any param that has one of
tokens as a whole word case insensitive substring in the key. |
Url |
copy() |
static java.lang.String |
encode(java.lang.String str) |
boolean |
equals(java.lang.Object url)
Checks url equality based on type and toString equality
|
java.lang.String |
findKey(java.lang.String... tokens)
Finds a key that has any one of
tokens as a whole word case insensitive substring |
java.lang.String |
findKeyValue(java.lang.String... tokens)
Finds the value associated with
findKey(tokens) |
java.lang.String |
getDomain() |
java.lang.String |
getFile()
Gets the last url path part if it exists
|
java.lang.String |
getHost() |
io.inversion.utils.Path |
getHostAsPath() |
java.lang.String |
getOriginal() |
java.lang.String |
getParam(java.lang.String key)
Gets the param value with
key based on a case insensitive match. |
java.util.Map<java.lang.String,java.lang.String> |
getParams() |
io.inversion.utils.Path |
getPath() |
int |
getPort() |
java.lang.String |
getProtocol() |
java.lang.String |
getQueryString()
Generates a URL encode query string for
params |
static java.lang.String |
toQueryString(java.util.Map<java.lang.String,java.lang.String> params)
Creates a UTF-8 url encoded query string, not including a leading "?" with key value pairs separated by a '&'
|
java.lang.String |
toString()
Generates a string string representation of this url with any query string parameters URL encoded and port number included only if it differs from the standard protocol port.
|
Url |
withHost(java.lang.String host) |
Url |
withParam(java.lang.String name,
java.lang.String value)
Adds name/value to
params overwriting any preexisting key/value pair
on a key case insensitive basis. |
Url |
withParam(Term term) |
Url |
withParams(java.util.Map<java.lang.String,java.lang.String> params)
Adds all key/value pairs from
newParams to params
overwriting any exiting keys on a case insensitive basis |
Url |
withParams(java.lang.String... nvpairs) |
Url |
withPath(io.inversion.utils.Path path) |
Url |
withPort(int port) |
Url |
withProtocol(java.lang.String protocol) |
Url |
withQueryString(java.lang.String queryString)
Parses
queryString and replace params |
public Url(java.lang.String url)
url into its protocol, host, port, path and query string param parts.
If url does not start with "http://" or "https://" then "http://127.0.0.1" will be prepended.
url - url stringpublic Url copy()
public static java.lang.String toQueryString(java.util.Map<java.lang.String,java.lang.String> params)
params - the key/value pairs to encodeURLEncoder.encode(String, String)public static java.lang.String encode(java.lang.String str)
public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object url)
equals in class java.lang.Objecturl is a Url with a matching toStringpublic java.lang.String getDomain()
public java.lang.String getQueryString()
paramsparams.size() is @gt; 0 else empty stringtoQueryString(Map)public java.lang.String getHost()
public Url withHost(java.lang.String host)
public io.inversion.utils.Path getHostAsPath()
public int getPort()
public Url withPort(int port)
public java.lang.String getProtocol()
public Url withProtocol(java.lang.String protocol)
public io.inversion.utils.Path getPath()
public Url withPath(io.inversion.utils.Path path)
public java.lang.String getFile()
public Url withQueryString(java.lang.String queryString)
queryString and replace paramsqueryString - query prams to addpublic Url withParams(java.util.Map<java.lang.String,java.lang.String> params)
newParams to params
overwriting any exiting keys on a case insensitive basisparams - name/value pairs to add to the query string params mappublic Url withParam(java.lang.String name, java.lang.String value)
params overwriting any preexisting key/value pair
on a key case insensitive basis.name - the key to add or overwrite, may not be nullvalue - the value, may be nullpublic Url withParams(java.lang.String... nvpairs)
public java.lang.String clearParams(java.lang.String... tokens)
tokens as a whole word case insensitive substring in the key.tokens - string tokens when found in a param key will cause them to be removedtokensUtils.containsToken(java.lang.String, java.lang.String)public void clearParams()
public java.lang.String findKey(java.lang.String... tokens)
tokens as a whole word case insensitive substringtokens - substrings to search params.keySet() fortokens as a whole word case insensitive substringpublic java.lang.String findKeyValue(java.lang.String... tokens)
findKey(tokens)tokens - substrings to search params.keySet() fortokens as a whole word case insensitive substringfindKey(String...)public java.lang.String getParam(java.lang.String key)
key based on a case insensitive match.key - the key to getkey based on a case insensitive match.public java.util.Map<java.lang.String,java.lang.String> getParams()
paramspublic java.lang.String getOriginal()
Copyright © 2023 Rocket Partners, LLC. All rights reserved.