Class UTF8XmlOutput

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void attribute​(int prefix, java.lang.String localName, java.lang.String value)  
      void attribute​(Name name, java.lang.String value)  
      void beginStartTag​(int prefix, java.lang.String localName)  
      void beginStartTag​(Name name)
      Writes a start tag.
      protected void closeStartTag()
      Writes '>' to close the start tag, if necessary.
      void endDocument​(boolean fragment)
      Called at the very end.
      void endStartTag()  
      void endTag​(int prefix, java.lang.String localName)  
      void endTag​(Name name)  
      protected void flushBuffer()  
      void setHeader​(java.lang.String header)  
      void startDocument​(XMLSerializer serializer, boolean fragment, int[] nsUriIndex2prefixIndex, NamespaceContextImpl nsContext)
      Called at the very beginning.
      void text​(byte[] data, int dataLen)
      Writes the given byte[] as base64 encoded binary to the output.
      void text​(int value)  
      void text​(Pcdata value, boolean needSP)
      Writes XML text with character escaping, if necessary.
      void text​(java.lang.String value, boolean needSP)
      Writes XML text with character escaping, if necessary.
      protected void write​(byte[] b)  
      protected void write​(byte[] b, int start, int length)  
      void write​(int i)
      Writes one byte directly into the buffer.
      protected void writeNsDecl​(int prefixIndex)
      Writes a single namespace declaration for the specified prefix.
      protected void writeNsDecls​(int base)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • out

        protected final java.io.OutputStream out
      • octetBuffer

        protected final byte[] octetBuffer
        Buffer of octets for writing.
      • octetBufferIndex

        protected int octetBufferIndex
        Index in buffer to write to.
      • closeStartTagPending

        protected boolean closeStartTagPending
        Set to true to indicate that we need to write '>' to close a start tag. Deferring the write of this char allows us to write "/>" for empty elements.
    • Constructor Detail

      • UTF8XmlOutput

        public UTF8XmlOutput​(java.io.OutputStream out,
                             Encoded[] localNames,
                             CharacterEscapeHandler escapeHandler)
        Parameters:
        localNames - local names encoded in UTF-8.
    • Method Detail

      • setHeader

        public void setHeader​(java.lang.String header)
      • startDocument

        public void startDocument​(XMLSerializer serializer,
                                  boolean fragment,
                                  int[] nsUriIndex2prefixIndex,
                                  NamespaceContextImpl nsContext)
                           throws java.io.IOException,
                                  org.xml.sax.SAXException,
                                  javax.xml.stream.XMLStreamException
        Description copied from class: XmlOutputAbstractImpl
        Called at the very beginning.
        Specified by:
        startDocument in interface XmlOutput
        Overrides:
        startDocument in class XmlOutputAbstractImpl
        Parameters:
        serializer - the XMLSerializer that coordinates this whole marshalling episode.
        fragment - true if we are marshalling a fragment.
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
        javax.xml.stream.XMLStreamException
      • endDocument

        public void endDocument​(boolean fragment)
                         throws java.io.IOException,
                                org.xml.sax.SAXException,
                                javax.xml.stream.XMLStreamException
        Description copied from class: XmlOutputAbstractImpl
        Called at the very end.
        Specified by:
        endDocument in interface XmlOutput
        Overrides:
        endDocument in class XmlOutputAbstractImpl
        Parameters:
        fragment - false if we are writing the whole document.
        Throws:
        java.io.IOException
        org.xml.sax.SAXException
        javax.xml.stream.XMLStreamException
      • closeStartTag

        protected final void closeStartTag()
                                    throws java.io.IOException
        Writes '>' to close the start tag, if necessary.
        Throws:
        java.io.IOException
      • writeNsDecls

        protected void writeNsDecls​(int base)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • writeNsDecl

        protected final void writeNsDecl​(int prefixIndex)
                                  throws java.io.IOException
        Writes a single namespace declaration for the specified prefix.
        Throws:
        java.io.IOException
      • attribute

        public void attribute​(int prefix,
                              java.lang.String localName,
                              java.lang.String value)
                       throws java.io.IOException
        Specified by:
        attribute in interface XmlOutput
        Specified by:
        attribute in class XmlOutputAbstractImpl
        Parameters:
        prefix - -1 if this attribute does not have a prefix (this handling differs from that of elements.)
        Throws:
        java.io.IOException
      • endTag

        public void endTag​(int prefix,
                           java.lang.String localName)
                    throws java.io.IOException
        Specified by:
        endTag in interface XmlOutput
        Specified by:
        endTag in class XmlOutputAbstractImpl
        Throws:
        java.io.IOException
      • text

        public void text​(java.lang.String value,
                         boolean needSP)
                  throws java.io.IOException
        Description copied from interface: XmlOutput
        Writes XML text with character escaping, if necessary.
        Parameters:
        value - this string can contain characters that might need escaping (such as '&' or '>')
        Throws:
        java.io.IOException
      • text

        public void text​(Pcdata value,
                         boolean needSP)
                  throws java.io.IOException
        Description copied from interface: XmlOutput
        Writes XML text with character escaping, if necessary.
        Parameters:
        value - this string can contain characters that might need escaping (such as '&' or '>')
        Throws:
        java.io.IOException
      • text

        public final void text​(int value)
                        throws java.io.IOException
        Throws:
        java.io.IOException
      • text

        public void text​(byte[] data,
                         int dataLen)
                  throws java.io.IOException
        Writes the given byte[] as base64 encoded binary to the output.

        Being defined on this class allows this method to access the buffer directly, which translates to a better performance.

        Throws:
        java.io.IOException
      • write

        public final void write​(int i)
                         throws java.io.IOException
        Writes one byte directly into the buffer.

        This method can be used somewhat like the text method, but it doesn't perform character escaping.

        Throws:
        java.io.IOException
      • write

        protected final void write​(byte[] b)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • write

        protected final void write​(byte[] b,
                                   int start,
                                   int length)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • flushBuffer

        protected final void flushBuffer()
                                  throws java.io.IOException
        Throws:
        java.io.IOException