org.ozoneDB.xml.dom4j.o3impl
Class AbstractNamespace

java.lang.Object
  extended byorg.ozoneDB.OzoneObject
      extended byorg.ozoneDB.xml.dom4j.o3impl.AbstractNode
          extended byorg.ozoneDB.xml.dom4j.o3impl.AbstractNamespace
All Implemented Interfaces:
java.lang.Cloneable, Namespace, Node, org.ozoneDB.OzoneCompatible, org.ozoneDB.OzoneCompatibleOrProxy, java.io.Serializable
Direct Known Subclasses:
DefaultNamespace

public class AbstractNamespace
extends AbstractNode
implements Namespace

AbstractNamespace is a Flyweight Namespace that can be shared amongst nodes.

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

Field Summary
 
Fields inherited from class org.ozoneDB.xml.dom4j.o3impl.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
AbstractNamespace(java.lang.String prefix, java.lang.String uri)
           
 
Method Summary
 void accept(Visitor visitor)
          accept is the method used in the Visitor Pattern.
 java.lang.String asXML()
          asXML returns the textual XML representation of this node.
protected  int createHashCode()
          Factory method to create the hashcode allowing derived classes to change the behaviour
protected  Node createXPathResult(Element parent)
           
 boolean equals(java.lang.Object object)
           
 short getNodeType()
          Returns the code according to the type of node.
 java.lang.String getPath(Element context)
          Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c.
 java.lang.String getPrefix()
           
 java.lang.String getStringValue()
          Returns the XPath string-value of this node.
 java.lang.String getText()
          Returns the text of this node.
 java.lang.String getUniquePath(Element context)
          Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node.
 java.lang.String getURI()
           
 java.lang.String getXPathNameStep()
           
 int hashCode()
           
 java.lang.String toString()
           
 
Methods inherited from class org.ozoneDB.xml.dom4j.o3impl.AbstractNode
asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getName, getNodeFactory, getNodeTypeName, getParent, getPath, getUniquePath, getXPathFactory, hasContent, isReadOnly, matches, numberValueOf, onCreate, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setDocumentFactory, setName, setNodeFactory, setParent, setText, setXPathFactory, supportsParent, valueOf, write
 
Methods inherited from class org.ozoneDB.OzoneObject
container, database, deleteRecursive, getHandle, getObjectID, handle, onActivate, onDelete, onPassivate, requireWriteLocking, self, setContainer, toXML
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.dom4j.Node
asXPathResult, clone, createXPath, detach, getDocument, getName, getNodeTypeName, getParent, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, write
 

Constructor Detail

AbstractNamespace

public AbstractNamespace(java.lang.String prefix,
                         java.lang.String uri)
Parameters:
prefix - is the prefix for this namespace
uri - is the URI for this namespace
Method Detail

getNodeType

public short getNodeType()
Description copied from interface: Node
Returns the code according to the type of node. This makes processing nodes polymorphically much easier as the switch statement can be used instead of multiple if (instanceof) statements.

Specified by:
getNodeType in interface Node
Overrides:
getNodeType in class AbstractNode

hashCode

public int hashCode()
Returns:
the hash code based on the qualified name and the URI of the namespace.

createHashCode

protected int createHashCode()
Factory method to create the hashcode allowing derived classes to change the behaviour


equals

public boolean equals(java.lang.Object object)

getText

public java.lang.String getText()
Description copied from interface: Node

Returns the text of this node.

Specified by:
getText in interface Node
Overrides:
getText in class AbstractNode

getStringValue

public java.lang.String getStringValue()
Description copied from interface: Node
Returns the XPath string-value of this node. The behaviour of this method is defined in the XPath specification.

Specified by:
getStringValue in interface Node
Overrides:
getStringValue in class AbstractNode

getPrefix

public java.lang.String getPrefix()
Specified by:
getPrefix in interface Namespace
Returns:
the prefix for this AbstractNamespace.

getURI

public java.lang.String getURI()
Specified by:
getURI in interface Namespace
Returns:
the URI for this AbstractNamespace.

getXPathNameStep

public java.lang.String getXPathNameStep()
Specified by:
getXPathNameStep in interface Namespace

getPath

public java.lang.String getPath(Element context)
Description copied from interface: Node

Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c. No indexing will be used to restrict the path if multiple elements with the same name occur on the path.

Specified by:
getPath in interface Node
Parameters:
context - is the parent context from which the relative path should start. If the context is null or the context is not an ancestor of this node then the path will be absolute and start from the document and so begin with the '/' character.
Returns:
the XPath expression relative to the given context which will return a nodeset containing at least this node.

getUniquePath

public java.lang.String getUniquePath(Element context)
Description copied from interface: Node

Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node. This method will use the XPath index operator to restrict the path if multiple elements with the same name occur on the path.

Specified by:
getUniquePath in interface Node
Parameters:
context - is the parent context from which the path should start. If the context is null or the context is not an ancestor of this node then the path will start from the document and so begin with the '/' character.
Returns:
the XPath expression relative to the given context which will return a nodeset containing just this node.

toString

public java.lang.String toString()

asXML

public java.lang.String asXML()
Description copied from interface: Node

asXML returns the textual XML representation of this node.

Specified by:
asXML in interface Node
Returns:
the XML representation of this node

accept

public void accept(Visitor visitor)
Description copied from interface: Node

accept is the method used in the Visitor Pattern.

Specified by:
accept in interface Node
Parameters:
visitor - is the visitor in the Visitor Pattern

createXPathResult

protected Node createXPathResult(Element parent)
Overrides:
createXPathResult in class AbstractNode


Copyright © 2004 The Ozone Database Project - www.ozone-db.org. All Rights Reserved.