org.apache.xerces.dom
Class TextImpl

java.lang.Object
  extended by org.apache.xerces.dom.NodeImpl
      extended by org.apache.xerces.dom.ChildNode
          extended by org.apache.xerces.dom.CharacterDataImpl
              extended by org.apache.xerces.dom.TextImpl
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, CharacterData, EventTarget, Node, NodeList, Text
Direct Known Subclasses:
CDATASectionImpl, DeferredTextImpl

public class TextImpl
extends CharacterDataImpl
implements CharacterData, Text

Text nodes hold the non-markup, non-Entity content of an Element or Attribute.

When a document is first made available to the DOM, there is only one Text object for each block of adjacent plain-text. Users (ie, applications) may create multiple adjacent Texts during editing -- see Node.normalize() for discussion.

Note that CDATASection is a subclass of Text. This is conceptually valid, since they're really just two different ways of quoting characters when they're written out as part of an XML stream.

Since:
PR-DOM-Level-1-19980818.
Version:
$Id: TextImpl.java 447266 2006-09-18 05:57:49Z mrglavas $
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.xerces.dom.NodeImpl
DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_IS_CONTAINED, DOCUMENT_POSITION_PRECEDING, ELEMENT_DEFINITION_NODE, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE
 
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
TextImpl()
          Default constructor
TextImpl(CoreDocumentImpl ownerDoc, java.lang.String data)
          Factory constructor.
 
Method Summary
 java.lang.String getNodeName()
          Returns the node name.
 short getNodeType()
          A short integer indicating what type of node this is.
 java.lang.String getWholeText()
          DOM Level 3 WD - Experimental.
 boolean isElementContentWhitespace()
          DOM L3 Core CR - Experimental Returns whether this text node contains element content whitespace, often abusively called "ignorable whitespace".
 boolean isIgnorableWhitespace()
          NON-DOM: Returns whether this Text is ignorable whitespace.
 java.lang.String removeData()
          NON-DOM (used by DOMParser: Sets data to empty string.
 void replaceData(java.lang.String value)
          NON-DOM (used by DOMParser): Reset data for the node.
 Text replaceWholeText(java.lang.String content)
          Replaces the text of the current node and all logically-adjacent text nodes with the specified text.
 void setIgnorableWhitespace(boolean ignore)
          NON-DOM: Set whether this Text is ignorable whitespace.
 void setValues(CoreDocumentImpl ownerDoc, java.lang.String data)
          NON-DOM: resets node and sets specified values for the current node
 Text splitText(int offset)
          Break a text node into two sibling nodes.
 
Methods inherited from class org.apache.xerces.dom.CharacterDataImpl
appendData, deleteData, getChildNodes, getData, getLength, getNodeValue, insertData, replaceData, setData, setNodeValue, substringData
 
Methods inherited from class org.apache.xerces.dom.ChildNode
cloneNode, getNextSibling, getParentNode, getPreviousSibling
 
Methods inherited from class org.apache.xerces.dom.NodeImpl
addEventListener, appendChild, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getOwnerDocument, getPrefix, getReadOnly, getTextContent, getUserData, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, needsSyncChildren, normalize, removeChild, removeEventListener, replaceChild, setPrefix, setReadOnly, setTextContent, setUserData, setUserData, toString
 
Methods inherited from class java.lang.Object
equals, 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, 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

TextImpl

public TextImpl()
Default constructor


TextImpl

public TextImpl(CoreDocumentImpl ownerDoc,
                java.lang.String data)
Factory constructor.

Method Detail

setValues

public void setValues(CoreDocumentImpl ownerDoc,
                      java.lang.String data)
NON-DOM: resets node and sets specified values for the current node

Parameters:
ownerDoc -
data -

getNodeType

public short getNodeType()
A short integer indicating what type of node this is. The named constants for this value are defined in the org.w3c.dom.Node interface.

Specified by:
getNodeType in interface Node
Specified by:
getNodeType in class NodeImpl

getNodeName

public java.lang.String getNodeName()
Returns the node name.

Specified by:
getNodeName in interface Node
Specified by:
getNodeName in class NodeImpl

setIgnorableWhitespace

public void setIgnorableWhitespace(boolean ignore)
NON-DOM: Set whether this Text is ignorable whitespace.


isElementContentWhitespace

public boolean isElementContentWhitespace()
DOM L3 Core CR - Experimental 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 Text
Since:
DOM Level 3

getWholeText

public java.lang.String getWholeText()
DOM Level 3 WD - Experimental. Returns all text of Text nodes logically-adjacent text nodes to this node, concatenated in document order.

Specified by:
getWholeText in interface Text
Since:
DOM Level 3

replaceWholeText

public Text replaceWholeText(java.lang.String content)
                      throws 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.

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

isIgnorableWhitespace

public boolean isIgnorableWhitespace()
NON-DOM: Returns whether this Text is ignorable whitespace.


splitText

public Text splitText(int offset)
               throws DOMException
Break a text node into two sibling nodes. (Note that if the current node has no parent, they won't wind up as "siblings" -- they'll both be orphans.)

Specified by:
splitText in interface Text
Parameters:
offset - The offset at which to split. If offset is at the end of the available data, the second node will be empty.
Returns:
A reference to the new node (containing data after the offset point). The original node will contain data up to that point.
Throws:
DOMException(INDEX_SIZE_ERR) - if offset is <0 or >length.
DOMException(NO_MODIFICATION_ALLOWED_ERR) - if node is read-only.
DOMException - INDEX_SIZE_ERR: Raised if the specified offset is negative or greater than the number of 16-bit units in data.
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

replaceData

public void replaceData(java.lang.String value)
NON-DOM (used by DOMParser): Reset data for the node.


removeData

public java.lang.String removeData()
NON-DOM (used by DOMParser: Sets data to empty string. Returns the value the data was set to.