Class UrlEncodedParser
- java.lang.Object
-
- com.google.api.client.http.UrlEncodedParser
-
- All Implemented Interfaces:
ObjectParser
public class UrlEncodedParser extends Object implements ObjectParser
Implements support for HTTP form content encoding parsing of typeapplication/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
- Author:
- Yaniv Inbar
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description UrlEncodedParser()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static void
parse(Reader reader, Object data)
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 content, Object data)
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.Object
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.Object
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.
-
-
-
Field Detail
-
CONTENT_TYPE
public static final String CONTENT_TYPE
"application/x-www-form-urlencoded"
content type.- See Also:
- Constant Field Values
-
MEDIA_TYPE
public static final String MEDIA_TYPE
"application/x-www-form-urlencoded"
media type with UTF-8 encoding.- Since:
- 1.13
-
-
Method Detail
-
parse
public static void parse(String content, Object data)
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
public static void parse(Reader reader, Object data) throws IOException
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
-
parseAndClose
public <T> T parseAndClose(InputStream in, Charset charset, Class<T> dataClass) throws IOException
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
public Object parseAndClose(InputStream in, Charset charset, Type dataType) throws IOException
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
public <T> T parseAndClose(Reader reader, Class<T> dataClass) throws IOException
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
public Object parseAndClose(Reader reader, Type dataType) throws IOException
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
-
-