Class AbstractPushOMDataSource
- All Implemented Interfaces:
OMDataSource,OMDataSourceExt
- Direct Known Subclasses:
JAXBOMDataSource
OMDataSourceExt implementations that can easily serialize the content to
an XMLStreamWriter but that are unable to produce the content as an
XMLStreamReader.
OMSourcedElement will handle OMDataSource implementations extending this class
differently when it comes to expansion: instead of using OMDataSource.getReader() to
expand the element, it will use OMDataSource.serialize(XMLStreamWriter) (with a special
XMLStreamWriter that builds the descendants of the OMSourcedElement). This means
that such an OMSourcedElement will be expanded instantly, and that deferred building of
the descendants is not applicable.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal XMLStreamReaderGet parser for element data.final booleanReturns 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, setPropertyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.axiom.om.OMDataSource
serializeMethods inherited from interface org.apache.axiom.om.OMDataSourceExt
isDestructiveWrite
-
Constructor Details
-
AbstractPushOMDataSource
public AbstractPushOMDataSource()
-
-
Method Details
-
isDestructiveRead
public final boolean isDestructiveRead()Description copied from interface:OMDataSourceExtReturns 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
Description copied from interface:OMDataSourceGet 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
OMDataSourceExtandOMDataSourceExt.isDestructiveRead()returnsfalse.OMSourcedElementimplementations are expected to callXMLStreamReader.close()on the returned reader as soon as the element is completely built.- Returns:
- element parser
- Throws:
XMLStreamException
-