public abstract class DefaultNavigator extends Object implements Navigator
Navigator
.
This implementation is an abstract class, since some required operations cannot be implemented without additional knowledge of the object model.
When possible, default method implementations build upon each other, to reduce the number of methods required to be implemented for each object model. All methods, of course, may be overridden, to provide more-efficient implementations.
Constructor and Description |
---|
DefaultNavigator() |
Modifier and Type | Method and Description |
---|---|
Iterator |
getAncestorAxisIterator(Object contextNode)
Retrieve an
Iterator matching the ancestor
XPath axis. |
Iterator |
getAncestorOrSelfAxisIterator(Object contextNode)
Retrieve an
Iterator matching the
ancestor-or-self XPath axis. |
Iterator |
getAttributeAxisIterator(Object contextNode)
Retrieve an
Iterator matching the attribute
XPath axis. |
Iterator |
getChildAxisIterator(Object contextNode)
Throws
UnsupportedAxisException . |
Iterator |
getDescendantAxisIterator(Object contextNode)
Retrieve an
Iterator matching the descendant
XPath axis. |
Iterator |
getDescendantOrSelfAxisIterator(Object contextNode)
Retrieve an
Iterator matching the
descendant-or-self XPath axis. |
Object |
getDocument(String url)
Default implementation that always returns null.
|
Object |
getDocumentNode(Object contextNode)
Returns null.
|
Object |
getElementById(Object contextNode,
String elementId)
Default implementation that cannot find elements.
|
Iterator |
getFollowingAxisIterator(Object contextNode)
Retrieve an
Iterator matching the following
XPath axis. |
Iterator |
getFollowingSiblingAxisIterator(Object contextNode)
Retrieve an
Iterator matching the
following-sibling XPath axis. |
Iterator |
getNamespaceAxisIterator(Object contextNode)
Throws
UnsupportedAxisException . |
short |
getNodeType(Object node)
Returns a number that identifies the type of node that the given
object represents in this navigator.
|
Iterator |
getParentAxisIterator(Object contextNode)
Throws
UnsupportedAxisException . |
Object |
getParentNode(Object contextNode)
Default inefficient implementation.
|
Iterator |
getPrecedingAxisIterator(Object contextNode)
Retrieve an
Iterator matching the preceding XPath axis. |
Iterator |
getPrecedingSiblingAxisIterator(Object contextNode)
Retrieve an
Iterator matching the
preceding-sibling XPath axis. |
String |
getProcessingInstructionData(Object contextNode)
Returns null.
|
String |
getProcessingInstructionTarget(Object contextNode)
Returns null.
|
Iterator |
getSelfAxisIterator(Object contextNode)
Retrieve an
Iterator matching the self XPath
axis. |
String |
translateNamespacePrefixToUri(String prefix,
Object contextNode)
Returns null.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAttributeName, getAttributeNamespaceUri, getAttributeQName, getAttributeStringValue, getCommentStringValue, getElementName, getElementNamespaceUri, getElementQName, getElementStringValue, getNamespacePrefix, getNamespaceStringValue, getTextStringValue, isAttribute, isComment, isDocument, isElement, isNamespace, isProcessingInstruction, isText, parseXPath
public Iterator getChildAxisIterator(Object contextNode) throws UnsupportedAxisException
UnsupportedAxisException
.
Subclasses should override this method.getChildAxisIterator
in interface Navigator
contextNode
- the node to start fromUnsupportedAxisException
- alwayspublic Iterator getDescendantAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the descendant
XPath axis.getDescendantAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the desscendant axis are
not supported by this object modelpublic Iterator getParentAxisIterator(Object contextNode) throws UnsupportedAxisException
UnsupportedAxisException
.
Subclasses should override this method.getParentAxisIterator
in interface Navigator
contextNode
- the node to start fromUnsupportedAxisException
- alwayspublic Iterator getAncestorAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the ancestor
XPath axis.getAncestorAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the ancestor axis are
not supported by this object modelpublic Iterator getFollowingSiblingAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the
following-sibling
XPath axis.getFollowingSiblingAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the following-sibling axis are
not supported by this object modelpublic Iterator getPrecedingSiblingAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the
preceding-sibling
XPath axis.getPrecedingSiblingAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the preceding-sibling axis are
not supported by this object modelpublic Iterator getFollowingAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the following
XPath axis.getFollowingAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the following axis are
not supported by this object modelpublic Iterator getPrecedingAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the preceding
XPath axis.getPrecedingAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the preceding axis are
not supported by this object modelpublic Iterator getAttributeAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the attribute
XPath axis.getAttributeAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the attribute axis are
not supported by this object modelpublic Iterator getNamespaceAxisIterator(Object contextNode) throws UnsupportedAxisException
UnsupportedAxisException
. Subclasses that
support the namespace axis must override this method.getNamespaceAxisIterator
in interface Navigator
contextNode
- the node to start fromUnsupportedAxisException
- alwayspublic Iterator getSelfAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the self
XPath
axis.getSelfAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the self axis are
not supported by this object modelpublic Iterator getDescendantOrSelfAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the
descendant-or-self
XPath axis.getDescendantOrSelfAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the descendant-or-self axis are
not supported by this object modelpublic Iterator getAncestorOrSelfAxisIterator(Object contextNode) throws UnsupportedAxisException
Iterator
matching the
ancestor-or-self
XPath axis.getAncestorOrSelfAxisIterator
in interface Navigator
contextNode
- the original context nodeUnsupportedAxisException
- if the semantics of the ancestor-or-self axis are
not supported by this object modelpublic Object getDocumentNode(Object contextNode)
getDocumentNode
in interface Navigator
contextNode
- the node to start fromNavigator.isDocument(Object)
public String translateNamespacePrefixToUri(String prefix, Object contextNode)
translateNamespacePrefixToUri
in interface Navigator
contextNode
- the node to start fromprefix
- the prefix to translateNamespaceContext
public String getProcessingInstructionTarget(Object contextNode)
getProcessingInstructionTarget
in interface Navigator
contextNode
- the node to start frompublic String getProcessingInstructionData(Object contextNode)
getProcessingInstructionData
in interface Navigator
contextNode
- the node to start frompublic short getNodeType(Object node)
getNodeType
in interface Navigator
node
- ????Pattern
public Object getParentNode(Object contextNode) throws UnsupportedAxisException
getParentNode
in interface Navigator
contextNode
- the node whose parent to returnUnsupportedAxisException
- if the parent axis is not supportedNavigator.isDocument(java.lang.Object)
,
Navigator.isElement(java.lang.Object)
public Object getDocument(String url) throws FunctionCallException
getDocument
in interface Navigator
url
- the URL of the document to loadFunctionCallException
- if an error occurs while loading the
URL; e.g. an I/O error or the document is malformedpublic Object getElementById(Object contextNode, String elementId)
getElementById
in interface Navigator
contextNode
- a node from the document in which to look for the idelementId
- id to look forCopyright 2001–2022 The Jaxen Project. All rights reserved.