Class XPathNode
- java.lang.Object
-
- org.eclipse.persistence.internal.oxm.XPathNode
-
public class XPathNode extends Object
INTERNAL:Purpose: XPathNodes are used together to build a tree. The tree is built from all of the XPath statements specified in the mapping metadata (mappings and policies). This tree is then navigated by an EventObjectBuilder to perform marshal and unmarshal operations.
The XPaths "a/b" and "a/c" would result in a tree with the root "a" and two child nodes "b" and "c".
Responsibilities:
- All tree relationships must be bi-directional.
- Reference a NodeValue, XPathNodes without a Node value represent grouping elements.
- Reference an XPathFragment, XPathFragments contain name and namespace information.
- Must differentiate between child nodes that correspond to elements and those that do not.
- Must represent special mapping situations like any and self mappings.
-
-
Constructor Summary
Constructors Constructor Description XPathNode()
-
Method Summary
-
-
-
Method Detail
-
getXPathFragment
public XPathFragment getXPathFragment()
-
setXPathFragment
public void setXPathFragment(XPathFragment xPathFragment)
-
getNodeValue
public NodeValue getNodeValue()
-
setNodeValue
public void setNodeValue(NodeValue nodeValue)
-
getUnmarshalNodeValue
public NodeValue getUnmarshalNodeValue()
-
setUnmarshalNodeValue
public void setUnmarshalNodeValue(NodeValue nodeValue)
-
getMarshalNodeValue
public NodeValue getMarshalNodeValue()
-
setMarshalNodeValue
public void setMarshalNodeValue(NodeValue nodeValue)
-
getNullCapableValue
public NullCapableValue getNullCapableValue()
-
setNullCapableValue
public void setNullCapableValue(NullCapableValue nullCapableValue)
-
getParent
public XPathNode getParent()
-
setParent
public void setParent(XPathNode parent)
-
getNonAttributeChildrenMap
public Map<XPathFragment,XPathNode> getNonAttributeChildrenMap()
-
getAttributeChildrenMap
public Map<XPathFragment,XPathNode> getAttributeChildrenMap()
-
isChildrenLookupTableFilled
public boolean isChildrenLookupTableFilled(boolean isAttribute)
-
setChildrenLookupTableFilled
public void setChildrenLookupTableFilled(boolean isAttribute)
-
setAnyAttributeNodeValue
public void setAnyAttributeNodeValue(MappingNodeValue nodeValue)
-
getAnyAttributeNodeValue
public MappingNodeValue getAnyAttributeNodeValue()
-
getAnyAttributeNode
public XPathNode getAnyAttributeNode()
-
getAnyNode
public XPathNode getAnyNode()
-
setAnyNode
public void setAnyNode(XPathNode xPathNode)
-
getNextNode
public XPathNode getNextNode()
-
getTextNode
public XPathNode getTextNode()
-
setTextNode
public void setTextNode(XPathNode xPathNode)
-
hasTypeChild
public boolean hasTypeChild()
-
addChild
public XPathNode addChild(XPathFragment anXPathFragment, NodeValue aNodeValue, NamespaceResolver namespaceResolver)
-
hasPredicateSiblings
public boolean hasPredicateSiblings()
-
marshal
public boolean marshal(MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller, MarshalContext marshalContext, XPathFragment rootFragment)
-
startElement
public boolean startElement(MarshalRecord marshalRecord, XPathFragment anXPathFragment, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, ObjectBuilder compositeObjectBuilder, Object compositeObject)
-
marshalSelfAttributes
public boolean marshalSelfAttributes(MarshalRecord marshalRecord, Object object, CoreAbstractSession session, NamespaceResolver namespaceResolver, Marshaller marshaller)
Marshal any 'self' mapped attributes.- Parameters:
marshalRecord
-object
-session
-namespaceResolver
-marshaller
-- Returns:
-
isWhitespaceAware
public boolean isWhitespaceAware()
-
-