Class UrlEncodedParser
- All Implemented Interfaces:
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()); }
- Since:
- 1.0
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic void
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
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
Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object)
.static void
Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object)
.<T> T
parseAndClose
(InputStream in, Charset charset, Class<T> dataClass) Parses the given input stream into a new instance of the the given data class of key/value pairs and closes the input stream.parseAndClose
(InputStream in, Charset charset, Type dataType) 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 reader, Class<T> dataClass) Parses the given reader into a new instance of the the given data class of key/value pairs and closes the reader.parseAndClose
(Reader reader, Type dataType) Parses the given reader into a new instance of the the given data type of key/value pairs and closes the reader.private static Object
parseValue
(Type valueType, List<Type> context, String value)
-
Field Details
-
CONTENT_TYPE
"application/x-www-form-urlencoded"
content type.- See Also:
-
MEDIA_TYPE
"application/x-www-form-urlencoded"
media type with UTF-8 encoding.- Since:
- 1.13
-
-
Constructor Details
-
UrlEncodedParser
public UrlEncodedParser()
-
-
Method Details
-
parse
Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object)
.- Parameters:
content
- URL-encoded content ornull
to ignore contentdata
- data key name/value pairs
-
parse
Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object)
.- Parameters:
content
- URL-encoded content ornull
to ignore contentdata
- data key name/value pairsdecodeEnabled
- flag that specifies whether decoding should be enabled.
-
parse
Parses the given URL-encoded content into the given data object of data key name/value pairs, including support for repeating data key names.Declared fields of a "primitive" type (as defined by
Data.isPrimitive(Type)
are parsed usingData.parsePrimitiveValue(Type, String)
where theClass
parameter is the declared field class. Declared fields of typeCollection
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 theClass
parameter.If there is no declared field for an input parameter name, it will be ignored unless the input
data
parameter is aMap
. If it is a map, the parameter value will be stored either as a string, or as aArrayList
<String> in the case of repeated parameters.- Parameters:
reader
- URL-encoded readerdata
- data key name/value pairs- Throws:
IOException
- Since:
- 1.14
-
parse
Parses the given URL-encoded content into the given data object of data key name/value pairs, including support for repeating data key names.Declared fields of a "primitive" type (as defined by
Data.isPrimitive(Type)
are parsed usingData.parsePrimitiveValue(Type, String)
where theClass
parameter is the declared field class. Declared fields of typeCollection
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 theClass
parameter.If there is no declared field for an input parameter name, it is ignored unless the input
data
parameter is aMap
. If it is a map, the parameter value is stored either as a string, or as aArrayList
<String> in the case of repeated parameters.- Parameters:
reader
- URL-encoded readerdata
- data key name/value pairsdecodeEnabled
- flag that specifies whether data should be decoded.- Throws:
IOException
- Since:
- 1.14
-
parseValue
-
parseAndClose
Description copied from interface:ObjectParser
Parses the given input stream into a new instance of the the given data class of key/value pairs and closes the input stream.- Specified by:
parseAndClose
in interfaceObjectParser
- Parameters:
in
- input stream which contains the data to parsecharset
- charset which should be used to decode the input stream ornull
if unknowndataClass
- class into which the data is parsed- Throws:
IOException
-
parseAndClose
Description copied from interface:ObjectParser
Parses the given input stream into a new instance of the the given data type of key/value pairs and closes the input stream.- Specified by:
parseAndClose
in interfaceObjectParser
- Parameters:
in
- input stream which contains the data to parsecharset
- charset which should be used to decode the input stream ornull
if unknowndataType
- type into which the data is parsed- Throws:
IOException
-
parseAndClose
Description copied from interface:ObjectParser
Parses the given reader into a new instance of the the given data class of key/value pairs and closes the reader.- Specified by:
parseAndClose
in interfaceObjectParser
- Parameters:
reader
- reader which contains the text data to parsedataClass
- class into which the data is parsed- Throws:
IOException
-
parseAndClose
Description copied from interface:ObjectParser
Parses the given reader into a new instance of the the given data type of key/value pairs and closes the reader.- Specified by:
parseAndClose
in interfaceObjectParser
- Parameters:
reader
- reader which contains the text data to parsedataType
- type into which the data is parsed- Throws:
IOException
-