Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.jaxen
Class DefaultNavigator

    java.lang.Object
      org.jaxen.DefaultNavigator

All Implemented Interfaces:
  Navigator, Serializable

Direct Known Subclasses:
  DocumentNavigator, DocumentNavigator, DocumentNavigator, DocumentNavigator, DocumentNavigator

public abstract class DefaultNavigator
extends Object
implements Navigator

Default implementation of `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.

Author:
  bob mcwhirter (bob@werken.com), Erwin Bolwidt (ejb@klomp.org)
See Also:
  Serialized Form

Constructor Summary
`DefaultNavigator()`

Method Summary
`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)` Throws `UnsupportedAxisException`.
`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 the document node that contains the given context node.
`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 implementation that cannot find parent.
`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 obj)` Retrieve the data of a processing-instruction.
`String` | `getProcessingInstructionTarget(Object obj)` Retrieve the target of a processing-instruction.
`Iterator` | `getSelfAxisIterator(Object contextNode)` Retrieve an `Iterator` matching the `self` XPath axis.
`String` | `translateNamespacePrefixToUri(String prefix, Object element)` Translate a namespace prefix to a namespace URI, possibly considering a particular element node.

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
`getAttributeName, getAttributeNamespaceUri, getAttributeQName, getAttributeStringValue, getCommentStringValue, getElementName, getElementNamespaceUri, getElementQName, getElementStringValue, getNamespacePrefix, getNamespaceStringValue, getTextStringValue, isAttribute, isComment, isDocument, isElement, isNamespace, isProcessingInstruction, isText, parseXPath`

Constructor Detail

### DefaultNavigator

    public DefaultNavigator()

Method Detail

### getChildAxisIterator

    public Iterator getChildAxisIterator(Object contextNode)
                                  throws UnsupportedAxisException

  Throws `UnsupportedAxisException`

  Specified by:
    `getChildAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` -
  Returns:
    never returns
  Throws:
    `UnsupportedAxisException` - always

### getDescendantAxisIterator

    public Iterator getDescendantAxisIterator(Object contextNode)
                                       throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `descendant` XPath axis.

  Specified by:
    `getDescendantAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the desscendant axis are not supported by this object model

### getParentAxisIterator

    public Iterator getParentAxisIterator(Object contextNode)
                                   throws UnsupportedAxisException

  Throws `UnsupportedAxisException`

  Specified by:
    `getParentAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` -
  Returns:
    never returns
  Throws:
    `UnsupportedAxisException`

### getAncestorAxisIterator

    public Iterator getAncestorAxisIterator(Object contextNode)
                                     throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `ancestor` XPath axis.

  Specified by:
    `getAncestorAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the ancestor axis are not supported by this object model

### getFollowingSiblingAxisIterator

    public Iterator getFollowingSiblingAxisIterator(Object contextNode)
                                             throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `following-sibling` XPath axis.

  Specified by:
    `getFollowingSiblingAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the following-sibling axis are not supported by this object model

### getPrecedingSiblingAxisIterator

    public Iterator getPrecedingSiblingAxisIterator(Object contextNode)
                                             throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `preceding-sibling` XPath axis.

  Specified by:
    `getPrecedingSiblingAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the preceding-sibling axis are not supported by this object model

### getFollowingAxisIterator

    public Iterator getFollowingAxisIterator(Object contextNode)
                                      throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `following` XPath axis.

  Specified by:
    `getFollowingAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the following axis are not supported by this object model

### getPrecedingAxisIterator

    public Iterator getPrecedingAxisIterator(Object contextNode)
                                      throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `preceding` XPath axis.

  Specified by:
    `getPrecedingAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the preceding axis are not supported by this object model

### getAttributeAxisIterator

    public Iterator getAttributeAxisIterator(Object contextNode)
                                      throws UnsupportedAxisException

  Throws `UnsupportedAxisException`. Subclasses that support the attribute axis must override this method.

  Specified by:
    `getAttributeAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` -
  Returns:
    never returns
  Throws:
    `UnsupportedAxisException`

### getNamespaceAxisIterator

    public Iterator getNamespaceAxisIterator(Object contextNode)
                                      throws UnsupportedAxisException

  Throws `UnsupportedAxisException`. Subclasses that support the namespace axis must override this method.

  Specified by:
    `getNamespaceAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` -
  Returns:
    never returns
  Throws:
    `UnsupportedAxisException`

### getSelfAxisIterator

    public Iterator getSelfAxisIterator(Object contextNode)
                                 throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `self` XPath axis.

  Specified by:
    `getSelfAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the self axis are not supported by this object model

### getDescendantOrSelfAxisIterator

    public Iterator getDescendantOrSelfAxisIterator(Object contextNode)
                                             throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `descendant-or-self` XPath axis.

  Specified by:
    `getDescendantOrSelfAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the descendant-or-self axis are not supported by this object model

### getAncestorOrSelfAxisIterator

    public Iterator getAncestorOrSelfAxisIterator(Object contextNode)
                                           throws UnsupportedAxisException

  Description copied from interface: `Navigator`
  Retrieve an `Iterator` matching the `ancestor-or-self` XPath axis.

  Specified by:
    `getAncestorOrSelfAxisIterator` in interface `Navigator`
  Parameters:
    `contextNode` - the original context node
  Returns:
    an Iterator capable of traversing the axis, not null
  Throws:
    `UnsupportedAxisException` - if the semantics of the ancestor-or-self axis are not supported by this object model

### getDocumentNode

    public Object getDocumentNode(Object contextNode)

  Description copied from interface: `Navigator`
  Returns the document node that contains the given context node.

  Specified by:
    `getDocumentNode` in interface `Navigator`
  Parameters:
    `contextNode` - the context node
  Returns:
    the document of the context node
  See Also:
    `Navigator.isDocument(Object)`

### translateNamespacePrefixToUri

    public String translateNamespacePrefixToUri(String prefix,
                                                Object element)

  Description copied from interface: `Navigator`
  Translate a namespace prefix to a namespace URI, possibly considering a particular element node.

  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.

  Specified by:
    `translateNamespacePrefixToUri` in interface `Navigator`
  Parameters:
    `prefix` - the prefix to translate
    `element` - the element to consider during translation
  Returns:
    the namespace URI associated with the prefix
  See Also:
    `NamespaceContext`

### getProcessingInstructionTarget

    public String getProcessingInstructionTarget(Object obj)

  Description copied from interface: `Navigator`
  Retrieve the target of a processing-instruction.

  Specified by:
    `getProcessingInstructionTarget` in interface `Navigator`
  Parameters:
    `obj` - the context processing-instruction node
  Returns:
    the target of the processing-instruction node

### getProcessingInstructionData

    public String getProcessingInstructionData(Object obj)

  Description copied from interface: `Navigator`
  Retrieve the data of a processing-instruction.

  Specified by:
    `getProcessingInstructionData` in interface `Navigator`
  Parameters:
    `obj` - the context processing-instruction node
  Returns:
    the data of the processing-instruction node

### getNodeType

    public short getNodeType(Object node)

  Description copied from interface: `Navigator`
  Returns a number that identifies the type of node that the given object represents in this navigator.

  Specified by:
    `getNodeType` in interface `Navigator`
  Parameters:
    `node` - ????
  Returns:
    ????
  See Also:
    `Pattern`

### getParentNode

    public Object getParentNode(Object contextNode)
                         throws UnsupportedAxisException

  Default implementation that cannot find parent. Subclasses for models with parent should override this method.

  Specified by:
    `getParentNode` in interface `Navigator`
  Parameters:
    `contextNode` - the node whose parent to return
  Returns:
    null
  Throws:
    `UnsupportedAxisException` - if the parent axis is not supported
  See Also:
    `Navigator.isDocument(java.lang.Object)`, `Navigator.isElement(java.lang.Object)`

### getDocument

    public Object getDocument(String url)
                       throws FunctionCallException

  Default implementation that always returns null. Override in subclass if the subclass can load documents.

  Specified by:
    `getDocument` in interface `Navigator`
  Parameters:
    `url` - the URL of the document to load
  Returns:
    null
  Throws:
    `FunctionCallException` - if an error occurs while loading the URL; e.g. an I/O error or the document is malformed

### getElementById

    public Object getElementById(Object contextNode,
                                 String elementId)

  Default implementation that cannot find elements. Override in subclass if subclass does know about attribute types.

  Specified by:
    `getElementById` in interface `Navigator`
  Parameters:
    `contextNode` - a node from the document in which to look for the id
    `elementId` - id to look for
  Returns:
    null

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2005 Codehaus. All Rights Reserved.