Package org.jdom2

Class Text

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, NamespaceAware
    Direct Known Subclasses:
    CDATA, LocatedText

    public class Text
    extends Content
    An XML character sequence. Provides a modular, parentable method of representing text. Text makes no guarantees about the underlying textual representation of character data, but does expose that data as a Java String.
    Author:
    Brett McLaughlin, Jason Hunter, Bradley S. Huffman
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String value
      The actual character content
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected Text()
      This is the protected, no-args constructor standard in all JDOM classes.
        Text​(java.lang.String str)
      This constructor creates a new Text node, with the supplied string value as its character content.
      protected Text​(Content.CType ctype)
      CData type extends Text, and it needs to be able to change the Content type of this Content.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(java.lang.String str)
      This will append character content to whatever content already exists within this Text node.
      void append​(Text text)
      This will append the content of another Text node to this node.
      Text clone()
      Return a deep clone of this instance.
      Text detach()
      Detaches this child from its parent or does nothing if the child has no parent.
      Element getParent()
      Return this child's parent, or null if this child is currently not attached.
      java.lang.String getText()
      This returns the value of this Text node as a Java String.
      java.lang.String getTextNormalize()
      This returns the textual content with all surrounding whitespace removed and internal whitespace normalized to a single space.
      java.lang.String getTextTrim()
      This returns the textual content with all surrounding whitespace removed.
      java.lang.String getValue()
      Returns the XPath 1.0 string value of this element, which is the text itself.
      static java.lang.String normalizeString​(java.lang.String str)
      This returns a new string with all surrounding whitespace removed and internal whitespace normalized to a single space.
      protected Text setParent​(Parent parent)
      Sets the parent of this Content.
      Text setText​(java.lang.String str)
      This will set the value of this Text node.
      java.lang.String toString()
      This returns a String representation of the Text node, suitable for debugging.
      • Methods inherited from class java.lang.Object

        finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • value

        protected java.lang.String value
        The actual character content
    • Constructor Detail

      • Text

        protected Text​(Content.CType ctype)
        CData type extends Text, and it needs to be able to change the Content type of this Content.
        Parameters:
        ctype - The CType to set for this Text-based Content.
      • Text

        protected Text()
        This is the protected, no-args constructor standard in all JDOM classes. It allows subclassers to get a raw instance with no initialization.
      • Text

        public Text​(java.lang.String str)
        This constructor creates a new Text node, with the supplied string value as its character content.
        Parameters:
        str - the node's character content.
        Throws:
        IllegalDataException - if str contains an illegal character such as a vertical tab (as determined by Verifier.checkCharacterData(java.lang.String))
    • Method Detail

      • getText

        public java.lang.String getText()
        This returns the value of this Text node as a Java String.
        Returns:
        String - character content of this node.
      • getTextTrim

        public java.lang.String getTextTrim()
        This returns the textual content with all surrounding whitespace removed. If only whitespace exists, the empty string is returned.
        Returns:
        trimmed text content or empty string
      • getTextNormalize

        public java.lang.String getTextNormalize()
        This returns the textual content with all surrounding whitespace removed and internal whitespace normalized to a single space. If only whitespace exists, the empty string is returned.
        Returns:
        normalized text content or empty string
      • normalizeString

        public static java.lang.String normalizeString​(java.lang.String str)
        This returns a new string with all surrounding whitespace removed and internal whitespace normalized to a single space. If only whitespace exists, the empty string is returned.

        Per XML 1.0 Production 3 whitespace includes: #x20, #x9, #xD, #xA

        Parameters:
        str - string to be normalized.
        Returns:
        normalized string or empty string
      • setText

        public Text setText​(java.lang.String str)
        This will set the value of this Text node.
        Parameters:
        str - value for node's content.
        Returns:
        the object on which the method was invoked
        Throws:
        IllegalDataException - if str contains an illegal character such as a vertical tab (as determined by Verifier.checkCharacterData(java.lang.String))
      • append

        public void append​(java.lang.String str)
        This will append character content to whatever content already exists within this Text node.
        Parameters:
        str - character content to append.
        Throws:
        IllegalDataException - if str contains an illegal character such as a vertical tab (as determined by Verifier.checkCharacterData(java.lang.String))
      • append

        public void append​(Text text)
        This will append the content of another Text node to this node.
        Parameters:
        text - Text node to append.
      • getValue

        public java.lang.String getValue()
        Returns the XPath 1.0 string value of this element, which is the text itself.
        Specified by:
        getValue in class Content
        Returns:
        the text
      • toString

        public java.lang.String toString()
        This returns a String representation of the Text node, suitable for debugging. If the XML representation of the Text node is desired, either getText() or XMLOutputter.outputString(Text) should be used.
        Overrides:
        toString in class java.lang.Object
        Returns:
        String - information about this node.
      • clone

        public Text clone()
        Return a deep clone of this instance. Even if this instance has a parent, the returned clone will not.

        All JDOM core classes are Cloneable, and never throw CloneNotSupportedException. Additionally all Cloneable JDOM classes return the correct type of instance from this method and there is no need to cast the result (co-variant return value).

        Subclasses of this should still call super.clone() in their clone method.

        Overrides:
        clone in class Content
      • detach

        public Text detach()
        Description copied from class: Content
        Detaches this child from its parent or does nothing if the child has no parent.

        This method can be overridden by particular Content subclasses to return a specific type of Content (co-variant return type). All overriding subclasses must call super.detach();

        Overrides:
        detach in class Content
        Returns:
        this child detached
      • setParent

        protected Text setParent​(Parent parent)
        Description copied from class: Content
        Sets the parent of this Content. The caller is responsible for removing any pre-existing parentage.

        This method can be overridden by particular Content subclasses to return a specific type of Content (co-variant return type). All overriding subclasses must call super.setParent(Parent);

        Overrides:
        setParent in class Content
        Parameters:
        parent - new parent element
        Returns:
        the target element
      • getParent

        public Element getParent()
        Description copied from class: Content
        Return this child's parent, or null if this child is currently not attached. The parent can be either an Element or a Document.

        This method can be overridden by particular Content subclasses to return a specific type of Parent (co-variant return type). All overriding subclasses must call super.getParent();

        Overrides:
        getParent in class Content
        Returns:
        this child's parent or null if none