Package oauth.signpost.http
Class HttpParameters
- java.lang.Object
-
- oauth.signpost.http.HttpParameters
-
- All Implemented Interfaces:
java.io.Serializable
,java.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
public class HttpParameters extends java.lang.Object implements java.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>, java.io.Serializable
A multi-map of HTTP request parameters. Each key references aSortedSet
of parameters collected from the request during message signing. Parameter values are sorted as per ://oauth.net/core/1.0a/#anchor13. Every key/value pair will be percent-encoded upon insertion. This class has special semantics tailored to being useful for message signing; it's not a general purpose collection class to handle request parameters.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.TreeMap<java.lang.String,java.util.SortedSet<java.lang.String>>
wrappedMap
-
Constructor Summary
Constructors Constructor Description HttpParameters()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
boolean
containsKey(java.lang.Object key)
boolean
containsValue(java.lang.Object value)
java.util.Set<java.util.Map.Entry<java.lang.String,java.util.SortedSet<java.lang.String>>>
entrySet()
java.util.SortedSet<java.lang.String>
get(java.lang.Object key)
java.lang.String
getAsHeaderElement(java.lang.String key)
java.lang.String
getAsQueryString(java.lang.Object key)
Concatenates all values for the given key to a list of key/value pairs suitable for use in a URL query string.java.lang.String
getAsQueryString(java.lang.Object key, boolean percentEncode)
Concatenates all values for the given key to a list of key/value pairs suitable for use in a URL query string.java.lang.String
getFirst(java.lang.Object key)
Convenience method for {@link #getFirst(key, false)}.java.lang.String
getFirst(java.lang.Object key, boolean percentDecode)
Returns the first value from the set of all values for the given parameter name.HttpParameters
getOAuthParameters()
boolean
isEmpty()
java.util.Set<java.lang.String>
keySet()
java.lang.String
put(java.lang.String key, java.lang.String value)
Convenience method to add a single value for the parameter specified by 'key'.java.lang.String
put(java.lang.String key, java.lang.String value, boolean percentEncode)
Convenience method to add a single value for the parameter specified by 'key'.java.util.SortedSet<java.lang.String>
put(java.lang.String key, java.util.SortedSet<java.lang.String> value)
java.util.SortedSet<java.lang.String>
put(java.lang.String key, java.util.SortedSet<java.lang.String> values, boolean percentEncode)
void
putAll(java.lang.String[] keyValuePairs, boolean percentEncode)
void
putAll(java.util.Map<? extends java.lang.String,? extends java.util.SortedSet<java.lang.String>> m)
void
putAll(java.util.Map<? extends java.lang.String,? extends java.util.SortedSet<java.lang.String>> m, boolean percentEncode)
void
putMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> m)
Convenience method to merge a Map>. java.lang.String
putNull(java.lang.String key, java.lang.String nullString)
Convenience method to allow for storing null values.java.util.SortedSet<java.lang.String>
remove(java.lang.Object key)
int
size()
java.util.Collection<java.util.SortedSet<java.lang.String>>
values()
-
-
-
Method Detail
-
put
public java.util.SortedSet<java.lang.String> put(java.lang.String key, java.util.SortedSet<java.lang.String> value)
- Specified by:
put
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
put
public java.util.SortedSet<java.lang.String> put(java.lang.String key, java.util.SortedSet<java.lang.String> values, boolean percentEncode)
-
put
public java.lang.String put(java.lang.String key, java.lang.String value)
Convenience method to add a single value for the parameter specified by 'key'.- Parameters:
key
- the parameter namevalue
- the parameter value- Returns:
- the value
-
put
public java.lang.String put(java.lang.String key, java.lang.String value, boolean percentEncode)
Convenience method to add a single value for the parameter specified by 'key'.- Parameters:
key
- the parameter namevalue
- the parameter valuepercentEncode
- whether key and value should be percent encoded before being inserted into the map- Returns:
- the value
-
putNull
public java.lang.String putNull(java.lang.String key, java.lang.String nullString)
Convenience method to allow for storing null values.put(java.lang.String, java.util.SortedSet<java.lang.String>)
doesn't allow null values, because that would be ambiguous.- Parameters:
key
- the parameter namenullString
- can be anything, but probably... null?- Returns:
- null
-
putAll
public void putAll(java.util.Map<? extends java.lang.String,? extends java.util.SortedSet<java.lang.String>> m)
- Specified by:
putAll
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
putAll
public void putAll(java.util.Map<? extends java.lang.String,? extends java.util.SortedSet<java.lang.String>> m, boolean percentEncode)
-
putAll
public void putAll(java.lang.String[] keyValuePairs, boolean percentEncode)
-
putMap
public void putMap(java.util.Map<java.lang.String,java.util.List<java.lang.String>> m)
Convenience method to merge a Map>. - Parameters:
m
- the map
-
get
public java.util.SortedSet<java.lang.String> get(java.lang.Object key)
- Specified by:
get
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
getFirst
public java.lang.String getFirst(java.lang.Object key)
Convenience method for {@link #getFirst(key, false)}.- Parameters:
key
- the parameter name (must be percent encoded if it contains unsafe characters!)- Returns:
- the first value found for this parameter
-
getFirst
public java.lang.String getFirst(java.lang.Object key, boolean percentDecode)
Returns the first value from the set of all values for the given parameter name. If the key passed to this method contains special characters, you MUST first percent encode it usingOAuth.percentEncode(String)
, otherwise the lookup will fail (that's because upon storing values in this map, keys get percent-encoded).- Parameters:
key
- the parameter name (must be percent encoded if it contains unsafe characters!)percentDecode
- whether the value being retrieved should be percent decoded- Returns:
- the first value found for this parameter
-
getAsQueryString
public java.lang.String getAsQueryString(java.lang.Object key)
Concatenates all values for the given key to a list of key/value pairs suitable for use in a URL query string.- Parameters:
key
- the parameter name- Returns:
- the query string
-
getAsQueryString
public java.lang.String getAsQueryString(java.lang.Object key, boolean percentEncode)
Concatenates all values for the given key to a list of key/value pairs suitable for use in a URL query string.- Parameters:
key
- the parameter namepercentEncode
- whether key should be percent encoded before being used with the map- Returns:
- the query string
-
getAsHeaderElement
public java.lang.String getAsHeaderElement(java.lang.String key)
-
containsKey
public boolean containsKey(java.lang.Object key)
- Specified by:
containsKey
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
containsValue
public boolean containsValue(java.lang.Object value)
- Specified by:
containsValue
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
remove
public java.util.SortedSet<java.lang.String> remove(java.lang.Object key)
- Specified by:
remove
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
keySet
public java.util.Set<java.lang.String> keySet()
- Specified by:
keySet
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
values
public java.util.Collection<java.util.SortedSet<java.lang.String>> values()
- Specified by:
values
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
entrySet
public java.util.Set<java.util.Map.Entry<java.lang.String,java.util.SortedSet<java.lang.String>>> entrySet()
- Specified by:
entrySet
in interfacejava.util.Map<java.lang.String,java.util.SortedSet<java.lang.String>>
-
getOAuthParameters
public HttpParameters getOAuthParameters()
-
-