org.plasma.sdo.xpath
Class DataGraphNavigator

java.lang.Object
  extended by org.jaxen.DefaultNavigator
      extended by org.plasma.sdo.xpath.DataGraphNavigator
All Implemented Interfaces:
Serializable, org.jaxen.NamedAccessNavigator, org.jaxen.Navigator

public class DataGraphNavigator
extends org.jaxen.DefaultNavigator
implements org.jaxen.NamedAccessNavigator

Supports navigation of an SDO data graph by the Jaxen XPATH engine.

This class is not intended for direct usage, but is used by the Jaxen engine during evaluation. Use DataGraphXPath to parse an XPath against a data graph.

See Also:
XPath, DataGraph, Serialized Form

Constructor Summary
DataGraphNavigator()
           
 
Method Summary
 Iterator getAttributeAxisIterator(Object contextNode)
           
 Iterator getAttributeAxisIterator(Object contextNode, String localName, String namespacePrefix, String namespaceURI)
          Retrieves an Iterator over the attribute elements that match the supplied name.
 String getAttributeName(Object obj)
           
 String getAttributeNamespaceUri(Object obj)
           
 String getAttributeQName(Object obj)
           
 String getAttributeStringValue(Object obj)
           
 Iterator getChildAxisIterator(Object contextNode)
          Where the given context node is a SDO Property, gets the actual value of the property wrapped in a CoreXPathValue and Iterator.
 Iterator getChildAxisIterator(Object contextNode, String localName, String namespacePrefix, String namespaceURI)
          Retrieves an Iterator over the child elements that match the supplied local name and namespace URI.
 String getCommentStringValue(Object obj)
           
 Object getDocument(String url)
           
 Object getDocumentNode(Object contextNode)
           
 String getElementName(Object obj)
           
 String getElementNamespaceUri(Object obj)
           
 String getElementQName(Object obj)
           
 String getElementStringValue(Object obj)
           
 Iterator getNamespaceAxisIterator(Object contextNode)
           
 String getNamespacePrefix(Object obj)
           
 String getNamespaceStringValue(Object obj)
           
 Iterator getParentAxisIterator(Object contextNode)
           
 String getProcessingInstructionData(Object obj)
           
 String getProcessingInstructionTarget(Object obj)
           
 String getTextStringValue(Object obj)
           
 boolean isAttribute(Object obj)
           
 boolean isComment(Object obj)
           
 boolean isDocument(Object obj)
           
 boolean isElement(Object obj)
           
 boolean isNamespace(Object obj)
           
 boolean isProcessingInstruction(Object obj)
           
 boolean isText(Object obj)
           
 org.jaxen.XPath parseXPath(String xpath)
          Returns a parsed form of the given XPath string, which will be suitable for queries on Data Graph documents.
 String translateNamespacePrefixToUri(String prefix, Object context)
           
 
Methods inherited from class org.jaxen.DefaultNavigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getParentNode, getPrecedingAxisIterator, getPrecedingSiblingAxisIterator, getSelfAxisIterator
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jaxen.Navigator
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getParentNode, getPrecedingAxisIterator, getPrecedingSiblingAxisIterator, getSelfAxisIterator
 

Constructor Detail

DataGraphNavigator

public DataGraphNavigator()
Method Detail

isElement

public boolean isElement(Object obj)
Specified by:
isElement in interface org.jaxen.Navigator

isComment

public boolean isComment(Object obj)
Specified by:
isComment in interface org.jaxen.Navigator

isText

public boolean isText(Object obj)
Specified by:
isText in interface org.jaxen.Navigator

isAttribute

public boolean isAttribute(Object obj)
Specified by:
isAttribute in interface org.jaxen.Navigator

isProcessingInstruction

public boolean isProcessingInstruction(Object obj)
Specified by:
isProcessingInstruction in interface org.jaxen.Navigator

isDocument

public boolean isDocument(Object obj)
Specified by:
isDocument in interface org.jaxen.Navigator

isNamespace

public boolean isNamespace(Object obj)
Specified by:
isNamespace in interface org.jaxen.Navigator

getElementName

public String getElementName(Object obj)
Specified by:
getElementName in interface org.jaxen.Navigator

getElementNamespaceUri

public String getElementNamespaceUri(Object obj)
Specified by:
getElementNamespaceUri in interface org.jaxen.Navigator

getAttributeName

public String getAttributeName(Object obj)
Specified by:
getAttributeName in interface org.jaxen.Navigator

getAttributeNamespaceUri

public String getAttributeNamespaceUri(Object obj)
Specified by:
getAttributeNamespaceUri in interface org.jaxen.Navigator

getChildAxisIterator

public Iterator getChildAxisIterator(Object contextNode)
Where the given context node is a SDO Property, gets the actual value of the property wrapped in a CoreXPathValue and Iterator. This wrapper approach supports subsequent navigator tests for isText() where we want any Data Object value to be thought of as XML text and be returned. In particular we want null values to be returned so that clients can at least detect if the XPath was navigated successfully.

Specified by:
getChildAxisIterator in interface org.jaxen.Navigator
Overrides:
getChildAxisIterator in class org.jaxen.DefaultNavigator
Parameters:
contextNode - the context node
See Also:
CoreXPathResult, DefaultNavigator.getChildAxisIterator(java.lang.Object)

getChildAxisIterator

public Iterator getChildAxisIterator(Object contextNode,
                                     String localName,
                                     String namespacePrefix,
                                     String namespaceURI)
Retrieves an Iterator over the child elements that match the supplied local name and namespace URI.

Specified by:
getChildAxisIterator in interface org.jaxen.NamedAccessNavigator
Parameters:
contextNode - the origin context node
localName - the local name of the children to return, always present
namespacePrefix - ignored; prefixes are not used when matching in XPath
namespaceURI - the URI of the namespace of the children to return
Returns:
an Iterator that traverses the named children, or null if none

getNamespaceAxisIterator

public Iterator getNamespaceAxisIterator(Object contextNode)
Specified by:
getNamespaceAxisIterator in interface org.jaxen.Navigator
Overrides:
getNamespaceAxisIterator in class org.jaxen.DefaultNavigator

getParentAxisIterator

public Iterator getParentAxisIterator(Object contextNode)
Specified by:
getParentAxisIterator in interface org.jaxen.Navigator
Overrides:
getParentAxisIterator in class org.jaxen.DefaultNavigator

getAttributeAxisIterator

public Iterator getAttributeAxisIterator(Object contextNode)
Specified by:
getAttributeAxisIterator in interface org.jaxen.Navigator
Overrides:
getAttributeAxisIterator in class org.jaxen.DefaultNavigator

getAttributeAxisIterator

public Iterator getAttributeAxisIterator(Object contextNode,
                                         String localName,
                                         String namespacePrefix,
                                         String namespaceURI)
Retrieves an Iterator over the attribute elements that match the supplied name.

Specified by:
getAttributeAxisIterator in interface org.jaxen.NamedAccessNavigator
Parameters:
contextNode - the origin context node
localName - the local name of the attributes to return, always present
namespacePrefix - the prefix of the namespace of the attributes to return
namespaceURI - the URI of the namespace of the attributes to return
Returns:
an Iterator that traverses the named attributes, not null

parseXPath

public org.jaxen.XPath parseXPath(String xpath)
                           throws org.jaxen.saxpath.SAXPathException
Returns a parsed form of the given XPath string, which will be suitable for queries on Data Graph documents.

Specified by:
parseXPath in interface org.jaxen.Navigator
Throws:
org.jaxen.saxpath.SAXPathException

getDocumentNode

public Object getDocumentNode(Object contextNode)
Specified by:
getDocumentNode in interface org.jaxen.Navigator
Overrides:
getDocumentNode in class org.jaxen.DefaultNavigator

getElementQName

public String getElementQName(Object obj)
Specified by:
getElementQName in interface org.jaxen.Navigator

getAttributeQName

public String getAttributeQName(Object obj)
Specified by:
getAttributeQName in interface org.jaxen.Navigator

getNamespaceStringValue

public String getNamespaceStringValue(Object obj)
Specified by:
getNamespaceStringValue in interface org.jaxen.Navigator

getNamespacePrefix

public String getNamespacePrefix(Object obj)
Specified by:
getNamespacePrefix in interface org.jaxen.Navigator

getTextStringValue

public String getTextStringValue(Object obj)
Specified by:
getTextStringValue in interface org.jaxen.Navigator

getAttributeStringValue

public String getAttributeStringValue(Object obj)
Specified by:
getAttributeStringValue in interface org.jaxen.Navigator

getElementStringValue

public String getElementStringValue(Object obj)
Specified by:
getElementStringValue in interface org.jaxen.Navigator

getProcessingInstructionTarget

public String getProcessingInstructionTarget(Object obj)
Specified by:
getProcessingInstructionTarget in interface org.jaxen.Navigator
Overrides:
getProcessingInstructionTarget in class org.jaxen.DefaultNavigator

getProcessingInstructionData

public String getProcessingInstructionData(Object obj)
Specified by:
getProcessingInstructionData in interface org.jaxen.Navigator
Overrides:
getProcessingInstructionData in class org.jaxen.DefaultNavigator

getCommentStringValue

public String getCommentStringValue(Object obj)
Specified by:
getCommentStringValue in interface org.jaxen.Navigator

translateNamespacePrefixToUri

public String translateNamespacePrefixToUri(String prefix,
                                            Object context)
Specified by:
translateNamespacePrefixToUri in interface org.jaxen.Navigator
Overrides:
translateNamespacePrefixToUri in class org.jaxen.DefaultNavigator

getDocument

public Object getDocument(String url)
                   throws org.jaxen.FunctionCallException
Specified by:
getDocument in interface org.jaxen.Navigator
Overrides:
getDocument in class org.jaxen.DefaultNavigator
Throws:
org.jaxen.FunctionCallException


Copyright © 2014. All rights reserved.