public class UrlEncoded extends MultiMap<String> implements Cloneable
This class handles the encoding and decoding for either the query string of a URL or the _content of a POST HTTP request.
NotesThe UTF-8 charset is assumed, unless otherwise defined by either passing a parameter or setting the "org.eclipse.jetty.util.UrlEncoding.charset" System property.
The hashtable either contains String single values, vectors of String or arrays of Strings.
This class is only partially synchronised. In particular, simple get operations are not protected from concurrent updates.
URLEncoder
,
Serialized FormAbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K,V>
Constructor and Description |
---|
UrlEncoded() |
UrlEncoded(String query) |
UrlEncoded(UrlEncoded url) |
Modifier and Type | Method and Description |
---|---|
Object |
clone() |
void |
decode(String query) |
void |
decode(String query,
Charset charset) |
static void |
decode88591To(InputStream in,
MultiMap<String> map,
int maxLength,
int maxKeys)
Decoded parameters to MultiMap, using ISO8859-1 encodings.
|
static String |
decodeString(String encoded)
Decode String with % encoding.
|
static String |
decodeString(String encoded,
int offset,
int length,
Charset charset)
Decode String with % encoding.
|
static void |
decodeTo(InputStream in,
MultiMap<String> map,
Charset charset,
int maxLength,
int maxKeys)
Decoded parameters to Map.
|
static void |
decodeTo(InputStream in,
MultiMap<String> map,
String charset,
int maxLength,
int maxKeys)
Decoded parameters to Map.
|
static void |
decodeTo(String content,
MultiMap<String> map,
Charset charset)
Decoded parameters to Map.
|
static void |
decodeTo(String content,
MultiMap<String> map,
String charset)
Decoded parameters to Map.
|
static void |
decodeUtf16To(InputStream in,
MultiMap<String> map,
int maxLength,
int maxKeys) |
static void |
decodeUtf8To(InputStream in,
MultiMap<String> map,
int maxLength,
int maxKeys)
Decoded parameters to Map.
|
static void |
decodeUtf8To(String query,
int offset,
int length,
MultiMap<String> map)
Decoded parameters to Map.
|
static void |
decodeUtf8To(String query,
MultiMap<String> map) |
String |
encode()
Encode MultiMap with % encoding for UTF8 sequences.
|
String |
encode(Charset charset)
Encode MultiMap with % encoding for arbitrary Charset sequences.
|
String |
encode(Charset charset,
boolean equalsForNullValue)
Encode MultiMap with % encoding.
|
static String |
encode(MultiMap<String> map,
Charset charset,
boolean equalsForNullValue)
Encode MultiMap with % encoding.
|
static String |
encodeString(String string)
Perform URL encoding.
|
static String |
encodeString(String string,
Charset charset)
Perform URL encoding.
|
add, addAllValues, addValues, addValues, containsSimpleValue, getString, getValue, getValues, put, putAllValues, putValues, putValues, removeValue, toString, toStringArrayMap
clear, compute, computeIfAbsent, computeIfPresent, containsKey, containsValue, entrySet, forEach, get, getOrDefault, isEmpty, keySet, merge, put, putAll, putIfAbsent, remove, remove, replace, replace, replaceAll, size, values
equals, hashCode
public static final Charset ENCODING
public UrlEncoded(UrlEncoded url)
public UrlEncoded()
public UrlEncoded(String query)
public void decode(String query)
public String encode()
public String encode(Charset charset)
charset
- the charset to use for encodingpublic String encode(Charset charset, boolean equalsForNullValue)
charset
- the charset to encode withequalsForNullValue
- if True, then an '=' is always used, even
for parameters without a value. e.g. "blah?a=&b=&c="
.public static String encode(MultiMap<String> map, Charset charset, boolean equalsForNullValue)
map
- the map to encodecharset
- the charset to use for encoding (uses default encoding if null)equalsForNullValue
- if True, then an '=' is always used, even
for parameters without a value. e.g. "blah?a=&b=&c="
.public static void decodeTo(String content, MultiMap<String> map, String charset)
content
- the string containing the encoded parametersmap
- the MultiMap to put parsed query parameters intocharset
- the charset to use for decodingpublic static void decodeTo(String content, MultiMap<String> map, Charset charset)
content
- the string containing the encoded parametersmap
- the MultiMap to put parsed query parameters intocharset
- the charset to use for decodingpublic static void decodeUtf8To(String query, int offset, int length, MultiMap<String> map)
query
- the string containing the encoded parametersoffset
- the offset within raw to decode fromlength
- the length of the section to decodemap
- the MultiMap
to populatepublic static void decode88591To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException
in
- InputSteam to readmap
- MultiMap to add parameters tomaxLength
- maximum length of form to read or -1 for no limitmaxKeys
- maximum number of keys to read or -1 for no limitIOException
- if unable to decode the InputStream as ISO8859-1public static void decodeUtf8To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException
in
- InputSteam to readmap
- MultiMap to add parameters tomaxLength
- maximum form length to decode or -1 for no limitmaxKeys
- the maximum number of keys to read or -1 for no limitIOException
- if unable to decode the input streampublic static void decodeUtf16To(InputStream in, MultiMap<String> map, int maxLength, int maxKeys) throws IOException
IOException
public static void decodeTo(InputStream in, MultiMap<String> map, String charset, int maxLength, int maxKeys) throws IOException
in
- the stream containing the encoded parametersmap
- the MultiMap to decode intocharset
- the charset to use for decodingmaxLength
- the maximum length of the form to decode or -1 for no limitmaxKeys
- the maximum number of keys to decode or -1 for no limitIOException
- if unable to decode the input streampublic static void decodeTo(InputStream in, MultiMap<String> map, Charset charset, int maxLength, int maxKeys) throws IOException
in
- the stream containing the encoded parametersmap
- the MultiMap to decode intocharset
- the charset to use for decodingmaxLength
- the maximum length of the form to decodemaxKeys
- the maximum number of keys to decodeIOException
- if unable to decode input streampublic static String decodeString(String encoded)
encoded
- the encoded string to decodepublic static String decodeString(String encoded, int offset, int length, Charset charset)
encoded
- the encoded string to decodeoffset
- the offset in the encoded string to decode fromlength
- the length of characters in the encoded string to decodecharset
- the charset to use for decodingpublic static String encodeString(String string)
string
- the string to encodepublic static String encodeString(String string, Charset charset)
string
- the string to encodecharset
- the charset to use for encodingCopyright © 2010 - 2020 Adobe. All Rights Reserved