public class DocumentNavigator extends DefaultNavigator implements NamedAccessNavigator
This class is not intended for direct usage, but is used by the Jaxen engine during evaluation.
XPath
,
Serialized FormModifier and Type | Class and Description |
---|---|
private static class |
DocumentNavigator.Singleton
Singleton implementation.
|
Modifier and Type | Field and Description |
---|---|
private static long |
serialVersionUID |
Constructor and Description |
---|
DocumentNavigator() |
Modifier and Type | Method and Description |
---|---|
java.util.Iterator |
getAttributeAxisIterator(java.lang.Object contextNode)
Throws
UnsupportedAxisException . |
java.util.Iterator |
getAttributeAxisIterator(java.lang.Object contextNode,
java.lang.String localName,
java.lang.String namespacePrefix,
java.lang.String namespaceURI)
Retrieves an
Iterator over the attribute elements that
match the supplied name. |
java.lang.String |
getAttributeName(java.lang.Object obj)
Retrieve the local name of the given attribute node.
|
java.lang.String |
getAttributeNamespaceUri(java.lang.Object obj)
Retrieve the namespace URI of the given attribute node.
|
java.lang.String |
getAttributeQName(java.lang.Object obj)
Retrieve the qualified name of the given attribute node.
|
java.lang.String |
getAttributeStringValue(java.lang.Object obj)
Retrieve the string-value of an attribute node.
|
java.util.Iterator |
getChildAxisIterator(java.lang.Object contextNode)
Throws
UnsupportedAxisException |
java.util.Iterator |
getChildAxisIterator(java.lang.Object contextNode,
java.lang.String localName,
java.lang.String namespacePrefix,
java.lang.String namespaceURI)
Retrieves an
Iterator over the child elements that
match the supplied local name and namespace URI. |
java.lang.String |
getCommentStringValue(java.lang.Object obj)
Retrieve the string-value of a comment node.
|
java.lang.Object |
getDocument(java.lang.String url)
Default implementation that always returns null.
|
java.lang.Object |
getDocumentNode(java.lang.Object contextNode)
Returns the document node that contains the given context node.
|
java.lang.String |
getElementName(java.lang.Object obj)
Retrieve the local name of the given element node.
|
java.lang.String |
getElementNamespaceUri(java.lang.Object obj)
Retrieve the namespace URI of the given element node.
|
java.lang.String |
getElementQName(java.lang.Object obj)
Retrieve the qualified name of the given element node.
|
java.lang.String |
getElementStringValue(java.lang.Object obj)
Retrieve the string-value of an element node.
|
static Navigator |
getInstance() |
java.util.Iterator |
getNamespaceAxisIterator(java.lang.Object contextNode)
Throws
UnsupportedAxisException . |
java.lang.String |
getNamespacePrefix(java.lang.Object obj)
Retrieve the namespace prefix of a namespace node.
|
java.lang.String |
getNamespaceStringValue(java.lang.Object obj)
Retrieve the string-value of a namespace node.
|
java.util.Iterator |
getParentAxisIterator(java.lang.Object contextNode)
Throws
UnsupportedAxisException |
java.lang.String |
getProcessingInstructionData(java.lang.Object obj)
Retrieve the data of a processing-instruction.
|
java.lang.String |
getProcessingInstructionTarget(java.lang.Object obj)
Retrieve the target of a processing-instruction.
|
java.lang.String |
getTextStringValue(java.lang.Object obj)
Retrieve the string-value of a text node.
|
boolean |
isAttribute(java.lang.Object obj)
Returns whether the given object is an attribute node.
|
boolean |
isComment(java.lang.Object obj)
Returns whether the given object is a comment node.
|
boolean |
isDocument(java.lang.Object obj)
Returns whether the given object is a document node.
|
boolean |
isElement(java.lang.Object obj)
Returns whether the given object is an element node.
|
boolean |
isNamespace(java.lang.Object obj)
Returns whether the given object is a namespace node.
|
boolean |
isProcessingInstruction(java.lang.Object obj)
Returns whether the given object is a processing-instruction node.
|
boolean |
isText(java.lang.Object obj)
Returns whether the given object is a text node.
|
XPath |
parseXPath(java.lang.String xpath)
Returns a parsed form of the given XPath string, which will be suitable
for queries on JDOM documents.
|
java.lang.String |
translateNamespacePrefixToUri(java.lang.String prefix,
java.lang.Object context)
Translate a namespace prefix to a namespace URI, possibly
considering a particular element node.
|
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getParentNode, getPrecedingAxisIterator, getPrecedingSiblingAxisIterator, getSelfAxisIterator
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAncestorAxisIterator, getAncestorOrSelfAxisIterator, getDescendantAxisIterator, getDescendantOrSelfAxisIterator, getElementById, getFollowingAxisIterator, getFollowingSiblingAxisIterator, getNodeType, getParentNode, getPrecedingAxisIterator, getPrecedingSiblingAxisIterator, getSelfAxisIterator
private static final long serialVersionUID
public static Navigator getInstance()
public boolean isElement(java.lang.Object obj)
Navigator
public boolean isComment(java.lang.Object obj)
Navigator
public boolean isText(java.lang.Object obj)
Navigator
public boolean isAttribute(java.lang.Object obj)
Navigator
isAttribute
in interface Navigator
obj
- the object to testtrue
if the object is an attribute node,
else false
public boolean isProcessingInstruction(java.lang.Object obj)
Navigator
isProcessingInstruction
in interface Navigator
obj
- the object to testtrue
if the object is a processing-instruction node,
else false
public boolean isDocument(java.lang.Object obj)
Navigator
/
.isDocument
in interface Navigator
obj
- the object to testtrue
if the object is a document node,
else false
public boolean isNamespace(java.lang.Object obj)
Navigator
isNamespace
in interface Navigator
obj
- the object to testtrue
if the object is a namespace node,
else false
public java.lang.String getElementName(java.lang.Object obj)
Navigator
getElementName
in interface Navigator
obj
- the context element nodepublic java.lang.String getElementNamespaceUri(java.lang.Object obj)
Navigator
getElementNamespaceUri
in interface Navigator
obj
- the context element nodepublic java.lang.String getAttributeName(java.lang.Object obj)
Navigator
getAttributeName
in interface Navigator
obj
- the context attribute nodepublic java.lang.String getAttributeNamespaceUri(java.lang.Object obj)
Navigator
getAttributeNamespaceUri
in interface Navigator
obj
- the context attribute nodepublic java.util.Iterator getChildAxisIterator(java.lang.Object contextNode)
DefaultNavigator
UnsupportedAxisException
getChildAxisIterator
in interface Navigator
getChildAxisIterator
in class DefaultNavigator
contextNode
- the original context nodepublic java.util.Iterator getChildAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI)
Iterator
over the child elements that
match the supplied local name and namespace URI.getChildAxisIterator
in interface NamedAccessNavigator
contextNode
- the origin context nodelocalName
- the local name of the children to return, always presentnamespacePrefix
- ignored; prefixes are not used when matching in XPathnamespaceURI
- the URI of the namespace of the children to returnpublic java.util.Iterator getNamespaceAxisIterator(java.lang.Object contextNode)
DefaultNavigator
UnsupportedAxisException
. Subclasses that
support the namespace axis must override this method.getNamespaceAxisIterator
in interface Navigator
getNamespaceAxisIterator
in class DefaultNavigator
contextNode
- the original context nodepublic java.util.Iterator getParentAxisIterator(java.lang.Object contextNode)
DefaultNavigator
UnsupportedAxisException
getParentAxisIterator
in interface Navigator
getParentAxisIterator
in class DefaultNavigator
contextNode
- the original context nodepublic java.util.Iterator getAttributeAxisIterator(java.lang.Object contextNode)
DefaultNavigator
UnsupportedAxisException
. Subclasses that
support the attribute axis must override this method.getAttributeAxisIterator
in interface Navigator
getAttributeAxisIterator
in class DefaultNavigator
contextNode
- the original context nodepublic java.util.Iterator getAttributeAxisIterator(java.lang.Object contextNode, java.lang.String localName, java.lang.String namespacePrefix, java.lang.String namespaceURI)
Iterator
over the attribute elements that
match the supplied name.getAttributeAxisIterator
in interface NamedAccessNavigator
contextNode
- the origin context nodelocalName
- the local name of the attributes to return, always presentnamespacePrefix
- the prefix of the namespace of the attributes to returnnamespaceURI
- the URI of the namespace of the attributes to returnpublic XPath parseXPath(java.lang.String xpath) throws SAXPathException
parseXPath
in interface Navigator
xpath
- the XPath expressionSAXPathException
- if the string is not a syntactically
correct XPath expressionXPath
public java.lang.Object getDocumentNode(java.lang.Object contextNode)
Navigator
getDocumentNode
in interface Navigator
getDocumentNode
in class DefaultNavigator
contextNode
- the context nodeNavigator.isDocument(Object)
public java.lang.String getElementQName(java.lang.Object obj)
Navigator
getElementQName
in interface Navigator
obj
- the context element nodepublic java.lang.String getAttributeQName(java.lang.Object obj)
Navigator
getAttributeQName
in interface Navigator
obj
- the context attribute nodepublic java.lang.String getNamespaceStringValue(java.lang.Object obj)
Navigator
getNamespaceStringValue
in interface Navigator
obj
- the namespace nodepublic java.lang.String getNamespacePrefix(java.lang.Object obj)
Navigator
getNamespacePrefix
in interface Navigator
obj
- the namespace nodepublic java.lang.String getTextStringValue(java.lang.Object obj)
Navigator
getTextStringValue
in interface Navigator
obj
- the text nodepublic java.lang.String getAttributeStringValue(java.lang.Object obj)
Navigator
getAttributeStringValue
in interface Navigator
obj
- the attribute nodepublic java.lang.String getElementStringValue(java.lang.Object obj)
Navigator
getElementStringValue
in interface Navigator
obj
- the comment node.public java.lang.String getProcessingInstructionTarget(java.lang.Object obj)
Navigator
getProcessingInstructionTarget
in interface Navigator
getProcessingInstructionTarget
in class DefaultNavigator
obj
- the context processing-instruction nodepublic java.lang.String getProcessingInstructionData(java.lang.Object obj)
Navigator
getProcessingInstructionData
in interface Navigator
getProcessingInstructionData
in class DefaultNavigator
obj
- the context processing-instruction nodepublic java.lang.String getCommentStringValue(java.lang.Object obj)
Navigator
getCommentStringValue
in interface Navigator
obj
- the comment nodepublic java.lang.String translateNamespacePrefixToUri(java.lang.String prefix, java.lang.Object context)
Navigator
Strictly speaking, prefix-to-URI translation should occur irrespective of any element in the document. This method is provided to allow a non-conforming ease-of-use enhancement.
translateNamespacePrefixToUri
in interface Navigator
translateNamespacePrefixToUri
in class DefaultNavigator
prefix
- the prefix to translatecontext
- the element to consider during translationNamespaceContext
public java.lang.Object getDocument(java.lang.String url) throws FunctionCallException
DefaultNavigator
getDocument
in interface Navigator
getDocument
in class DefaultNavigator
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 malformed