Package org.jdom2

Class CDATA

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

    public class CDATA
    extends Text
    An XML CDATA section. Represents character-based content within an XML document that should be output within special CDATA tags. Semantically it's identical to a simple Text object, but output behavior is different. CDATA makes no guarantees about the underlying textual representation of character data, but does expose that data as a Java String.
    Author:
    Dan Schaffer, Brett McLaughlin, Jason Hunter, Bradley S. Huffman, Victor Toni, Rolf Lear
    See Also:
    Serialized Form
    • Constructor Detail

      • CDATA

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

        public CDATA​(java.lang.String string)
        This constructor creates a new CDATA node, with the supplied string value as it's character content.
        Parameters:
        string - 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)) or the CDATA end delimiter ]]>.
    • Method Detail

      • setText

        public CDATA setText​(java.lang.String str)
        This will set the value of this CDATA node.
        Overrides:
        setText in class Text
        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)) or the CDATA end delimiter ]]>.
      • append

        public void append​(java.lang.String str)
        This will append character content to whatever content already exists within this CDATA node.
        Overrides:
        append in class Text
        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)) or the CDATA end delimiter ]]>.
      • append

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

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

        public CDATA 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 vaue).

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

        Overrides:
        clone in class Text
      • detach

        public CDATA 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 Text
        Returns:
        this child detached
      • setParent

        protected CDATA 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 Text
        Parameters:
        parent - new parent element
        Returns:
        the target element