Package nu.xom

Class Text


  • public class Text
    extends Node

    This class represents a run of text. CDATA sections are not treated differently than normal text. Text objects may be adjacent to other Text objects.

    The maximum size of a String or an array in Java limits the maximum size of a text node to about 2 gigabytes. If you're stuffing Base-64 encoded movies inside one node, you will have problems. Try breaking up the text into smaller, contiguous chunks. Even then you will probably not be able to use XPath on the result.

    Version:
    1.2.7
    Author:
    Elliotte Rusty Harold
    • Constructor Summary

      Constructors 
      Constructor Description
      Text​(String data)
      This constructor creates a new Text object.
      Text​(Text text)
      Creates a copy of the specified Text object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Node copy()
      Returns a deep copy of this Text with no parent, that can be added to this document or a different one.
      Node getChild​(int position)
      Throws IndexOutOfBoundsException because texts do not have children.
      int getChildCount()
      Returns 0 because texts do not have children.
      String getValue()
      Returns the XPath 1.0 string-value of this Text node.
      void setValue​(String data)
      Sets the content of the Text object to the specified data.
      String toString()
      Returns a String representation of this Text suitable for debugging and diagnosis.
      String toXML()
      Returns a string containing the XML serialization of this text node.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • Text

        public Text​(String data)

        This constructor creates a new Text object. The data is checked for legality according to XML 1.0 rules. Characters that can be serialized by escaping them such as < and & are allowed. However, characters such as the form feed, null, vertical tab, unmatched halves of surrogate pairs, and 0xFFFE and 0xFFFF are not allowed.

        Parameters:
        data - the initial text of the object
        Throws:
        IllegalCharacterDataException - if data contains any characters which are illegal in well-formed XML 1.0 such as null, vertical tab, or unmatched halves of surrogate pairs
      • Text

        public Text​(Text text)

        Creates a copy of the specified Text object.

        Parameters:
        text - the Text object to copy
    • Method Detail

      • setValue

        public void setValue​(String data)

        Sets the content of the Text object to the specified data. The data is checked for legality according to XML 1.0 rules. Characters that can be serialized such as < and & are allowed. However, characters such as the form feed, null, vertical tab, unmatched halves of surrogate pairs, and 0xFFFE and 0xFFFF are not allowed. Passing null is the same as passing the empty string.

        Parameters:
        data - the text to install in the object
        Throws:
        IllegalCharacterDataException - if data contains any characters which are illegal in well-formed XML 1.0 such as null, vertical tab, or unmatched halves of surrogate pairs
      • getValue

        public final String getValue()

        Returns the XPath 1.0 string-value of this Text node. The XPath string-value of a text node is the same as the text of the node.

        Specified by:
        getValue in class Node
        Returns:
        the content of the node
      • getChild

        public final Node getChild​(int position)

        Throws IndexOutOfBoundsException because texts do not have children.

        Specified by:
        getChild in class Node
        Parameters:
        position - the index of the child node to return
        Returns:
        never returns because texts do not have children; always throws an exception.
        Throws:
        IndexOutOfBoundsException - because texts do not have children
      • getChildCount

        public final int getChildCount()

        Returns 0 because texts do not have children.

        Specified by:
        getChildCount in class Node
        Returns:
        zero
      • copy

        public Node copy()

        Returns a deep copy of this Text with no parent, that can be added to this document or a different one.

        Specified by:
        copy in class Node
        Returns:
        a deep copy of this text node with no parent
      • toXML

        public final String toXML()

        Returns a string containing the XML serialization of this text node. Unlike getValue, this method escapes characters such as & and < using entity references such as &amp; and &lt;. It escapes the carriage return (\r) as &#x0D;. If this text node is a CDATA section, then it may wrap the value in CDATA section delimiters instead of escaping.

        Specified by:
        toXML in class Node
        Returns:
        the string form of this text node
      • toString

        public final String toString()

        Returns a String representation of this Text suitable for debugging and diagnosis. This is not the XML representation of this Text node.

        Overrides:
        toString in class Object
        Returns:
        a non-XML string representation of this node