public class XmlParserSession extends ReaderParserSession
XmlParser
.
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 |
XmlParserSession(XmlParser ctx,
ParserSessionArgs args)
Create a new session using properties specified in the context.
|
Modifier and Type | Method and Description |
---|---|
ObjectMap |
asMap()
Returns the properties defined on this bean context as a simple map for debugging purposes.
|
protected String |
decodeString(String s)
Decodes and trims the specified string.
|
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.
|
protected String |
getElementText(XmlReader r)
Returns the text content of the current XML element.
|
protected XmlReader |
getXmlReader(ParserPipe pipe)
Wrap the specified reader in a STAX reader based on settings in this context.
|
protected boolean |
isWhitespaceElement(XmlReader r)
Returns
|
protected <T> T |
parseAnything(ClassMeta<T> eType,
String currAttr,
XmlReader r,
Object outer,
boolean isRoot,
BeanPropertyMeta pMeta)
Workhorse method.
|
protected String |
parseText(XmlReader r)
Parses the current element as text.
|
protected String |
parseWhitespaceElement(XmlReader r)
Parses the current whitespace element.
|
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 XmlParserSession(XmlParser ctx, ParserSessionArgs args)
ctx
- The context creating this session object.
The context contains all the configuration settings for this object.args
- Runtime session arguments.public ObjectMap asMap()
Session
asMap
in class ParserSession
protected final XmlReader getXmlReader(ParserPipe pipe) throws Exception
pipe
- The parser input.Exception
- If problem occurred trying to create reader.protected final String decodeString(String s)
Any
s
- The string to be decoded.protected String getElementText(XmlReader r) throws Exception
Any
Leading and trailing whitespace (unencoded) will be trimmed from the result.
r
- The reader to read the element text from.Exception
protected String parseText(XmlReader r) throws Exception
r
- Exception
protected boolean isWhitespaceElement(XmlReader r)
For the XML parser, this always returns
r
- The XML stream reader to read the current event from.protected String parseWhitespaceElement(XmlReader r) throws Exception
For the XML parser, this always returns
r
- The XML stream reader to read the current event from.XMLStreamException
Exception
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.protected <T> T parseAnything(ClassMeta<T> eType, String currAttr, XmlReader r, Object outer, boolean isRoot, BeanPropertyMeta pMeta) throws Exception
eType
- The expected type of object.currAttr
- The current bean property name.r
- The reader.outer
- The outer object.isRoot
- If pMeta
- The bean property metadata.Exception
Copyright © 2018 Apache. All rights reserved.