org.apache.xerces.dom

Class TextImpl

Implemented Interfaces:
CharacterData, Cloneable, EventTarget, Node, NodeList, Serializable, Text
Known Direct 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 org.w3c.dom.Element.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.

Version:
$Id: TextImpl.java,v 1.29 2004/11/08 22:21:39 nddelima Exp $
Since:
PR-DOM-Level-1-19980818.

Field Summary

Fields inherited from class org.apache.xerces.dom.CharacterDataImpl

data

Fields inherited from class org.apache.xerces.dom.ChildNode

nextSibling, previousSibling

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, FIRSTCHILD, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, READONLY, SPECIFIED, SYNCCHILDREN, SYNCDATA, TREE_POSITION_ANCESTOR, TREE_POSITION_DESCENDANT, TREE_POSITION_DISCONNECTED, TREE_POSITION_EQUIVALENT, TREE_POSITION_FOLLOWING, TREE_POSITION_PRECEDING, TREE_POSITION_SAME_NODE, flags, ownerNode

Constructor Summary

TextImpl()
Default constructor
TextImpl(CoreDocumentImpl ownerDoc, String data)
Factory constructor.

Method Summary

String
getNodeName()
Returns the node name.
short
getNodeType()
A short integer indicating what type of node this is.
String
getWholeText()
DOM Level 3 WD - Experimental.
protected void
insertTextContent(StringBuffer buf)
internal method taking a StringBuffer in parameter and inserts the text content at the start of the buffer
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.
String
removeData()
NON-DOM (used by DOMParser: Sets data to empty string.
void
replaceData(String value)
NON-DOM (used by DOMParser): Reset data for the node.
Text
replaceWholeText(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, 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, setNodeValueInternal, setNodeValueInternal, 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, changed, changes, cloneNode, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getChildNodes, getContainer, getFeature, getFirstChild, getLastChild, getLength, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeNumber, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getReadOnly, getTextContent, getUserData, getUserData, getUserDataRecord, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, needsSyncChildren, normalize, removeChild, removeEventListener, replaceChild, setNodeValue, setPrefix, setReadOnly, setTextContent, setUserData, setUserData, synchronizeData, toString

Constructor Details

TextImpl

public TextImpl()
Default constructor

TextImpl

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

Method Details

getNodeName

public String getNodeName()
Returns the node name.
Overrides:
getNodeName in interface NodeImpl

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.
Overrides:
getNodeType in interface NodeImpl

getWholeText

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

insertTextContent

protected void insertTextContent(StringBuffer buf)
            throws DOMException
internal method taking a StringBuffer in parameter and inserts the text content at the start of the buffer
Parameters:
buf -

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().
Since:
DOM Level 3

isIgnorableWhitespace

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

removeData

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

replaceData

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

replaceWholeText

public Text replaceWholeText(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.
Parameters:
content - The content of the replacing Text node.
Returns:
text - The Text node created with the specified content.
Since:
DOM Level 3

setIgnorableWhitespace

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

setValues

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

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.)
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.

Copyright B) 1999-2005 Apache XML Project. All Rights Reserved.