Package org.apache.axiom.om.ds
Class AbstractOMDataSource
java.lang.Object
org.apache.axiom.om.ds.AbstractOMDataSource
- All Implemented Interfaces:
OMDataSource
,OMDataSourceExt
- Direct Known Subclasses:
AbstractPullOMDataSource
,AbstractPushOMDataSource
Base class for
OMDataSourceExt
implementations. This class should only be used by data
sources that can equally well produce an XMLStreamReader
and have a meaningful
implementation of OMDataSource.serialize(XMLStreamWriter)
. Most implementations should
actually use AbstractPullOMDataSource
or AbstractPushOMDataSource
.-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close the DataSource and free its resources.copy()
Create a copy of the data source.Get the object that backs this data source.final Object
getProperty
(String key) Get the value of a property stored on this instance.final byte[]
getXMLBytes
(String encoding) Returns a byte[] representing the xml datafinal InputStream
getXMLInputStream
(String encoding) Returns a InputStream representing the xml datafinal boolean
hasProperty
(String key) Check if a property with the given name is set on this instance.final void
serialize
(OutputStream out, OMOutputFormat format) Serializes element data directly to stream.final void
serialize
(Writer writer, OMOutputFormat format) Serializes element data directly to writer.final Object
setProperty
(String key, Object value) Set a property on this instance.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
getReader, serialize
Methods inherited from interface org.apache.axiom.om.OMDataSourceExt
isDestructiveRead, isDestructiveWrite
-
Constructor Details
-
AbstractOMDataSource
public AbstractOMDataSource()
-
-
Method Details
-
getProperty
Description copied from interface:OMDataSourceExt
Get the value of a property stored on this instance.- Specified by:
getProperty
in interfaceOMDataSourceExt
- Parameters:
key
- the property name- Returns:
- the property value or
null
-
hasProperty
Description copied from interface:OMDataSourceExt
Check if a property with the given name is set on this instance.- Specified by:
hasProperty
in interfaceOMDataSourceExt
- Parameters:
key
- the property name- Returns:
true
if the property is set
-
setProperty
Description copied from interface:OMDataSourceExt
Set a property on this instance.- Specified by:
setProperty
in interfaceOMDataSourceExt
- Parameters:
key
- the property namevalue
- the property value- Returns:
- the old property value or
null
-
serialize
Description copied from interface:OMDataSource
Serializes element data directly to stream.It is assumed that this method consumes the content (i.e. destroys the backing object) unless the data source also implements
OMDataSourceExt
andOMDataSourceExt.isDestructiveWrite()
returnsfalse
.- Specified by:
serialize
in interfaceOMDataSource
- Parameters:
out
- destination stream for element XML textformat
- Output format information. The implementation must use this information to choose the correct character set encoding when writing to the output stream. This parameter must not be null.- Throws:
XMLStreamException
-
serialize
Description copied from interface:OMDataSource
Serializes element data directly to writer.It is assumed that this method consumes the content (i.e. destroys the backing object) unless the data source also implements
OMDataSourceExt
andOMDataSourceExt.isDestructiveWrite()
returnsfalse
.- Specified by:
serialize
in interfaceOMDataSource
- Parameters:
writer
- destination writer for element XML textformat
- output format information (null
if none; may be ignored if not supported by data binding even if supplied)- Throws:
XMLStreamException
-
getXMLBytes
Description copied from interface:OMDataSourceExt
Returns a byte[] representing the xml data- Specified by:
getXMLBytes
in interfaceOMDataSourceExt
- Parameters:
encoding
- String encoding of InputStream- Returns:
- byte[]
- Throws:
UnsupportedEncodingException
- See Also:
-
getXMLInputStream
Description copied from interface:OMDataSourceExt
Returns a InputStream representing the xml data- Specified by:
getXMLInputStream
in interfaceOMDataSourceExt
- Parameters:
encoding
- String encoding of InputStream- Returns:
- InputStream
- Throws:
UnsupportedEncodingException
-
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
- 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
-
close
public void close()Description copied from interface:OMDataSourceExt
Close the DataSource and free its resources.- Specified by:
close
in interfaceOMDataSourceExt
-
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
- Returns:
- the copy of the data source, or
null
if the data source can't be copied (e.g. because it is destructive)
-