org.apache.axiom.om
Interface OMSourcedElement
- All Superinterfaces:
- OMContainer, OMElement, OMInformationItem, OMNamedInformationItem, OMNode, OMSerializable
- All Known Subinterfaces:
- SOAPHeaderBlock
public interface OMSourcedElement
- extends OMElement
Element whose data is backed by an arbitrary Java object. The backing Java object is accessed
via the OMDataSource
(or OMDataSourceExt
) interface.
An OMSourcedElement can be in one of two states:
- Not Expanded
- In this state the backing object is used to read and write the XML.
- Expanded
- In this state, the OMSourcedElement is backed by a normal OM tree.
Here are the steps to place an arbitrary java object into the OM tree:
- Write an
OMDataSourceExt
implementation that provides access to your Java
object.
- Use
OMFactory.createOMElement(OMDataSource, String, OMNamespace)
to create
the OMSourcedElement.
- Attach the OMSourcedElement to the tree.
Methods inherited from interface org.apache.axiom.om.OMElement |
addAttribute, addAttribute, cloneOMElement, declareDefaultNamespace, declareNamespace, declareNamespace, findNamespace, findNamespaceURI, getAllAttributes, getAllDeclaredNamespaces, getAttribute, getAttributeValue, getChildElements, getDefaultNamespace, getFirstElement, getLineNumber, getNamespaceContext, getNamespacesInScope, getText, getTextAsQName, getTextAsStream, removeAttribute, resolveQName, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume, setBuilder, setLineNumber, setNamespace, setNamespaceWithNoFindInCurrentScope, setText, setText, toString, toStringWithConsume, undeclarePrefix, writeTextTo |
Methods inherited from interface org.apache.axiom.om.OMContainer |
addChild, getBuilder, getChildren, getChildrenWithLocalName, getChildrenWithName, getChildrenWithNamespaceURI, getDescendants, getFirstChildWithName, getFirstOMChild, getSAXSource, getXMLStreamReader, getXMLStreamReader, getXMLStreamReader, getXMLStreamReaderWithoutCaching, removeChildren |
isExpanded
boolean isExpanded()
- Returns:
- true if tree is expanded or being expanded.
getDataSource
OMDataSource getDataSource()
- Returns:
- OMDataSource
setDataSource
OMDataSource setDataSource(OMDataSource dataSource)
- Replace an existing OMDataSource with a new one.
- Parameters:
dataSource
- new OMDataSource
- Returns:
- null or old OMDataSource
getObject
Object getObject(Class dataSourceClass)
- Get the object that backs the data source set on this element. This method provides a safe
way to access that object. It will return a non null value if all of the following conditions
are satisfied:
- The element is configured with an
OMDataSource
of the type specified by the
dataSourceClass
parameter (in the sense of Class.isInstance(Object)
).
- The
OMDataSourceExt.getObject()
method returns a non null value on the configured
data source.
- The instance can ensure that the content of the element has not been modified. This is
always the case if the element has not been expanded (i.e. if
isExpanded()
returns
false
), but the implementation may use additional mechanisms to detect changes
after expansion of the element.
These are exactly the conditions that must be satisfied if the application code wants to
implement optimized processing of the sourced element by accessing the backing object.
- Parameters:
dataSourceClass
- the expected data source class; must be assignment compatible with
OMDataSourceExt
- Returns:
- the backing Java object or
null
if the conditions specified above are
not satisfied
Copyright © 2004-2012 The Apache Software Foundation. All Rights Reserved.