## org.dom4j.tree
Class DefaultNamespace

    java.lang.Object
      org.dom4j.tree.AbstractNode
          org.dom4j.Namespace
              org.dom4j.tree.DefaultNamespace

All Implemented Interfaces:
  Cloneable, Node, Serializable

Direct Known Subclasses:
  DOMNamespace

public class DefaultNamespace
extends Namespace

`DefaultNamespace` implements a doubly linked node which supports the parent relationship and is mutable. It is useful when returning results from XPath expressions.

Version:
  $Revision: 1.16 $
Author:
  James Strachan
See Also:
  Serialized Form

Field Summary

Fields inherited from class org.dom4j.Namespace
`CACHE, NO_NAMESPACE, XML_NAMESPACE`

Fields inherited from class org.dom4j.tree.AbstractNode
`NODE_TYPE_NAMES`

Fields inherited from interface org.dom4j.Node
`ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE`

Constructor Summary
`DefaultNamespace(Element parent, String prefix, String uri)` DOCUMENT ME!
`DefaultNamespace(String prefix, String uri)` DOCUMENT ME!

Method Summary
`protected int` `createHashCode()` DOCUMENT ME!
`boolean` `equals(Object object)` Implements an identity based comparsion using the parent element as well as the prefix and URI
`Element` `getParent()` `getParent` returns the parent `Element` if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.
`int` `hashCode()` DOCUMENT ME!
`boolean` `isReadOnly()` `isReadOnly` returns true if this node is read only and cannot be modified.
`void` `setParent(Element parent)` `setParent` sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.
`boolean` `supportsParent()` `supportsParent` returns true if this node supports the parent relationship.

Methods inherited from class org.dom4j.Namespace
`accept, asXML, createXPathResult, get, get, getNodeType, getPath, getPrefix, getStringValue, getText, getUniquePath, getURI, getXPathNameStep, toString`

Methods inherited from class org.dom4j.tree.AbstractNode
`asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getName, getNodeTypeName, getPath, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setText, valueOf, write`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DefaultNamespace

    public DefaultNamespace(String prefix,
                            String uri)

  DOCUMENT ME!

Parameters:
  `prefix` - is the prefix for this namespace
  `uri` - is the URI for this namespace

### DefaultNamespace

    public DefaultNamespace(Element parent,
                            String prefix,
                            String uri)

  DOCUMENT ME!

Parameters:
  `parent` - is the parent element
  `prefix` - is the prefix for this namespace
  `uri` - is the URI for this namespace

Method Detail

### createHashCode

    protected int createHashCode()

  DOCUMENT ME!

  Overrides:
    `createHashCode` in class `Namespace`
  Returns:
    the hash code based on the qualified name and the URI of the namespace and the hashCode() of the parent element.

### equals

    public boolean equals(Object object)

  Implements an identity based comparsion using the parent element as well as the prefix and URI

  Overrides:
    `equals` in class `Namespace`
  Parameters:
    `object` - DOCUMENT ME!
  Returns:
    DOCUMENT ME!

### hashCode

    public int hashCode()

  Description copied from class: `Namespace`
  DOCUMENT ME!

  Overrides:
    `hashCode` in class `Namespace`
  Returns:
    the hash code based on the qualified name and the URI of the namespace.

### getParent

    public Element getParent()

  Description copied from interface: `Node`

  `getParent` returns the parent `Element` if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.

  This method is an optional feature and may not be supported for all `Node` implementations.

  Specified by:
    `getParent` in interface `Node`
  Overrides:
    `getParent` in class `AbstractNode`

### setParent

    public void setParent(Element parent)

  Description copied from interface: `Node`

  `setParent` sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.

  This method should only be called from inside an `Element` implementation method and is not intended for general use.

  Specified by:
    `setParent` in interface `Node`
  Overrides:
    `setParent` in class `AbstractNode`

### supportsParent

    public boolean supportsParent()

  Description copied from interface: `Node`

  `supportsParent` returns true if this node supports the parent relationship.

  Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.

  Specified by:
    `supportsParent` in interface `Node`
  Overrides:
    `supportsParent` in class `AbstractNode`

### isReadOnly

    public boolean isReadOnly()

  Description copied from interface: `Node`

  `isReadOnly` returns true if this node is read only and cannot be modified. Any attempt to modify a read-only `Node` will result in an `UnsupportedOperationException` being thrown.

  Specified by:
    `isReadOnly` in interface `Node`
  Overrides:
    `isReadOnly` in class `AbstractNode`

Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.