public class UonParserSession extends ReaderParserSession
UonParser
.
This class is NOT thread safe. It is typically discarded after one-time use although it can be reused against multiple inputs.
Modifier | Constructor and Description |
---|---|
protected |
UonParserSession(UonParser ctx,
ParserSessionArgs args)
Create a new session using properties specified in the context.
|
protected |
UonParserSession(UonParser ctx,
ParserSessionArgs args,
boolean decodeChars)
Create a specialized parser session for parsing URL parameters.
|
Modifier and Type | Method and Description |
---|---|
ObjectMap |
asMap()
Returns the properties defined on this bean context as a simple map for debugging purposes.
|
protected <T> T |
doParse(ParserPipe pipe,
ClassMeta<T> type)
Workhorse method.
|
protected <E> Collection<E> |
doParseIntoCollection(ParserPipe pipe,
Collection<E> c,
Type elementType)
Implementation method.
|
protected <K,V> Map<K,V> |
doParseIntoMap(ParserPipe pipe,
Map<K,V> m,
Type keyType,
Type valueType)
Implementation method.
|
UonReader |
getUonReader(ParserPipe pipe,
boolean decodeChars)
Creates a
UonReader from the specified parser pipe. |
protected ObjectMap |
loc(UonReader r)
Returns a map identifying the current parse location.
|
<T> T |
parseAnything(ClassMeta<?> eType,
UonReader r,
Object outer,
boolean isUrlParamValue,
BeanPropertyMeta pMeta)
Workhorse method.
|
protected Object |
parseAttr(UonReader r,
boolean encoded)
Convenience method for parsing an attribute from the specified parser.
|
protected String |
parseAttrName(UonReader r,
boolean encoded)
Parses an attribute name from the specified reader.
|
protected String |
parseString(UonReader r,
boolean isUrlParamValue)
Parses a string value from the specified reader.
|
isReaderParser
cast, convertAttrToType, createPipe, getClassMeta, getJavaMethod, getLastLocation, getListener, getListener, getOuter, isStrict, isTrimStrings, onUnknownProperty, parse, parse, parse, parseArgs, parseIntoCollection, parseIntoMap, setCurrentClass, setCurrentProperty, setName, setParent, trim, trim
_class, checkForWarnings, convertToMemberType, convertToMemberType, convertToType, convertToType, convertToType, getArgsClassMeta, getBeanMeta, getBeanRegistry, getBeanTypePropertyName, getClassMeta, getClassMeta, getClassMetaForObject, getLocale, getMediaType, getStringBuilder, getTimeZone, isBean, isBean, isDebug, isIgnoreUnknownBeanProperties, newBean, newBean, newBeanMap, newBeanMap, newInstance, newInstance, newInstanceFromOuter, object, returnStringBuilder, string, toArray, toBeanMap, toBeanMap
addToCache, addToCache, addWarning, getClassProperty, getFromCache, getInstanceArrayProperty, getInstanceProperty, getLogger, getProperties, getProperty, getProperty, getProperty, getPropertyKeys, getWarnings, hasWarnings, toString
protected UonParserSession(UonParser ctx, ParserSessionArgs args)
ctx
- The context creating this session object.
The context contains all the configuration settings for this object.args
- Runtime session arguments.protected UonParserSession(UonParser ctx, ParserSessionArgs args, boolean decodeChars)
The main difference is that characters are never decoded, and the UonParser.UON_decoding
property is always ignored.
ctx
- The context creating this session object.
The context contains all the configuration settings for this object.args
- Runtime session arguments.decodeChars
- Whether to decode characters.public ObjectMap asMap()
Session
asMap
in class ParserSession
protected <T> T doParse(ParserPipe pipe, ClassMeta<T> type) throws Exception
ParserSession
doParse
in class ParserSession
T
- The class type of the object to create.pipe
- Where to get the input from.type
- The class type of the object to create.
If Object.class
, object type is based on what's being parsed.
For example, when parsing JSON text, it may return a String
, Number
,
ObjectMap
, etc...Exception
- If thrown from underlying stream, or if the input contains a syntax error or is malformed.protected <K,V> Map<K,V> doParseIntoMap(ParserPipe pipe, Map<K,V> m, Type keyType, Type valueType) throws Exception
ParserSession
Default implementation throws an UnsupportedOperationException
.
doParseIntoMap
in class ParserSession
pipe
- The parser input.m
- The map being loaded.keyType
- The class type of the keys, or String.class
.valueType
- The class type of the values, or Exception
- If thrown from underlying stream, or if the input contains a syntax error or is malformed.protected <E> Collection<E> doParseIntoCollection(ParserPipe pipe, Collection<E> c, Type elementType) throws Exception
ParserSession
Default implementation throws an UnsupportedOperationException
.
doParseIntoCollection
in class ParserSession
pipe
- The parser input.c
- The collection being loaded.elementType
- The class type of the elements, or Exception
- If thrown from underlying stream, or if the input contains a syntax error or is malformed.public <T> T parseAnything(ClassMeta<?> eType, UonReader r, Object outer, boolean isUrlParamValue, BeanPropertyMeta pMeta) throws Exception
eType
- The class type being parsed, or r
- The reader being parsed.outer
- The outer object (for constructing nested inner classes).isUrlParamValue
- If pMeta
- The current bean property being parsed.Exception
protected final Object parseAttr(UonReader r, boolean encoded) throws Exception
r
- encoded
- Exception
protected final String parseAttrName(UonReader r, boolean encoded) throws Exception
r
- encoded
- Exception
protected final String parseString(UonReader r, boolean isUrlParamValue) throws Exception
r
- isUrlParamValue
- Exception
protected final ObjectMap loc(UonReader r)
r
- The reader being read from.public final UonReader getUonReader(ParserPipe pipe, boolean decodeChars) throws Exception
UonReader
from the specified parser pipe.Copyright © 2018 Apache. All rights reserved.