org.dom4j.tree
Class DefaultNamespace

java.lang.Object
  extended byorg.dom4j.tree.AbstractNode
      extended byorg.dom4j.Namespace
          extended byorg.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.