Package spark
Class QueryParamsMap
java.lang.Object
spark.QueryParamsMap
These objects represent the parameters sent on a Http Request.
Parses parameters keys like in Sinatra.
For a querystring like:
user[name]=federico&user[lastname]=dayan
We get a structure like:
user : {name: federico, lastname: dayan}
That is:
queryParamsMapInstance.get("user").get("name").value();
queryParamsMapInstance.get("user").get("lastname").value();
It is null safe, meaning that if a key does not exist, it does not throw NullPointerException, it just returns null.
Parses parameters keys like in Sinatra.
For a querystring like:
user[name]=federico&user[lastname]=dayan
We get a structure like:
user : {name: federico, lastname: dayan}
That is:
queryParamsMapInstance.get("user").get("name").value();
queryParamsMapInstance.get("user").get("lastname").value();
It is null safe, meaning that if a key does not exist, it does not throw NullPointerException, it just returns null.
- Author:
- fddayan
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedprotectedQueryParamsMap(String key, String... values) Parses the key and creates the child QueryParamMaps user[info][name] creates 3 nested QueryParamMaps.protectedQueryParamsMap(Map<String, String[]> params) ConstructorQueryParamsMap(javax.servlet.http.HttpServletRequest request) Creates a new QueryParamsMap from an HttpServletRequest. -
Method Summary
Modifier and TypeMethodDescriptionprotected static final StringReturns an element from the specified key.booleanbooleanhasKeys()booleanhasValue()protected final voidloads keysprotected final voidloadQueryString(Map<String, String[]> params) loads query stringprotected final String[]toMap()value()Returns the value for this key.Returns the value for that key.String[]values()
-
Constructor Details
-
QueryParamsMap
public QueryParamsMap(javax.servlet.http.HttpServletRequest request) Creates a new QueryParamsMap from an HttpServletRequest.
Parses the parameters from request.getParameterMap()
No need to decode, since HttpServletRequest does it for us.- Parameters:
request- the servlet request
-
QueryParamsMap
protected QueryParamsMap() -
QueryParamsMap
Parses the key and creates the child QueryParamMaps user[info][name] creates 3 nested QueryParamMaps. For user, info and name.- Parameters:
key- The key in the formar fo key1[key2][key3] (for example: user[info][name]).values- the values
-
QueryParamsMap
Constructor- Parameters:
params- the parameters
-
-
Method Details
-
loadQueryString
loads query string- Parameters:
params- the parameters
-
loadKeys
loads keys- Parameters:
key- the keyvalue- the values
-
parseKey
-
cleanKey
-
get
Returns an element from the specified key.
For querystring:
user[name]=fede
get("user").get("name").value() # fede
or
get("user","name").value() # fede- Parameters:
keys- The parameter nested key(s)- Returns:
- the query params map
-
value
Returns the value for this key.
If this key has nested elements and does not have a value returns null.- Returns:
- the value
-
value
Returns the value for that key.
It is a shortcut for:
get("user").get("name").value() get("user").value("name")- Parameters:
keys- the key(s)- Returns:
- the value
-
hasKeys
public boolean hasKeys()- Returns:
- has keys
-
hasKey
- Returns:
- true if the map contains the given key
-
hasValue
public boolean hasValue()- Returns:
- has values
-
booleanValue
- Returns:
- the boolean value
-
integerValue
- Returns:
- the integer value
-
longValue
- Returns:
- the long value
-
floatValue
- Returns:
- the float value
-
doubleValue
- Returns:
- the double value
-
values
- Returns:
- the values
-
toMap
- Returns:
- Map representation
-