com.sun.xml.bind.v2.runtime.output
Class UTF8XmlOutput

java.lang.Object
  extended by com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl
      extended by com.sun.xml.bind.v2.runtime.output.UTF8XmlOutput
All Implemented Interfaces:
XmlOutput
Direct Known Subclasses:
C14nXmlOutput, IndentingUTF8XmlOutput

public class UTF8XmlOutput
extends XmlOutputAbstractImpl

XmlOutput implementation specialized for UTF-8.


Constructor Summary
UTF8XmlOutput(java.io.OutputStream out, Encoded[] localNames, CharacterEscapeHandler escapeHandler)
           
 
Method Summary
 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.
 void endDocument(boolean fragment)
          Called at the very end.
 void endStartTag()
           
 void endTag(int prefix, java.lang.String localName)
           
 void endTag(Name name)
           
 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.
 void write(int i)
          Writes one byte directly into the buffer.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

beginStartTag

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

beginStartTag

public void beginStartTag(Name name)
                   throws java.io.IOException
Description copied from class: XmlOutputAbstractImpl
Writes a start tag.

At this point XmlOutputAbstractImpl.nsContext holds namespace declarations needed for this new element.

This method is used for writing tags that are indexed.

Specified by:
beginStartTag in interface XmlOutput
Overrides:
beginStartTag in class XmlOutputAbstractImpl
Throws:
java.io.IOException

attribute

public void attribute(Name name,
                      java.lang.String value)
               throws java.io.IOException
Specified by:
attribute in interface XmlOutput
Overrides:
attribute in class XmlOutputAbstractImpl
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

endStartTag

public void endStartTag()
                 throws java.io.IOException
Specified by:
endStartTag in interface XmlOutput
Specified by:
endStartTag in class XmlOutputAbstractImpl
Throws:
java.io.IOException

endTag

public void endTag(Name name)
            throws java.io.IOException
Specified by:
endTag in interface XmlOutput
Overrides:
endTag in class XmlOutputAbstractImpl
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