org.apache.axiom.om.ds
Class WrappedTextNodeOMDataSourceFromReader

java.lang.Object
  extended by org.apache.axiom.om.ds.AbstractOMDataSource
      extended by org.apache.axiom.om.ds.AbstractPullOMDataSource
          extended by org.apache.axiom.om.ds.WrappedTextNodeOMDataSource
              extended by org.apache.axiom.om.ds.WrappedTextNodeOMDataSourceFromReader
All Implemented Interfaces:
OMDataSource, OMDataSourceExt, QNameAwareOMDataSource

public class WrappedTextNodeOMDataSourceFromReader
extends WrappedTextNodeOMDataSource

WrappedTextNodeOMDataSource that pulls text data from a Reader object. Since the stream can only be read once, this data source is destructive. The getObject() method returns the Reader object if it has not been accessed yet.


Field Summary
 
Fields inherited from class org.apache.axiom.om.ds.WrappedTextNodeOMDataSource
wrapperElementName
 
Fields inherited from interface org.apache.axiom.om.OMDataSourceExt
LOSSY_PREFIX
 
Constructor Summary
WrappedTextNodeOMDataSourceFromReader(QName wrapperElementName, Reader reader)
           
 
Method Summary
 void close()
          Close the DataSource and free its resources.
 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
copy, 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

WrappedTextNodeOMDataSourceFromReader

public WrappedTextNodeOMDataSourceFromReader(QName wrapperElementName,
                                             Reader reader)
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 and OMDataSourceExt.isDestructiveRead() returns false.

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 use OMSourcedElement.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 interface OMDataSourceExt
Overrides:
getObject in class AbstractOMDataSource
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

close

public void close()
Description copied from interface: OMDataSourceExt
Close the DataSource and free its resources.

Specified by:
close in interface OMDataSourceExt
Overrides:
close in class AbstractOMDataSource


Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.