Package com.jalios.util
Class URLUtils
- java.lang.Object
 - 
- com.jalios.util.URLUtils
 
 
- 
public final class URLUtils extends java.lang.Object 
- 
- 
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.StringbuildUrl(java.lang.String url, java.util.Map<java.lang.String,java.lang.String[]> parametersMap)Build an URL by adding the given parameters.static java.lang.StringgetQueryString(java.util.Map<java.lang.String,java.lang.String[]> parametersMap, java.lang.String... excludedParams)Returns a query String from a map of parameters.static booleanisAbsoluteUrl(java.lang.String url)Check if the specified URL is absolute.static java.util.Map<java.lang.String,java.lang.String[]>parseUrlQueryString(java.lang.String url)Parses an URL, extracts the query string and returns a map with the parameter values.static java.lang.StringparseUrlQueryStringAsJson(java.lang.String url)Parses an URL, extracts the query string and returns the parameters as JSON format.static java.lang.StringparseUrlQueryStringAsJson(java.lang.String url, java.util.function.Function<java.util.Map<java.lang.String,java.lang.String[]>,java.util.Map<java.lang.String,java.lang.Object>> paramMapUpdator)Parses an URL, extracts the query string and returns the parameters as JSON format. 
 - 
 
- 
- 
Method Detail
- 
isAbsoluteUrl
public static boolean isAbsoluteUrl(java.lang.String url)
Check if the specified URL is absolute.An URL is considered absolute if it starts with the following element, in that order
- (optionnally) with a protocol name, such as "http:", "https:", "file:"
 - a double slash (//)
 - any character but a slash (/) or and backslash (\)
 - anything else
 
This method does NOT check the URL is valid
- Parameters:
 url-- Returns:
 - true if URL is absolute, false otherwise
 - Since:
 - jcms-10.0.5 / JCMS-8281
 
 
- 
parseUrlQueryString
public static java.util.Map<java.lang.String,java.lang.String[]> parseUrlQueryString(java.lang.String url)
Parses an URL, extracts the query string and returns a map with the parameter values. The map has the same structure as the one returned by javax.servlet.ServletRequest.getParameterMap(). For each parameter name, the map contains a string array with the parameter values.- Parameters:
 url- an URL or an URL query string.- Returns:
 - a map containing parameter names as keys and parameter values as map values.
 
 
- 
parseUrlQueryStringAsJson
public static java.lang.String parseUrlQueryStringAsJson(java.lang.String url)
Parses an URL, extracts the query string and returns the parameters as JSON format.- Parameters:
 url- an URL or an URL query string.- Returns:
 - String containing the parameters (name and values) as JSON format
 
 
- 
parseUrlQueryStringAsJson
public static java.lang.String parseUrlQueryStringAsJson(java.lang.String url, java.util.function.Function<java.util.Map<java.lang.String,java.lang.String[]>,java.util.Map<java.lang.String,java.lang.Object>> paramMapUpdator)Parses an URL, extracts the query string and returns the parameters as JSON format.Example:
String url = "http://localhost:8080/jcms/jcms/j_6/en/home?param1=value1¶m2=value21¶m2=value22"; String json = URLUtils.parseUrlQueryStringAsJson(url); Result: {"param1":["value1"],"param2":["value21","value22"]}It's possible to use aFunctionimplementation to manipulate the Map of parameters extracted from URL, before to be convert in JSON.Example:
String url = "http://localhost:8080/jcms/jcms/j_6/en/home?param1=value1¶m2=value21¶m2=value22"; json = URLUtils.parseUrlQueryStringAsJson(url, (map) -> Util.getHashMap("params", map)); Result: {"params":{"param1":["value1"],"param2":["value21","value22"]}}- Parameters:
 url- an URL or an URL query string.paramMapUpdator- implementation ofFunctionto manipulate the Map of parameters extracted from URL- Returns:
 - String containing the parameters (name and values) as JSON format
 
 
- 
getQueryString
public static java.lang.String getQueryString(java.util.Map<java.lang.String,java.lang.String[]> parametersMap, java.lang.String... excludedParams)Returns a query String from a map of parameters.- Parameters:
 parametersMap-Mapof parametersexcludedParams- Parameter to exclude in the final query string- Returns:
 - String representing a query string
 
 
- 
buildUrl
public static java.lang.String buildUrl(java.lang.String url, java.util.Map<java.lang.String,java.lang.String[]> parametersMap)Build an URL by adding the given parameters.
If a parameter to be added is already present in the given URL, the URL's parameter will be replaced by the new parameter.
If a parameter has a null value, this parameter will be removed from the URL.
Example
String url = "http://www.jalios.com/home.jsp?param1=value1¶m1=value2¶m2=value2#hash1"; Map<String, String[]> map = new HashMap<String, String[]>(); map.put("param1", null); map.put("param2", new String[] { "value21", "value22" }); map.put("param3", new String[] { "value31", "value32" }); String url = URLUtils.buildUrl(url, map); The "url" value will be: http://www.jalios.com/home.jsp?param2=value21¶m2=value22¶m3=value31¶m3=value32#hash1- Parameters:
 url- the full URL with parameters and hashparametersMap- Map of the params to add/remove- Returns:
 - the new url
 
 
 - 
 
 -