TextImpl (Xerces2 Implementation)
Date: 2018-10-17

org.apache.xerces.dom

## Class TextImpl

- java.lang.Object
- - org.apache.xerces.dom.NodeImpl
  - - org.apache.xerces.dom.ChildNode
    - - org.apache.xerces.dom.CharacterDataImpl
      - - org.apache.xerces.dom.TextImpl

- All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, org.w3c.dom.CharacterData, org.w3c.dom.events.EventTarget, org.w3c.dom.Node, org.w3c.dom.NodeList, org.w3c.dom.Text
  Direct Known 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 `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

  # INTERNAL:

    Usage of this class is not supported. It may be altered or removed at any time.

- - ### 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, flags, HASSTRING, ID, IGNORABLEWS, NORMALIZED, OWNED, ownerNode, 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`

    - ### 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

    Constructors
    Constructor and Description
    `TextImpl()` Default constructor
    `TextImpl(CoreDocumentImpl ownerDoc, java.lang.String data)` Factory constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.
    `protected void` | `insertTextContent(java.lang.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.
    `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.
    `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.
    `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
    `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, compareDocumentPosition, compareTreePosition, dispatchEvent, getAttributes, getBaseURI, getContainer, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNodeNumber, getOwnerDocument, getPrefix, getReadOnly, getTextContent, getUserData, getUserData, getUserDataRecord, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, item, lookupNamespaceURI, lookupPrefix, needsSyncChildren, normalize, removeChild, removeEventListener, replaceChild, setOwnerDocument, setPrefix, setReadOnly, setTextContent, setUserData, setUserData, synchronizeData, toString`

    - ### 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, 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 `org.w3c.dom.Node`
      Specified by:
        `getNodeType` in class `NodeImpl`

    - #### getNodeName

          public java.lang.String getNodeName()

      Returns the node name.
      Specified by:
        `getNodeName` in interface `org.w3c.dom.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 `org.w3c.dom.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 `org.w3c.dom.Text`
      Since:
        DOM Level 3

    - #### insertTextContent

          protected void insertTextContent(java.lang.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` -
      Throws:
        `org.w3c.dom.DOMException`

    - #### 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.
      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.
      Throws:
        `org.w3c.dom.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 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.
      Throws:
        `DOMException(INDEX_SIZE_ERR)` - if offset is <0 or >length.
        `DOMException(NO_MODIFICATION_ALLOWED_ERR)` - if node is read-only.
        `org.w3c.dom.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.

Copyright © 1999-2010 The Apache Software Foundation. All Rights Reserved.