org.jscience.ml.cml.dom.pmr
Class PMRElementImpl

java.lang.Object
  extended by org.jscience.ml.cml.dom.pmr.PMRNodeImpl
      extended by org.jscience.ml.cml.dom.pmr.PMRElementImpl
All Implemented Interfaces:
org.w3c.dom.Element, org.w3c.dom.Node
Direct Known Subclasses:
CMLBaseImpl

public class PMRElementImpl
extends PMRNodeImpl
implements org.w3c.dom.Element

Delegation-based implementation


Field Summary
 
Fields inherited from class org.jscience.ml.cml.dom.pmr.PMRNodeImpl
childNodes, delegateNode, parentNode, pmrDocument, siblingNodes
 
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
protected PMRElementImpl()
          only for use by subclass constructors
protected PMRElementImpl(org.w3c.dom.Element element, PMRDocument doc)
           
protected PMRElementImpl(PMRDocument pmrDoc, java.lang.String tagName)
           
 
Method Summary
 java.lang.String getAttribute(java.lang.String name)
          Retrieves an attribute value by name.
 org.w3c.dom.Attr getAttributeNode(java.lang.String name)
          Retrieves an Attr node by name.
 org.w3c.dom.Attr getAttributeNodeNS(java.lang.String s, java.lang.String t)
           
 java.lang.String getAttributeNS(java.lang.String s, java.lang.String t)
           
 org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
          Returns a NodeList of all descendant elements with a given tag name, in the order in which they would be encountered in a preorder traversal of the Element tree.
 org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String s, java.lang.String t)
          NOT YET IMPLEMENTED
 org.w3c.dom.TypeInfo getSchemaTypeInfo()
          The type information associated with this element.
 java.lang.String getTagName()
          The name of the element.
 boolean hasAttribute(java.lang.String s)
           
 boolean hasAttributeNS(java.lang.String s, java.lang.String t)
           
 void normalize()
          Puts all Text nodes in the full depth of the sub-tree underneath this Element into a "normal" form where only markup (for example, tags, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, that is , there are no adjacent Text nodes.
 void removeAttribute(java.lang.String name)
          Removes an attribute by name.
 org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
          Removes the specified attribute.
 void removeAttributeNS(java.lang.String s, java.lang.String t)
           
 void setAttribute(java.lang.String name, java.lang.String value)
          Adds a new attribute.
 org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
          Adds a new attribute.
 org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr attr)
           
 void setAttributeNS(java.lang.String s, java.lang.String t, java.lang.String v)
           
 void setIdAttribute(java.lang.String name, boolean isId)
          If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute .
 void setIdAttributeNode(org.w3c.dom.Attr idAttr, boolean isId)
          If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute .
 void setIdAttributeNS(java.lang.String namespaceURI, java.lang.String localName, boolean isId)
          If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute .
 
Methods inherited from class org.jscience.ml.cml.dom.pmr.PMRNodeImpl
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getDelegateNode, getDelegateParentNode, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, removeChild, replaceChild, setDelegateNode, setNodeValue, setOwnerDocument, setOwnerDocumentRecursively, setPrefix, setTextContent, setUserData, toString, wrapRecursively
 
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, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

PMRElementImpl

protected PMRElementImpl()
only for use by subclass constructors


PMRElementImpl

protected PMRElementImpl(PMRDocument pmrDoc,
                         java.lang.String tagName)

PMRElementImpl

protected PMRElementImpl(org.w3c.dom.Element element,
                         PMRDocument doc)
Method Detail

getTagName

public java.lang.String getTagName()
The name of the element. For example, in: <elementExample id="demo"> ... </elementExample> , tagName has the value "elementExample". Note that this is case-preserving in XML, as are all of the operations of the DOM. The HTML DOM returns the tagName of an HTML element in the canonical uppercase form, regardless of the case in the source HTML document.

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

getAttribute

public java.lang.String getAttribute(java.lang.String name)
Retrieves an attribute value by name.

Specified by:
getAttribute in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute to retrieve.
Returns:
The Attr value as a string, or the empty string if that attribute does not have a specified or default value.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
                  throws org.w3c.dom.DOMException
Adds a new attribute. If an attribute with that name is already present in the element, its value is changed to be that of the value parameter. This value is a simple string, it is not parsed as it is being set. So any markup (such as syntax to be recognized as an entity reference) is treated as literal text, and needs to be appropriately escaped by the implementation when it is written out. In order to assign an attribute value that contains entity references, the user must create an Attr node plus any Text and EntityReference nodes, build the appropriate subtree, and use setAttributeNode to assign it as the value of an attribute.

Specified by:
setAttribute in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute to create or alter.
value - Value to set in string form.
Throws:
org.w3c.dom.DOMException - INVALID_CHARACTER_ERR: Raised if the specified name contains an invalid character.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

removeAttribute

public void removeAttribute(java.lang.String name)
                     throws org.w3c.dom.DOMException
Removes an attribute by name. If the removed attribute has a default value it is immediately replaced.

Specified by:
removeAttribute in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute to remove.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

getAttributeNode

public org.w3c.dom.Attr getAttributeNode(java.lang.String name)
Retrieves an Attr node by name.

Specified by:
getAttributeNode in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute to retrieve.
Returns:
The Attr node with the specified attribute name or null if there is no such attribute.

setAttributeNode

public org.w3c.dom.Attr setAttributeNode(org.w3c.dom.Attr newAttr)
                                  throws org.w3c.dom.DOMException
Adds a new attribute. If an attribute with that name is already present in the element, it is replaced by the new one.

Specified by:
setAttributeNode in interface org.w3c.dom.Element
Parameters:
newAttr - The Attr node to add to the attribute list.
Returns:
If the newAttr attribute replaces an existing attribute with the same name, the previously existing Attr node is returned, otherwise null is returned.
Throws:
org.w3c.dom.DOMException - WRONG_DOCUMENT_ERR: Raised if newAttr was created from a different document than the one that created the element.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an attribute of another Element object. The DOM user must explicitly clone Attr nodes to re-use them in other elements.

removeAttributeNode

public org.w3c.dom.Attr removeAttributeNode(org.w3c.dom.Attr oldAttr)
                                     throws org.w3c.dom.DOMException
Removes the specified attribute.

Specified by:
removeAttributeNode in interface org.w3c.dom.Element
Parameters:
oldAttr - The Attr node to remove from the attribute list. If the removed Attr has a default value it is immediately replaced.
Returns:
The Attr node that was removed.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if oldAttr is not an attribute of the element.

getElementsByTagName

public org.w3c.dom.NodeList getElementsByTagName(java.lang.String name)
Returns a NodeList of all descendant elements with a given tag name, in the order in which they would be encountered in a preorder traversal of the Element tree.

Specified by:
getElementsByTagName in interface org.w3c.dom.Element
Parameters:
name - The name of the tag to match on. The special value "*" matches all tags.
Returns:
A list of matching Element nodes.

normalize

public void normalize()
Puts all Text nodes in the full depth of the sub-tree underneath this Element into a "normal" form where only markup (for example, tags, comments, processing instructions, CDATA sections, and entity references) separates Text nodes, that is , there are no adjacent Text nodes. This can be used to ensure that the DOM view of a document is the same as if it were saved and re-loaded, and is useful when operations (such as XPointer lookups) that depend on a particular document tree structure are to be used.

Specified by:
normalize in interface org.w3c.dom.Node
Overrides:
normalize in class PMRNodeImpl

removeAttributeNS

public void removeAttributeNS(java.lang.String s,
                              java.lang.String t)
Specified by:
removeAttributeNS in interface org.w3c.dom.Element

getAttributeNodeNS

public org.w3c.dom.Attr getAttributeNodeNS(java.lang.String s,
                                           java.lang.String t)
Specified by:
getAttributeNodeNS in interface org.w3c.dom.Element

setAttributeNodeNS

public org.w3c.dom.Attr setAttributeNodeNS(org.w3c.dom.Attr attr)
Specified by:
setAttributeNodeNS in interface org.w3c.dom.Element

hasAttributeNS

public boolean hasAttributeNS(java.lang.String s,
                              java.lang.String t)
Specified by:
hasAttributeNS in interface org.w3c.dom.Element

hasAttribute

public boolean hasAttribute(java.lang.String s)
Specified by:
hasAttribute in interface org.w3c.dom.Element

setAttributeNS

public void setAttributeNS(java.lang.String s,
                           java.lang.String t,
                           java.lang.String v)
Specified by:
setAttributeNS in interface org.w3c.dom.Element

getAttributeNS

public java.lang.String getAttributeNS(java.lang.String s,
                                       java.lang.String t)
Specified by:
getAttributeNS in interface org.w3c.dom.Element

getSchemaTypeInfo

public org.w3c.dom.TypeInfo getSchemaTypeInfo()
The type information associated with this element.

Specified by:
getSchemaTypeInfo in interface org.w3c.dom.Element
Since:
DOM Level 3

setIdAttribute

public void setIdAttribute(java.lang.String name,
                           boolean isId)
                    throws org.w3c.dom.DOMException
If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of Attr.isId and the behavior of Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the Attr.schemaTypeInfo of the specified Attr node. Use the value false for the parameter isId to undeclare an attribute for being a user-determined ID attribute.
To specify an attribute by local name and namespace URI, use the setIdAttributeNS method.

Specified by:
setIdAttribute in interface org.w3c.dom.Element
Parameters:
name - The name of the attribute.
isId - Whether the attribute is a of type ID.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element.
Since:
DOM Level 3

setIdAttributeNS

public void setIdAttributeNS(java.lang.String namespaceURI,
                             java.lang.String localName,
                             boolean isId)
                      throws org.w3c.dom.DOMException
If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of Attr.isId and the behavior of Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the Attr.schemaTypeInfo of the specified Attr node. Use the value false for the parameter isId to undeclare an attribute for being a user-determined ID attribute.

Specified by:
setIdAttributeNS in interface org.w3c.dom.Element
Parameters:
namespaceURI - The namespace URI of the attribute.
localName - The local name of the attribute.
isId - Whether the attribute is a of type ID.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element.
Since:
DOM Level 3

setIdAttributeNode

public void setIdAttributeNode(org.w3c.dom.Attr idAttr,
                               boolean isId)
                        throws org.w3c.dom.DOMException
If the parameter isId is true, this method declares the specified attribute to be a user-determined ID attribute . This affects the value of Attr.isId and the behavior of Document.getElementById, but does not change any schema that may be in use, in particular this does not affect the Attr.schemaTypeInfo of the specified Attr node. Use the value false for the parameter isId to undeclare an attribute for being a user-determined ID attribute.

Specified by:
setIdAttributeNode in interface org.w3c.dom.Element
Parameters:
idAttr - The attribute node.
isId - Whether the attribute is a of type ID.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.
NOT_FOUND_ERR: Raised if the specified node is not an attribute of this element.
Since:
DOM Level 3

getElementsByTagNameNS

public org.w3c.dom.NodeList getElementsByTagNameNS(java.lang.String s,
                                                   java.lang.String t)
NOT YET IMPLEMENTED

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