Class UrlEncodedParser
- java.lang.Object
-
- com.google.api.client.http.UrlEncodedParser
-
- All Implemented Interfaces:
ObjectParser
public class UrlEncodedParser extends java.lang.Object implements ObjectParser
Implements support for HTTP form content encoding parsing of typeapplication/x-www-form-urlencodedas 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 Modifier and Type Field Description static java.lang.StringCONTENT_TYPE"application/x-www-form-urlencoded"content type.static java.lang.StringMEDIA_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 voidparse(java.io.Reader reader, java.lang.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 voidparse(java.io.Reader reader, java.lang.Object data, boolean decodeEnabled)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 voidparse(java.lang.String content, java.lang.Object data)Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object).static voidparse(java.lang.String content, java.lang.Object data, boolean decodeEnabled)Parses the given URL-encoded content into the given data object of data key name/value pairs usingparse(Reader, Object).<T> TparseAndClose(java.io.InputStream in, java.nio.charset.Charset charset, java.lang.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.java.lang.ObjectparseAndClose(java.io.InputStream in, java.nio.charset.Charset charset, java.lang.reflect.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> TparseAndClose(java.io.Reader reader, java.lang.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.java.lang.ObjectparseAndClose(java.io.Reader reader, java.lang.reflect.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 java.lang.ObjectparseValue(java.lang.reflect.Type valueType, java.util.List<java.lang.reflect.Type> context, java.lang.String value)
-
-
-
Field Detail
-
CONTENT_TYPE
public static final java.lang.String CONTENT_TYPE
"application/x-www-form-urlencoded"content type.- See Also:
- Constant Field Values
-
MEDIA_TYPE
public static final java.lang.String MEDIA_TYPE
"application/x-www-form-urlencoded"media type with UTF-8 encoding.- Since:
- 1.13
-
-
Method Detail
-
parse
public static void parse(java.lang.String content, java.lang.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 ornullto ignore contentdata- data key name/value pairs
-
parse
public static void parse(java.lang.String content, java.lang.Object data, boolean decodeEnabled)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 ornullto ignore contentdata- data key name/value pairsdecodeEnabled- flag that specifies whether decoding should be enabled.
-
parse
public static void parse(java.io.Reader reader, java.lang.Object data) throws java.io.IOExceptionParses 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 theClassparameter is the declared field class. Declared fields of typeCollectionare 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 theClassparameter.If there is no declared field for an input parameter name, it will be ignored unless the input
dataparameter 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:
java.io.IOException- Since:
- 1.14
-
parse
public static void parse(java.io.Reader reader, java.lang.Object data, boolean decodeEnabled) throws java.io.IOExceptionParses 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 theClassparameter is the declared field class. Declared fields of typeCollectionare 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 theClassparameter.If there is no declared field for an input parameter name, it is ignored unless the input
dataparameter 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:
java.io.IOException- Since:
- 1.14
-
parseValue
private static java.lang.Object parseValue(java.lang.reflect.Type valueType, java.util.List<java.lang.reflect.Type> context, java.lang.String value)
-
parseAndClose
public <T> T parseAndClose(java.io.InputStream in, java.nio.charset.Charset charset, java.lang.Class<T> dataClass) throws java.io.IOExceptionDescription copied from interface:ObjectParserParses 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:
parseAndClosein interfaceObjectParser- Parameters:
in- input stream which contains the data to parsecharset- charset which should be used to decode the input stream ornullif unknowndataClass- class into which the data is parsed- Throws:
java.io.IOException
-
parseAndClose
public java.lang.Object parseAndClose(java.io.InputStream in, java.nio.charset.Charset charset, java.lang.reflect.Type dataType) throws java.io.IOExceptionDescription copied from interface:ObjectParserParses 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:
parseAndClosein interfaceObjectParser- Parameters:
in- input stream which contains the data to parsecharset- charset which should be used to decode the input stream ornullif unknowndataType- type into which the data is parsed- Throws:
java.io.IOException
-
parseAndClose
public <T> T parseAndClose(java.io.Reader reader, java.lang.Class<T> dataClass) throws java.io.IOExceptionDescription copied from interface:ObjectParserParses the given reader into a new instance of the the given data class of key/value pairs and closes the reader.- Specified by:
parseAndClosein interfaceObjectParser- Parameters:
reader- reader which contains the text data to parsedataClass- class into which the data is parsed- Throws:
java.io.IOException
-
parseAndClose
public java.lang.Object parseAndClose(java.io.Reader reader, java.lang.reflect.Type dataType) throws java.io.IOExceptionDescription copied from interface:ObjectParserParses the given reader into a new instance of the the given data type of key/value pairs and closes the reader.- Specified by:
parseAndClosein interfaceObjectParser- Parameters:
reader- reader which contains the text data to parsedataType- type into which the data is parsed- Throws:
java.io.IOException
-
-