Package org.apache.axiom.om
Interface OMSourcedElement
- All Superinterfaces:
OMContainer
,OMElement
,OMInformationItem
,OMNamedInformationItem
,OMNode
,OMSerializable
- All Known Subinterfaces:
SOAPHeaderBlock
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.
-
Field Summary
Fields inherited from interface org.apache.axiom.om.OMNode
CDATA_SECTION_NODE, COMMENT_NODE, DTD_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, PI_NODE, SPACE_NODE, TEXT_NODE
-
Method Summary
Modifier and TypeMethodDescriptiongetObject
(Class<? extends OMDataSourceExt> dataSourceClass) Get the object that backs the data source set on this element.boolean
setDataSource
(OMDataSource dataSource) Deprecated.This method is deprecated because its semantics are not clearly defined.Methods inherited from interface org.apache.axiom.om.OMContainer
addChild, getBuilder, getChildren, getChildrenWithLocalName, getChildrenWithName, getChildrenWithNamespaceURI, getFirstChildWithName, getFirstOMChild, getSAXResult, getSAXSource, getXMLStreamReader, getXMLStreamReader, getXMLStreamReader, getXMLStreamReaderWithoutCaching, getXOPEncodedStreamReader, removeChildren, serialize, serialize, serialize, serialize, serialize, serialize, serialize, serialize, serializeAndConsume, serializeAndConsume, serializeAndConsume, serializeAndConsume
Methods inherited from interface org.apache.axiom.om.OMElement
addAttribute, addAttribute, cloneOMElement, declareDefaultNamespace, declareNamespace, declareNamespace, findNamespace, findNamespaceURI, getAllAttributes, getAllDeclaredNamespaces, getAttribute, getAttributeValue, getChildElements, getDefaultNamespace, getDescendants, getFirstElement, getLineNumber, getNamespaceContext, getNamespacesInScope, getText, getTextAsQName, getTextAsStream, removeAttribute, resolveQName, setLineNumber, setNamespace, setNamespaceWithNoFindInCurrentScope, setText, setText, toString, toStringWithConsume, undeclarePrefix, writeTextTo
Methods inherited from interface org.apache.axiom.om.OMInformationItem
clone, getOMFactory
Methods inherited from interface org.apache.axiom.om.OMNamedInformationItem
getLocalName, getNamespace, getNamespaceURI, getPrefix, getQName, hasName, setLocalName, setNamespace
Methods inherited from interface org.apache.axiom.om.OMNode
buildWithAttachments, detach, discard, getNextOMSibling, getParent, getPreviousOMSibling, getType, insertSiblingAfter, insertSiblingBefore
Methods inherited from interface org.apache.axiom.om.OMSerializable
build, close, isComplete, serialize, serialize, serializeAndConsume
-
Method Details
-
isExpanded
boolean isExpanded()- Returns:
- true if tree is expanded or being expanded.
-
getDataSource
OMDataSource getDataSource()- Returns:
- OMDataSource
-
setDataSource
Deprecated.This method is deprecated because its semantics are not clearly defined. In particular it is unspecified whether the name of the element may change as a result of an invocation of this method. -
getObject
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 thedataSourceClass
parameter (in the sense ofClass.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()
returnsfalse
), but the implementation may use additional mechanisms to detect changes after expansion of the element.
- Parameters:
dataSourceClass
- the expected data source class; must be assignment compatible withOMDataSourceExt
- Returns:
- the backing Java object or
null
if the conditions specified above are not satisfied
- The element is configured with an
-