public class UrlEncodedParser extends Objectimplements ObjectParser
application/x-www-form-urlencoded as specified in the
HTML 4.0 Specification.
Implementation is thread-safe.
The data is parsed using parse(String, Object).
Sample usage:
static void setParser(HttpTransport transport) {
transport.addParser(new UrlEncodedParser());
}
| Modifier and Type | Field and Description |
|---|---|
static String |
CONTENT_TYPE
"application/x-www-form-urlencoded" content type.
|
static String |
MEDIA_TYPE
"application/x-www-form-urlencoded" media type with UTF-8 encoding.
|
| Constructor and Description |
|---|
UrlEncodedParser()
|
| Modifier and Type | Method and Description |
|---|---|
static void |
parse(Reader
Parses the given URL-encoded content into the given data object of data key name/value pairs, including support for repeating data key names.
|
static void |
parse(String
Parses the given URL-encoded content into the given data object of data key name/value pairs using
parse(Reader, Object).
|
<T> T |
parseAndClose(InputStream
Parses the given input stream into a new instance of the the given data class of key/value pairs and closes the input stream.
|
Object |
parseAndClose(InputStream
Parses the given input stream into a new instance of the the given data type of key/value pairs and closes the input stream.
|
<T> T |
parseAndClose(Reader
Parses the given reader into a new instance of the the given data class of key/value pairs and closes the reader.
|
Object |
parseAndClose(Reader
Parses the given reader into a new instance of the the given data type of key/value pairs and closes the reader.
|
public static final StringCONTENT_TYPE
"application/x-www-form-urlencoded" content type.
public static final StringMEDIA_TYPE
"application/x-www-form-urlencoded" media type with UTF-8 encoding.
public static void parse(Stringcontent, Object data)
parse(Reader, Object).
content - URL-encoded content or
null to ignore content
data - data key name/value pairs
public static void parse(Readerreader, Object data) throws IOException
Declared fields of a "primitive" type (as defined by Data are parsed using Data where the Class parameter is the declared field class. Declared fields of type Collection are used to support repeating data key names, so each member of the collection is an additional data key value. They are parsed the same as "primitive" fields, except that the generic type parameter of the collection is used as the Class parameter.
If there is no declared field for an input parameter name, it will be ignored unless the input data parameter is a Map. If it is a map, the parameter value will be stored either as a string, or as a ArrayList<String> in the case of repeated parameters.
reader - URL-encoded reader
data - data key name/value pairs
IOException
public <T> T parseAndClose(InputStreamin, Charset charset, Class <T> dataClass) throws IOException
ObjectParser
parseAndClose in interface
ObjectParser
in - input stream which contains the data to parse
charset - charset which should be used to decode the input stream or
null if unknown
dataClass - class into which the data is parsed
IOException
public ObjectparseAndClose(InputStream in, Charset charset, Type dataType) throws IOException
ObjectParser
parseAndClose in interface
ObjectParser
in - input stream which contains the data to parse
charset - charset which should be used to decode the input stream or
null if unknown
dataType - type into which the data is parsed
IOException
public <T> T parseAndClose(Readerreader, Class <T> dataClass) throws IOException
ObjectParser
parseAndClose in interface
ObjectParser
reader - reader which contains the text data to parse
dataClass - class into which the data is parsed
IOException
public ObjectparseAndClose(Reader reader, Type dataType) throws IOException
ObjectParser
parseAndClose in interface
ObjectParser
reader - reader which contains the text data to parse
dataType - type into which the data is parsed
IOException