Package org.jdom2

Class CDATA

All Implemented Interfaces:
Serializable, 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:
  • Constructor Details

    • 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(String string)
      This constructor creates a new CDATA node, with the supplied string value as its 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 Details

    • setText

      public CDATA setText(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(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 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 value).

      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