org.enhydra.xml
Class ElementImpl

java.lang.Object
  |
  +--org.enhydra.xml.NodeImpl
        |
        +--org.enhydra.xml.ElementImpl
All Implemented Interfaces:
org.w3c.dom.Element, org.w3c.dom.Node, org.w3c.dom.NodeList
Direct Known Subclasses:
HashMapElement

public class ElementImpl
extends NodeImpl
implements org.w3c.dom.Element

Version:
1.0
Author:
Tweety A class representing a node in a meta-data tree, which implements the

Namespaces are ignored in this implementation. The terms "tag name" and "node name" are always considered to be synonymous.


Field Summary
protected  java.util.HashMap attributes
          A HashMap of AttrImpl nodes representing attributes.
 
Fields inherited from class org.enhydra.xml.NodeImpl
firstChild, lastChild, nextSibling, nodeName, nodeValue, numChildren, ownerDocument, parent, previousSibling, type
 
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE
 
Constructor Summary
  ElementImpl()
          Constructs an empty ElementImpl.
  ElementImpl(org.w3c.dom.Document ownerDoc, java.lang.String name)
          Constructs an ElementImpl with the given document owner and node name.
protected ElementImpl(org.w3c.dom.Document ownerDoc, java.lang.String nodeName, short type, java.lang.String value)
          Constructs an ElementImpl with the given document owner, node name, node type and node value.
  ElementImpl(ElementImpl element)
          Constructs a ElementImpl from the given node, without creating entire children subtree.
  ElementImpl(org.w3c.dom.Node node)
          Constructs an ElementImpl from a given node (creates the children subtree too), as a Node
  ElementImpl(org.w3c.dom.Node node, boolean deep)
          Constructs an ElementImpl from a given node, as a Node, and deep as boolean.
 
Method Summary
protected  void beginToString(java.lang.StringBuffer sb, Indent indent)
          Method beginToString for this class writes the xml begining tag string and all attributes.
 org.w3c.dom.Node cloneNode(boolean deep)
          Returns a duplicate of this node.
protected  void endToString(java.lang.StringBuffer sb, Indent indent)
          Method endToString for this class writes the xml ending tag string.
 java.lang.String getAttribute(java.lang.String name)
          Returns the value of the attribute with given name.
 org.w3c.dom.Attr getAttributeNode(java.lang.String name)
          Returns attribute value with given name of this node.
 org.w3c.dom.Attr getAttributeNodeNS(java.lang.String namespaceURI, java.lang.String localName)
          Equivalent to getAttributeNode(localName).
 java.lang.String getAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
          Equivalent to getAttribute(localName).
 org.w3c.dom.NamedNodeMap getAttributes()
          Returns all attribute nodes of this node.
 org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
          Returns all Element nodes with given name, searching by all sub nodes from this node.
 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI, java.lang.String localName)
          Equivalent to getElementsByTagName(localName).
 java.lang.String getTagName()
          Returns tag name of this node.
 boolean hasAttribute(java.lang.String name)
          Returns true, if this node has attribute with given name, otherwise false.
 boolean hasAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
          Equivalent to hasAttribute(localName).
 boolean hasAttributes()
          Returns true, if this node has attributes, otherwise false.
 boolean hasElementChildNodes()
          Returns true if this node has children nodes.
 org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild, org.w3c.dom.Node refChild)
          Inserts the node newChild before the existing child node refChild.
static org.w3c.dom.Element newInstance(org.w3c.dom.Document document)
          Creates new instance of ElementImpl from a given document as a Document.
 void removeAttribute(java.lang.String name)
          Removes attribute with the given name.
 org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
          Remove attribute from this node.
 void removeAttributeNS(java.lang.String namespaceURI, java.lang.String localName)
          Equivalent to removeAttribute(localName).
 org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
          Removes the child node indicated by oldChild from the list of children, and returns it.
 org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild, org.w3c.dom.Node oldChild)
          Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.
 void setAttribute(java.lang.String name, java.lang.String value)
          To the name attribute set value to value.
 org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
          Add new attribute to this node.
 org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
          Equivalent to setAttributeNode(newAttr).
 void setAttributeNS(java.lang.String namespaceURI, java.lang.String qualifiedName, java.lang.String value)
          Equivalent to setAttribute(qualifiedName, value).
 
Methods inherited from class org.enhydra.xml.NodeImpl
appendChild, getChildNodes, getFirstChild, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, initNodeImplChildren, isSupported, item, newCommentInstance, newDefaultInstance, newElementInstance, newTextInstance, normalize, setNodeValue, setPrefix, toString, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.w3c.dom.Node
appendChild, getChildNodes, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, hasChildNodes, isSupported, normalize, setNodeValue, setPrefix
 

Field Detail

attributes

protected java.util.HashMap attributes
A HashMap of AttrImpl nodes representing attributes.

Constructor Detail

ElementImpl

public ElementImpl()
Constructs an empty ElementImpl.


ElementImpl

public ElementImpl(ElementImpl element)
Constructs a ElementImpl from the given node, without creating entire children subtree.


ElementImpl

public ElementImpl(org.w3c.dom.Document ownerDoc,
                   java.lang.String name)
Constructs an ElementImpl with the given document owner and node name.

Parameters:
ownerDoc - the document owner of the node, as a Document.

ElementImpl

protected ElementImpl(org.w3c.dom.Document ownerDoc,
                      java.lang.String nodeName,
                      short type,
                      java.lang.String value)
Constructs an ElementImpl with the given document owner, node name, node type and node value.

Parameters:
ownerDoc - the document owner of the node, as a Document.
nodeName - the name of the node, as a String.
type - the type of the node, as a short.
value - the value of the node, as a String.

ElementImpl

public ElementImpl(org.w3c.dom.Node node)
Constructs an ElementImpl from a given node (creates the children subtree too), as a Node


ElementImpl

public ElementImpl(org.w3c.dom.Node node,
                   boolean deep)
Constructs an ElementImpl from a given node, as a Node, and deep as boolean.

Parameters:
deep - if true, recursively clone the subtree under the specified node; if false, clone only the node itself.
Method Detail

newInstance

public static org.w3c.dom.Element newInstance(org.w3c.dom.Document document)
Creates new instance of ElementImpl from a given document as a Document.

Parameters:
document - document.
Returns:
new Element node as a root of the Document.

insertBefore

public org.w3c.dom.Node insertBefore(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node refChild)
Inserts the node newChild before the existing child node refChild. If refChild is null, insert newChild at the end of the list of children.

Specified by:
insertBefore in interface org.w3c.dom.Node
Overrides:
insertBefore in class NodeImpl
Parameters:
newChild - the Node to insert.
refChild - the reference Node.
Returns:
the node being inserted.
Throws:
java.lang.IllegalArgumentException - if newChild is null.

replaceChild

public org.w3c.dom.Node replaceChild(org.w3c.dom.Node newChild,
                                     org.w3c.dom.Node oldChild)
Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.

Specified by:
replaceChild in interface org.w3c.dom.Node
Overrides:
replaceChild in class NodeImpl
Parameters:
newChild - the Node to insert.
oldChild - the Node to be replaced.
Returns:
the node replaced.
Throws:
java.lang.IllegalArgumentException - if newChild is null.

removeChild

public org.w3c.dom.Node removeChild(org.w3c.dom.Node oldChild)
Removes the child node indicated by oldChild from the list of children, and returns it.

Specified by:
removeChild in interface org.w3c.dom.Node
Overrides:
removeChild in class NodeImpl
Parameters:
oldChild - the Node to be removed.
Returns:
the node removed.
Throws:
java.lang.IllegalArgumentException - if oldChild is null.

cloneNode

public org.w3c.dom.Node cloneNode(boolean deep)
Returns a duplicate of this node. The duplicate node has no parent (getParentNode returns null). If a shallow clone is being performed (deep is false), the new node will not have any children or siblings. If a deep clone is being performed, the new node will form the root of a complete cloned subtree.

Specified by:
cloneNode in interface org.w3c.dom.Node
Overrides:
cloneNode in class NodeImpl
Parameters:
deep - if true, recursively clone the subtree under the specified node; if false, clone only the node itself.
Returns:
the duplicate node.

getTagName

public java.lang.String getTagName()
Returns tag name of this node.

Specified by:
getTagName in interface org.w3c.dom.Element
Returns:
tag name of this node as a String.

getAttributes

public org.w3c.dom.NamedNodeMap getAttributes()
Returns all attribute nodes of this node.

Specified by:
getAttributes in interface org.w3c.dom.Node
Overrides:
getAttributes in class NodeImpl
Returns:
all attribute nodes of this node as a NamedNodeMap.

getAttribute

public java.lang.String getAttribute(java.lang.String name)
Returns the value of the attribute with given name.

Specified by:
getAttribute in interface org.w3c.dom.Element
Parameters:
name - name of attribute.
Returns:
value of attribute.

getAttributeNS

public java.lang.String getAttributeNS(java.lang.String namespaceURI,
                                       java.lang.String localName)
Equivalent to getAttribute(localName).

Specified by:
getAttributeNS in interface org.w3c.dom.Element
See Also:
setAttributeNS(java.lang.String, java.lang.String, java.lang.String)

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
To the name attribute set value to value.

Specified by:
setAttribute in interface org.w3c.dom.Element
Parameters:
name - attribute value.
value - new attribute value.

setAttributeNS

public void setAttributeNS(java.lang.String namespaceURI,
                           java.lang.String qualifiedName,
                           java.lang.String value)
Equivalent to setAttribute(qualifiedName, value).

Specified by:
setAttributeNS in interface org.w3c.dom.Element
See Also:
getAttributeNS(java.lang.String, java.lang.String)

removeAttribute

public void removeAttribute(java.lang.String name)
Removes attribute with the given name.

Specified by:
removeAttribute in interface org.w3c.dom.Element
Parameters:
name - attribute name.

hasAttributes

public boolean hasAttributes()
Returns true, if this node has attributes, otherwise false.

Specified by:
hasAttributes in interface org.w3c.dom.Node
Overrides:
hasAttributes in class NodeImpl
Returns:
true if node has attributes, otherwise false..

hasAttribute

public boolean hasAttribute(java.lang.String name)
Returns true, if this node has attribute with given name, otherwise false.

Specified by:
hasAttribute in interface org.w3c.dom.Element
Returns:
true if node has given attribute, otherwise false..

removeAttributeNS

public void removeAttributeNS(java.lang.String namespaceURI,
                              java.lang.String localName)
Equivalent to removeAttribute(localName).

Specified by:
removeAttributeNS in interface org.w3c.dom.Element

getAttributeNode

public org.w3c.dom.Attr getAttributeNode(java.lang.String name)
Returns attribute value with given name of this node.

Specified by:
getAttributeNode in interface org.w3c.dom.Element
Parameters:
name - name of attribute.
Returns:
value of attribute.

getAttributeNodeNS

public org.w3c.dom.Attr getAttributeNodeNS(java.lang.String namespaceURI,
                                           java.lang.String localName)
Equivalent to getAttributeNode(localName).

Specified by:
getAttributeNodeNS in interface org.w3c.dom.Element
See Also:
setAttributeNodeNS(org.w3c.dom.Attr)

setAttributeNode

public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
                                  throws org.w3c.dom.DOMException
Add new attribute to this node.

Specified by:
setAttributeNode in interface org.w3c.dom.Element
Parameters:
newAttr - new attribute.
Returns:
new attribute as AttrImpl.
org.w3c.dom.DOMException

setAttributeNodeNS

public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr newAttr)
Equivalent to setAttributeNode(newAttr).

Specified by:
setAttributeNodeNS in interface org.w3c.dom.Element
See Also:
getAttributeNodeNS(java.lang.String, java.lang.String)

removeAttributeNode

public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
Remove attribute from this node.

Specified by:
removeAttributeNode in interface org.w3c.dom.Element
Parameters:
oldAttr - attribute that will be removed.
Returns:
old attribute as AttrImpl.

hasAttributeNS

public boolean hasAttributeNS(java.lang.String namespaceURI,
                              java.lang.String localName)
Equivalent to hasAttribute(localName).

Specified by:
hasAttributeNS in interface org.w3c.dom.Element

getElementsByTagName

public org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
Returns all Element nodes with given name, searching by all sub nodes from this node.

Specified by:
getElementsByTagName in interface org.w3c.dom.Element
Parameters:
name - tag name.
Returns:
all Element vith given name as NodeList.

getElementsByTagNameNS

public org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String namespaceURI,
                                                   java.lang.String localName)
Equivalent to getElementsByTagName(localName).

Specified by:
getElementsByTagNameNS in interface org.w3c.dom.Element

hasElementChildNodes

public boolean hasElementChildNodes()
Returns true if this node has children nodes.

Returns:
true if this node has children.

beginToString

protected void beginToString(java.lang.StringBuffer sb,
                             Indent indent)
Method beginToString for this class writes the xml begining tag string and all attributes.

Overrides:
beginToString in class NodeImpl
Parameters:
sb - string buffer to add resulting string.
indent - used in formating the output.

endToString

protected void endToString(java.lang.StringBuffer sb,
                           Indent indent)
Method endToString for this class writes the xml ending tag string.

Overrides:
endToString in class NodeImpl
Parameters:
sb - string buffer to add resulting string.
indent - used in formating the output.


Copyright © 2002-2003 Together - the Workgroup. All Rights Reserved.