Class AbstractPushOMDataSource
- java.lang.Object
-
- org.apache.axiom.om.ds.AbstractOMDataSource
-
- org.apache.axiom.om.ds.AbstractPushOMDataSource
-
- All Implemented Interfaces:
OMDataSource
,OMDataSourceExt
- Direct Known Subclasses:
JAXBOMDataSource
public abstract class AbstractPushOMDataSource extends AbstractOMDataSource
Base class forOMDataSourceExt
implementations that can easily serialize the content to anXMLStreamWriter
but that are unable to produce the content as anXMLStreamReader
.OMSourcedElement
will handleOMDataSource
implementations extending this class differently when it comes to expansion: instead of usingOMDataSource.getReader()
to expand the element, it will useOMDataSource.serialize(XMLStreamWriter)
(with a specialXMLStreamWriter
that builds the descendants of theOMSourcedElement
). This means that such anOMSourcedElement
will be expanded instantly, and that deferred building of the descendants is not applicable.
-
-
Constructor Summary
Constructors Constructor Description AbstractPushOMDataSource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description XMLStreamReader
getReader()
Get parser for element data.boolean
isDestructiveRead()
Returns true if reading the backing object is destructive.-
Methods inherited from class org.apache.axiom.om.ds.AbstractOMDataSource
close, copy, getObject, getProperty, getXMLBytes, getXMLInputStream, hasProperty, serialize, serialize, setProperty
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.axiom.om.OMDataSource
serialize
-
Methods inherited from interface org.apache.axiom.om.OMDataSourceExt
isDestructiveWrite
-
-
-
-
Method Detail
-
isDestructiveRead
public final boolean isDestructiveRead()
Description copied from interface:OMDataSourceExt
Returns true if reading the backing object is destructive. An example of an object with a destructive read is an InputSteam. The owning OMSourcedElement uses this information to detemine if OM tree expansion is needed when reading the OMDataSourceExt.- Returns:
- boolean
-
getReader
public final XMLStreamReader getReader() throws XMLStreamException
Description copied from interface:OMDataSource
Get parser for element data. In the general case this may require the data source to serialize data as XML text and then parse that text.It is assumed that this method consumed the content (i.e. destroys the backing object) unless the data source also implements
OMDataSourceExt
andOMDataSourceExt.isDestructiveRead()
returnsfalse
.OMSourcedElement
implementations are expected to callXMLStreamReader.close()
on the returned reader as soon as the element is completely built.- Returns:
- element parser
- Throws:
XMLStreamException
-
-