org.apache.xerces.dom

Class TextImpl

Implemented Interfaces:
org.w3c.dom.CharacterData, Cloneable, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList, Serializable, org.w3c.dom.Text
Known Direct Subclasses:
CDATASectionImpl, DeferredTextImpl

public class TextImpl
extends CharacterDataImpl
implements org.w3c.dom.CharacterData, org.w3c.dom.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 345851 2005-11-21 06:32:34Z mrglavas $
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

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, 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.
org.w3c.dom.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
org.w3c.dom.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, setOwnerDocument, 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.
Specified by:
getNodeName in interface org.w3c.dom.Node
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.
Specified by:
getNodeType in interface org.w3c.dom.Node
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.
Specified by:
getWholeText in interface org.w3c.dom.Text
Since:
DOM Level 3

insertTextContent

protected void insertTextContent(StringBuffer buf)
            throws org.w3c.dom.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().
Specified by:
isElementContentWhitespace in interface org.w3c.dom.Text
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 org.w3c.dom.Text replaceWholeText(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.
Specified by:
replaceWholeText in interface org.w3c.dom.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 org.w3c.dom.Text splitText(int offset)
            throws org.w3c.dom.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 org.w3c.dom.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.

Copyright B) 1999-2006 The Apache Software Foundation. All Rights Reserved.