Class Pcdata

  • All Implemented Interfaces:
    java.lang.CharSequence
    Direct Known Subclasses:
    Base64Data, IntArrayData, IntData

    public abstract class Pcdata
    extends java.lang.Object
    implements java.lang.CharSequence
    Text data in XML.

    This class is used inside the marshaller/unmarshaller to send/receive text data.

    On top of CharSequence, this class has an ability to write itself to the XmlOutput. This allows the implementation to choose the most efficient way possible when writing to XML (for example, it can skip the escaping of buffer copying.) TODO: visitor pattern support?

    Author:
    Kohsuke Kawaguchi
    • Constructor Summary

      Constructors 
      Constructor Description
      Pcdata()  
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract java.lang.String toString()  
      void writeTo​(char[] buf, int start)
      Writes itself to the character array.
      abstract void writeTo​(UTF8XmlOutput output)
      Writes itself to UTF8XmlOutput.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.lang.CharSequence

        charAt, chars, codePoints, length, subSequence
    • Constructor Detail

      • Pcdata

        public Pcdata()
    • Method Detail

      • writeTo

        public abstract void writeTo​(UTF8XmlOutput output)
                              throws java.io.IOException
        Writes itself to UTF8XmlOutput.

        This is the most performance critical path for the marshaller, so it warrants its own method.

        Throws:
        java.io.IOException
      • writeTo

        public void writeTo​(char[] buf,
                            int start)
        Writes itself to the character array.

        This method is used by most other XmlOutput. The default implementation involves in one extra char[] copying.

        The caller must provide a big enough buffer that can hold enough characters returned by the CharSequence.length() method.

      • toString

        public abstract java.lang.String toString()
        Specified by:
        toString in interface java.lang.CharSequence
        Overrides:
        toString in class java.lang.Object