Class XmlParser
- All Implemented Interfaces:
ArrayRecordReadable,RecordReadable,XmlMetaProvider
- Direct Known Subclasses:
HtmlParser
XmlSerializer class back into a POJO model.
Media types
Handles
Description
See the XmlSerializer class for a description of Juneau-generated XML.
Example input (Map of name/age):
Complex (nested object + array):
Notes:
- This class is thread safe and reusable.
See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classXmlParser.Builder<SELF extends XmlParser.Builder<SELF>>Builder class.static final classNested classes/interfaces inherited from class org.apache.juneau.marshall.parser.Parser
Parser.Null -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final XmlParserDefault parser, all default settings.protected final Class<? extends XMLEventAllocator>protected final booleanprotected final Class<? extends XMLReporter>protected final Class<? extends XMLResolver>protected final booleanFields inherited from class org.apache.juneau.marshall.parser.Parser
autoCloseStreams, consumes, debugOutputLines, listener, nulls, trimStrings, unbufferedFields inherited from class org.apache.juneau.marshall.MarshallingContextable
marshallingContextFields inherited from class org.apache.juneau.marshall.Context
CONTEXT_APPLY_FILTER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncopy()Creates a builder from this context object.static XmlParser.Builder<?>create()Creates a new builder for this object.Create a session builder based on the properties defined on this context.protected final XMLEventAllocatorXML event allocator.protected final XMLReporterXML reporter.protected final XMLResolverXML resolver.Returns a session to use for this context.getXmlBeanMeta(BeanMeta<?> bm) Returns the language-specific metadata on the specified bean.Returns the language-specific metadata on the specified bean property.getXmlClassMeta(ClassMeta<?> cm) Returns the language-specific metadata on the specified class.booleanThe XML array-record cursor is buffered/RecordAdapter-backed, not O(1) streaming.protected final booleanPreserve root element during generalized parsing.booleanThe XML record cursor is buffered/RecordAdapter-backed, not O(1) streaming.protected final booleanEnable validation.Returns the properties on this bean as a map for debugging.readArrayRecords(Object input) Convenience delegator for the buffered array-elementRecordReaderusing default session arguments.readArrayRecords(Object input, String rootElementName) Convenience delegator for the buffered array-elementRecordReaderwith a caller-specified root element name, using default session arguments.readRecords(Object input) Convenience delegator for the whole-valueRecordReaderusing default session arguments.Methods inherited from class org.apache.juneau.marshall.parser.ReaderParser
getStreamCharset, isReaderParserMethods inherited from class org.apache.juneau.marshall.parser.Parser
canHandle, createParserBuilder, doRead, getDebugOutputLines, getListener, getMediaTypes, getNulls, getPrimaryMediaType, isAutoCloseStreams, isTrimStrings, isUnbuffered, read, read, read, read, read, read, readArgs, readIntoCollection, readIntoMap, readWithOuterMethods inherited from class org.apache.juneau.marshall.MarshallingContextable
getDurationFormat, getMarshallingContext, getPeriodFormatMethods inherited from class org.apache.juneau.marshall.Context
createBuilder, getAnnotationProvider, init, isDebug, toString
-
Field Details
-
DEFAULT
Default parser, all default settings. -
preserveRootElement
-
validating
-
eventAllocator
-
reporter
-
resolver
-
-
Constructor Details
-
XmlParser
Constructor.- Parameters:
builder- The property store containing all the settings for this object.
-
-
Method Details
-
create
Creates a new builder for this object.- Returns:
- A new builder.
-
copy
Description copied from class:ContextCreates a builder from this context object.Builders are used to define new contexts (e.g. serializers, parsers) based on existing configurations.
-
createSession
Description copied from class:ContextCreate a session builder based on the properties defined on this context.Use this method for creating sessions where you want to override basic settings. Otherwise, use
Context.getSession()directly.- Overrides:
createSessionin classReaderParser- Returns:
- A new session builder.
-
getSession
Description copied from class:ContextReturns a session to use for this context.Note that subclasses may opt to return a reusable non-modifiable session.
- Overrides:
getSessionin classReaderParser- Returns:
- A new session object.
-
readRecords
Convenience delegator for the whole-valueRecordReaderusing default session arguments. The real implementation lives onXmlParserSession.readRecords(Object).- Specified by:
readRecordsin interfaceRecordReadable- Parameters:
input- The input.- Returns:
- A new
RecordReadercursor. - Throws:
IOException- If a problem occurred opening the underlying input.
-
readArrayRecords
Convenience delegator for the buffered array-elementRecordReaderusing default session arguments. The real implementation lives onXmlParserSession.readArrayRecords(Object).- Specified by:
readArrayRecordsin interfaceArrayRecordReadable- Parameters:
input- The input.- Returns:
- A buffered
RecordReader. - Throws:
IOException- If a problem occurred reading the input.
-
readArrayRecords
Convenience delegator for the buffered array-elementRecordReaderwith a caller-specified root element name, using default session arguments. The real implementation lives onXmlParserSession.readArrayRecords(Object, String).- Specified by:
readArrayRecordsin interfaceArrayRecordReadable- Parameters:
input- The input.rootElementName- The expected root element wrapping the array.- Returns:
- A buffered
RecordReader. - Throws:
IOException- If a problem occurred reading the input.
-
isRecordStreaming
The XML record cursor is buffered/RecordAdapter-backed, not O(1) streaming.- Specified by:
isRecordStreamingin interfaceRecordReadable- Returns:
- Always
false .
-
isArrayRecordStreaming
The XML array-record cursor is buffered/RecordAdapter-backed, not O(1) streaming.- Specified by:
isArrayRecordStreamingin interfaceArrayRecordReadable- Returns:
- Always
false .
-
getXmlBeanMeta
Description copied from interface:XmlMetaProviderReturns the language-specific metadata on the specified bean.- Specified by:
getXmlBeanMetain interfaceXmlMetaProvider- Parameters:
bm- The bean to return the metadata on.- Returns:
- The metadata.
-
getXmlBeanPropertyMeta
Description copied from interface:XmlMetaProviderReturns the language-specific metadata on the specified bean property.- Specified by:
getXmlBeanPropertyMetain interfaceXmlMetaProvider- Parameters:
bpm- The bean property to return the metadata on.- Returns:
- The metadata.
-
getXmlClassMeta
Description copied from interface:XmlMetaProviderReturns the language-specific metadata on the specified class.- Specified by:
getXmlClassMetain interfaceXmlMetaProvider- Parameters:
cm- The class to return the metadata on.- Returns:
- The metadata.
-
getEventAllocator
XML event allocator.- Returns:
- The
XMLEventAllocatorassociated with this parser, ornull if there isn't one. - See Also:
-
getReporter
XML reporter.- Returns:
- The
XMLReporterassociated with this parser, ornull if there isn't one. - See Also:
-
getResolver
XML resolver.- Returns:
- The
XMLResolverassociated with this parser, ornull if there isn't one. - See Also:
-
isPreserveRootElement
Preserve root element during generalized parsing.- Returns:
true if when parsing into a genericJsonMap, the map will contain a single entry whose key is the root element name.- See Also:
-
isValidating
Enable validation.- Returns:
true if XML document will be validated.- See Also:
-
properties
Description copied from class:ContextReturns the properties on this bean as a map for debugging.- Overrides:
propertiesin classReaderParser- Returns:
- The properties on this bean as a map for debugging.
-