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

java.lang.Object
  extended by org.jscience.ml.cml.dom.pmr.PMRNodeImpl
      extended by org.jscience.ml.cml.dom.pmr.PMRCharacterDataImpl
          extended by org.jscience.ml.cml.dom.pmr.PMRTextImpl
All Implemented Interfaces:
org.w3c.dom.CharacterData, org.w3c.dom.Node, org.w3c.dom.Text
Direct Known Subclasses:
PMRCDATASectionImpl

public class PMRTextImpl
extends PMRCharacterDataImpl
implements org.w3c.dom.Text

DOCUMENT ME!


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
PMRTextImpl()
          Constructor for the PMRTextImpl object.
PMRTextImpl(org.w3c.dom.Text text, PMRDocument doc)
          Constructor for the PMRTextImpl object.
 
Method Summary
 java.lang.String getWholeText()
          Returns all text of Text nodes logically-adjacent text nodes to this node, concatenated in document order.
 boolean isElementContentWhitespace()
          Returns whether this text node contains element content whitespace, often abusively called "ignorable whitespace".
 org.w3c.dom.Text replaceWholeText(java.lang.String content)
          Replaces the text of the current node and all logically-adjacent text nodes with the specified text.
 org.w3c.dom.Text splitText(int i)
          Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings.
 
Methods inherited from class org.jscience.ml.cml.dom.pmr.PMRCharacterDataImpl
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
 
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, normalize, 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.CharacterData
appendData, deleteData, getData, getLength, insertData, replaceData, setData, substringData
 
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, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserData
 

Constructor Detail

PMRTextImpl

public PMRTextImpl()
Constructor for the PMRTextImpl object.


PMRTextImpl

public PMRTextImpl(org.w3c.dom.Text text,
                   PMRDocument doc)
Constructor for the PMRTextImpl object.

Parameters:
text - Description of the Parameter
doc - DOCUMENT ME!
Method Detail

splitText

public org.w3c.dom.Text splitText(int i)
Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings. After being split, this node will contain all the content up to the offset point. A new node of the same type, which contains all the content at and after the offset point, is returned. If the original node had a parent node, the new node is inserted as the next sibling of the original node. When the offset is equal to the length of this node, the new node has no data.

Specified by:
splitText in interface org.w3c.dom.Text
Parameters:
i - The 16-bit unit offset at which to split, starting from 0.
Returns:
The new node, of the same type as this node.

getWholeText

public java.lang.String getWholeText()
Returns all text of Text nodes logically-adjacent text nodes to this node, concatenated in document order.
For instance, in the example below wholeText on the Text node that contains "bar" returns "barfoo", while on the Text node that contains "foo" it returns "barfoo".

Specified by:
getWholeText in interface org.w3c.dom.Text
Returns:
DOCUMENT ME!
Since:
DOM Level 3

isElementContentWhitespace

public boolean isElementContentWhitespace()
Returns whether this text node contains element content whitespace, often abusively called "ignorable whitespace". The text node is determined to contain whitespace in element content during the load of the document or if validation occurs while using Document.normalizeDocument().

Specified by:
isElementContentWhitespace in interface org.w3c.dom.Text
Returns:
DOCUMENT ME!
Since:
DOM Level 3

replaceWholeText

public org.w3c.dom.Text replaceWholeText(java.lang.String content)
                                  throws org.w3c.dom.DOMException
Replaces the text of the current node and all logically-adjacent text nodes with the specified text. All logically-adjacent text nodes are removed including the current node unless it was the recipient of the replacement text.
This method returns the node which received the replacement text. The returned node is:


For instance, in the above example calling replaceWholeText on the Text node that contains "bar" with "yo" in argument results in the following:
Where the nodes to be removed are read-only descendants of an EntityReference, the EntityReference must be removed instead of the read-only nodes. If any EntityReference to be removed has descendants that are not EntityReference, Text, or CDATASection nodes, the replaceWholeText method must fail before performing any modification of the document, raising a DOMException with the code NO_MODIFICATION_ALLOWED_ERR.
For instance, in the example below calling replaceWholeText on the Text node that contains "bar" fails, because the EntityReference node "ent" contains an Element node which cannot be removed.

Specified by:
replaceWholeText in interface org.w3c.dom.Text
Parameters:
content - The content of the replacing Text node.
Returns:
The Text node created with the specified content.
Throws:
org.w3c.dom.DOMException - NO_MODIFICATION_ALLOWED_ERR: Raised if one of the Text nodes being replaced is readonly.
Since:
DOM Level 3