Package spark
Class QueryParamsMap
java.lang.Object
spark.QueryParamsMap
- Direct Known Subclasses:
QueryParamsMap.NullQueryParamsMap
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.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Pattern
Pattern for parsing the key of querystringprivate static final QueryParamsMap
private Map
<String, QueryParamsMap> Holds the nested keysprivate String[]
Value(s) for this key -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
QueryParamsMap
(String key, String... values) Parses the key and creates the child QueryParamMaps user[info][name] creates 3 nested QueryParamMaps.protected
QueryParamsMap
(Map<String, String[]> params) ConstructorQueryParamsMap
(javax.servlet.http.HttpServletRequest request) Creates a new QueryParamsMap from an HttpServletRequest. -
Method Summary
Modifier and TypeMethodDescriptionprotected static final String
Returns an element from the specified key.(package private) Map
<String, QueryParamsMap> (package private) String[]
boolean
boolean
hasKeys()
boolean
hasValue()
protected final void
loads keysprotected final void
loadQueryString
(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()
-
Field Details
-
NULL
-
KEY_PATTERN
Pattern for parsing the key of querystring -
queryMap
Holds the nested keys -
values
Value(s) for this key
-
-
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
-
getQueryMap
Map<String,QueryParamsMap> getQueryMap()- Returns:
- the queryMap
-
getValues
String[] getValues()- Returns:
- the values
-
toMap
- Returns:
- Map representation
-