EAF 7.4 Util

org.enhydra.xml
Class ElementImpl

java.lang.Object
  extended by org.enhydra.xml.NodeImpl
      extended by 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.
static int MASK_NAME
          Name character mask.
static int MASK_NAME_START
          Name start character mask.
 
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_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, 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.
 short compareDocumentPosition(org.w3c.dom.Node arg0)
           
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.
 java.lang.String getBaseURI()
           
 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.Object getFeature(java.lang.String arg0, java.lang.String arg1)
           
 java.lang.String getNamespaceURI()
           
 org.w3c.dom.TypeInfo getSchemaTypeInfo()
           
 java.lang.String getTagName()
          Returns tag name of this node.
 java.lang.String getTextContent()
           
 java.lang.Object getUserData(java.lang.String arg0)
           
 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.
 boolean isDefaultNamespace(java.lang.String arg0)
           
 boolean isEqualNode(org.w3c.dom.Node arg0)
           
 boolean isSameNode(org.w3c.dom.Node arg0)
           
static boolean isValidName(java.lang.String name)
          Check to see if a string is a valid Name according to [5] in the XML 1.0 Recommendation
 java.lang.String lookupNamespaceURI(java.lang.String arg0)
           
 java.lang.String lookupPrefix(java.lang.String arg0)
           
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).
 void setIdAttribute(java.lang.String arg0, boolean arg1)
           
 void setIdAttributeNode(org.w3c.dom.Attr arg0, boolean arg1)
           
 void setIdAttributeNS(java.lang.String arg0, java.lang.String arg1, boolean arg2)
           
 void setTextContent(java.lang.String arg0)
           
 java.lang.Object setUserData(java.lang.String arg0, java.lang.Object arg1, org.w3c.dom.UserDataHandler arg2)
           
 
Methods inherited from class org.enhydra.xml.NodeImpl
appendChild, getChildNodes, getFirstChild, getLastChild, getLength, getLocalName, 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, 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.


MASK_NAME_START

public static final int MASK_NAME_START
Name start character mask.

See Also:
Constant Field Values

MASK_NAME

public static final int MASK_NAME
Name character mask.

See Also:
Constant Field Values
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.

Parameters:
element, - as a ElementImpl.

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.
nodeName - the name of the node, as a String.

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

Parameters:
node, - 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:
node, - as a Node.
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.
Throws:
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.

isValidName

public static boolean isValidName(java.lang.String name)
Check to see if a string is a valid Name according to [5] in the XML 1.0 Recommendation

Parameters:
name - string to check
Returns:
true if name is a valid Name

getSchemaTypeInfo

public org.w3c.dom.TypeInfo getSchemaTypeInfo()
Specified by:
getSchemaTypeInfo in interface org.w3c.dom.Element

setIdAttribute

public void setIdAttribute(java.lang.String arg0,
                           boolean arg1)
                    throws org.w3c.dom.DOMException
Specified by:
setIdAttribute in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

setIdAttributeNS

public void setIdAttributeNS(java.lang.String arg0,
                             java.lang.String arg1,
                             boolean arg2)
                      throws org.w3c.dom.DOMException
Specified by:
setIdAttributeNS in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

setIdAttributeNode

public void setIdAttributeNode(org.w3c.dom.Attr arg0,
                               boolean arg1)
                        throws org.w3c.dom.DOMException
Specified by:
setIdAttributeNode in interface org.w3c.dom.Element
Throws:
org.w3c.dom.DOMException

getNamespaceURI

public java.lang.String getNamespaceURI()
Specified by:
getNamespaceURI in interface org.w3c.dom.Node
Overrides:
getNamespaceURI in class NodeImpl

getBaseURI

public java.lang.String getBaseURI()
Specified by:
getBaseURI in interface org.w3c.dom.Node
Overrides:
getBaseURI in class NodeImpl

compareDocumentPosition

public short compareDocumentPosition(org.w3c.dom.Node arg0)
                              throws org.w3c.dom.DOMException
Specified by:
compareDocumentPosition in interface org.w3c.dom.Node
Overrides:
compareDocumentPosition in class NodeImpl
Throws:
org.w3c.dom.DOMException

getTextContent

public java.lang.String getTextContent()
                                throws org.w3c.dom.DOMException
Specified by:
getTextContent in interface org.w3c.dom.Node
Overrides:
getTextContent in class NodeImpl
Throws:
org.w3c.dom.DOMException

setTextContent

public void setTextContent(java.lang.String arg0)
                    throws org.w3c.dom.DOMException
Specified by:
setTextContent in interface org.w3c.dom.Node
Overrides:
setTextContent in class NodeImpl
Throws:
org.w3c.dom.DOMException

isSameNode

public boolean isSameNode(org.w3c.dom.Node arg0)
Specified by:
isSameNode in interface org.w3c.dom.Node
Overrides:
isSameNode in class NodeImpl

lookupPrefix

public java.lang.String lookupPrefix(java.lang.String arg0)
Specified by:
lookupPrefix in interface org.w3c.dom.Node
Overrides:
lookupPrefix in class NodeImpl

isDefaultNamespace

public boolean isDefaultNamespace(java.lang.String arg0)
Specified by:
isDefaultNamespace in interface org.w3c.dom.Node
Overrides:
isDefaultNamespace in class NodeImpl

lookupNamespaceURI

public java.lang.String lookupNamespaceURI(java.lang.String arg0)
Specified by:
lookupNamespaceURI in interface org.w3c.dom.Node
Overrides:
lookupNamespaceURI in class NodeImpl

isEqualNode

public boolean isEqualNode(org.w3c.dom.Node arg0)
Specified by:
isEqualNode in interface org.w3c.dom.Node
Overrides:
isEqualNode in class NodeImpl

getFeature

public java.lang.Object getFeature(java.lang.String arg0,
                                   java.lang.String arg1)
Specified by:
getFeature in interface org.w3c.dom.Node
Overrides:
getFeature in class NodeImpl

setUserData

public java.lang.Object setUserData(java.lang.String arg0,
                                    java.lang.Object arg1,
                                    org.w3c.dom.UserDataHandler arg2)
Specified by:
setUserData in interface org.w3c.dom.Node
Overrides:
setUserData in class NodeImpl

getUserData

public java.lang.Object getUserData(java.lang.String arg0)
Specified by:
getUserData in interface org.w3c.dom.Node
Overrides:
getUserData in class NodeImpl

EAF 7.4 Util