Package org.apache.axiom.om.ds
Class WrappedTextNodeOMDataSourceFromDataSource
- java.lang.Object
-
- org.apache.axiom.om.ds.AbstractOMDataSource
-
- org.apache.axiom.om.ds.AbstractPullOMDataSource
-
- org.apache.axiom.om.ds.WrappedTextNodeOMDataSource
-
- org.apache.axiom.om.ds.WrappedTextNodeOMDataSourceFromDataSource
-
- All Implemented Interfaces:
OMDataSource
,OMDataSourceExt
,QNameAwareOMDataSource
public class WrappedTextNodeOMDataSourceFromDataSource extends WrappedTextNodeOMDataSource
WrappedTextNodeOMDataSource
that pulls the text data from aDataSource
object. ThegetObject()
method returns theDataSource
instance.
-
-
Field Summary
-
Fields inherited from class org.apache.axiom.om.ds.WrappedTextNodeOMDataSource
wrapperElementName
-
-
Constructor Summary
Constructors Constructor Description WrappedTextNodeOMDataSourceFromDataSource(QName wrapperElementName, DataSource binaryData, Charset charset)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OMDataSourceExt
copy()
Create a copy of the data source.Object
getObject()
Get the object that backs this data source.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.WrappedTextNodeOMDataSource
getLocalName, getNamespaceURI, getPrefix
-
Methods inherited from class org.apache.axiom.om.ds.AbstractPullOMDataSource
isDestructiveWrite, serialize
-
Methods inherited from class org.apache.axiom.om.ds.AbstractOMDataSource
close, 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, serialize, serialize
-
-
-
-
Constructor Detail
-
WrappedTextNodeOMDataSourceFromDataSource
public WrappedTextNodeOMDataSourceFromDataSource(QName wrapperElementName, DataSource binaryData, Charset charset)
-
-
Method Detail
-
getReader
public 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
-
getObject
public Object getObject()
Description copied from interface:OMDataSourceExt
Get the object that backs this data source. Application code should in general not call this method directly, but useOMSourcedElement.getObject(Class)
instead.Data sources that support non destructive read/write should return the object from which the XML is produced. Data sources with destructive read/write should return a non null value only if the backing object has not been consumed yet (even partially).
- Specified by:
getObject
in interfaceOMDataSourceExt
- Overrides:
getObject
in classAbstractOMDataSource
- Returns:
- the backing object, or
null
if the data source has no backing object or if the backing object can't be accessed in a safe way
-
isDestructiveRead
public 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
-
copy
public OMDataSourceExt copy()
Description copied from interface:OMDataSourceExt
Create a copy of the data source. This method is used byOMInformationItem.clone(OMCloneOptions)
when theOMCloneOptions.isCopyOMDataSources()
option is enabled. If the data source is immutable and stateless, then it may return a reference to itself instead of creating a new data source instance.- Specified by:
copy
in interfaceOMDataSourceExt
- Overrides:
copy
in classAbstractOMDataSource
- Returns:
- the copy of the data source, or
null
if the data source can't be copied (e.g. because it is destructive)
-
-