Class XMLWriterBase

  • All Implemented Interfaces:
    javax.xml.stream.XMLStreamWriter
    Direct Known Subclasses:
    XMLStreamRecorder

    public class XMLWriterBase
    extends ReaderToWriter
    implements javax.xml.stream.XMLStreamWriter

    The base output class.

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()
      Close this writer and free any resources associated with the writer.
      protected void closeEndTag()  
      protected void closeStartElement()  
      protected void closeStartTag()  
      void flush()
      Write any cached data to the underlying output mechanism.
      javax.xml.namespace.NamespaceContext getNamespaceContext()
      Returns the current namespace context.
      java.lang.String getPrefix​(java.lang.String uri)
      Gets the prefix the uri is bound to
      java.lang.Object getProperty​(java.lang.String name)
      Get the value of a feature/property from the underlying implementation
      protected java.lang.String getURIInternal​(java.lang.String prefix)  
      protected boolean isOpen()  
      static void main​(java.lang.String[] args)  
      protected void openEndTag()  
      protected void openStartTag()  
      void setConfigurationContext​(ConfigurationContextBase c)  
      void setDefaultNamespace​(java.lang.String uri)
      Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.
      void setNamespaceContext​(javax.xml.namespace.NamespaceContext context)
      Sets the current namespace context for prefix and uri bindings.
      void setPrefix​(java.lang.String prefix, java.lang.String uri)
      Sets the prefix the uri is bound to.
      void setWriter​(java.io.Writer writer)  
      protected void write​(char c)  
      protected void write​(char[] c)  
      protected void write​(char[] c, int start, int len)  
      protected void write​(java.lang.String s)  
      void writeAttribute​(java.lang.String localName, java.lang.String value)
      Writes an attribute to the output stream without a prefix.
      void writeAttribute​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
      Writes an attribute to the output stream
      void writeAttribute​(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName, java.lang.String value)
      Writes an attribute to the output stream
      void writeCData​(java.lang.String data)
      Writes a CData section
      void writeCharacters​(char[] text, int start, int len)
      Write text to the output
      void writeCharacters​(java.lang.String text)
      Write text to the output
      protected void writeCharactersInternal​(char[] characters, int start, int length, boolean isAttributeValue)  
      void writeComment​(java.lang.String data)
      Writes an xml comment with the data enclosed
      void writeDefaultNamespace​(java.lang.String namespaceURI)
      Writes the default namespace to the stream
      void writeDTD​(java.lang.String dtd)
      Write a DTD section.
      void writeEmptyElement​(java.lang.String localName)
      Writes an empty element tag to the output
      void writeEmptyElement​(java.lang.String namespaceURI, java.lang.String localName)
      Writes an empty element tag to the output
      void writeEmptyElement​(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
      Writes an empty element tag to the output
      void writeEndDocument()
      Closes any start tags and writes corresponding end tags.
      void writeEndElement()
      Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.
      void writeEntityRef​(java.lang.String name)
      Writes an entity reference
      protected java.lang.String writeName​(java.lang.String prefix, java.lang.String namespaceURI, java.lang.String localName)  
      void writeNamespace​(java.lang.String prefix, java.lang.String namespaceURI)
      Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespace
      void writeProcessingInstruction​(java.lang.String target)
      Writes a processing instruction
      void writeProcessingInstruction​(java.lang.String target, java.lang.String text)
      Writes a processing instruction
      void writeRaw​(java.lang.String data)  
      void writeStartDocument()
      Write the XML Declaration.
      void writeStartDocument​(java.lang.String version)
      Write the XML Declaration.
      void writeStartDocument​(java.lang.String encoding, java.lang.String version)
      Write the XML Declaration.
      void writeStartElement​(java.lang.String localName)
      Writes a start tag to the output.
      void writeStartElement​(java.lang.String namespaceURI, java.lang.String localName)
      Writes a start tag to the output
      void writeStartElement​(java.lang.String prefix, java.lang.String localName, java.lang.String namespaceURI)
      Writes a start tag to the output
      protected void writeStartElementInternal​(java.lang.String namespaceURI, java.lang.String localName)  
      • Methods inherited from class java.lang.Object

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

      • XMLWriterBase

        public XMLWriterBase()
      • XMLWriterBase

        public XMLWriterBase​(java.io.Writer writer)
    • Method Detail

      • setWriter

        public void setWriter​(java.io.Writer writer)
      • write

        protected void write​(java.lang.String s)
                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • write

        protected void write​(char c)
                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • write

        protected void write​(char[] c)
                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • write

        protected void write​(char[] c,
                             int start,
                             int len)
                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCharactersInternal

        protected void writeCharactersInternal​(char[] characters,
                                               int start,
                                               int length,
                                               boolean isAttributeValue)
                                        throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • closeStartElement

        protected void closeStartElement()
                                  throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • isOpen

        protected boolean isOpen()
      • closeStartTag

        protected void closeStartTag()
                              throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • writeName

        protected java.lang.String writeName​(java.lang.String prefix,
                                             java.lang.String namespaceURI,
                                             java.lang.String localName)
                                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • getURIInternal

        protected java.lang.String getURIInternal​(java.lang.String prefix)
      • openStartTag

        protected void openStartTag()
                             throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartElementInternal

        protected void writeStartElementInternal​(java.lang.String namespaceURI,
                                                 java.lang.String localName)
                                          throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartElement

        public void writeStartElement​(java.lang.String namespaceURI,
                                      java.lang.String localName)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a start tag to the output
        Specified by:
        writeStartElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        namespaceURI - the namespaceURI of the prefix to use, may not be null
        localName - local name of the tag, may not be null
        Throws:
        javax.xml.stream.XMLStreamException - if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
      • writeStartElement

        public void writeStartElement​(java.lang.String prefix,
                                      java.lang.String localName,
                                      java.lang.String namespaceURI)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a start tag to the output
        Specified by:
        writeStartElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        prefix - the prefix of the tag, may not be null
        localName - local name of the tag, may not be null
        namespaceURI - the uri to bind the prefix to, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartElement

        public void writeStartElement​(java.lang.String localName)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a start tag to the output. All writeStartElement methods open a new scope in the internal namespace context. Writing the corresponding EndElement causes the scope to be closed.
        Specified by:
        writeStartElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        localName - local name of the tag, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeEmptyElement

        public void writeEmptyElement​(java.lang.String namespaceURI,
                                      java.lang.String localName)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an empty element tag to the output
        Specified by:
        writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        namespaceURI - the uri to bind the tag to, may not be null
        localName - local name of the tag, may not be null
        Throws:
        javax.xml.stream.XMLStreamException - if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
      • writeEmptyElement

        public void writeEmptyElement​(java.lang.String prefix,
                                      java.lang.String localName,
                                      java.lang.String namespaceURI)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an empty element tag to the output
        Specified by:
        writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        prefix - the prefix of the tag, may not be null
        localName - local name of the tag, may not be null
        namespaceURI - the uri to bind the tag to, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeEmptyElement

        public void writeEmptyElement​(java.lang.String localName)
                               throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an empty element tag to the output
        Specified by:
        writeEmptyElement in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        localName - local name of the tag, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • openEndTag

        protected void openEndTag()
                           throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • closeEndTag

        protected void closeEndTag()
                            throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • writeEndElement

        public void writeEndElement()
                             throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.
        Specified by:
        writeEndElement in interface javax.xml.stream.XMLStreamWriter
        Throws:
        javax.xml.stream.XMLStreamException
      • writeRaw

        public void writeRaw​(java.lang.String data)
                      throws javax.xml.stream.XMLStreamException
        Throws:
        javax.xml.stream.XMLStreamException
      • close

        public void close()
                   throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Close this writer and free any resources associated with the writer. This must not close the underlying output stream.
        Specified by:
        close in interface javax.xml.stream.XMLStreamWriter
        Throws:
        javax.xml.stream.XMLStreamException
      • flush

        public void flush()
                   throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write any cached data to the underlying output mechanism.
        Specified by:
        flush in interface javax.xml.stream.XMLStreamWriter
        Throws:
        javax.xml.stream.XMLStreamException
      • writeEndDocument

        public void writeEndDocument()
                              throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Closes any start tags and writes corresponding end tags.
        Specified by:
        writeEndDocument in interface javax.xml.stream.XMLStreamWriter
        Throws:
        javax.xml.stream.XMLStreamException
      • writeAttribute

        public void writeAttribute​(java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an attribute to the output stream without a prefix.
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        localName - the local name of the attribute
        value - the value of the attribute
        Throws:
        javax.xml.stream.XMLStreamException
      • writeAttribute

        public void writeAttribute​(java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an attribute to the output stream
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        namespaceURI - the uri of the prefix for this attribute
        localName - the local name of the attribute
        value - the value of the attribute
        Throws:
        javax.xml.stream.XMLStreamException - if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
      • writeAttribute

        public void writeAttribute​(java.lang.String prefix,
                                   java.lang.String namespaceURI,
                                   java.lang.String localName,
                                   java.lang.String value)
                            throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an attribute to the output stream
        Specified by:
        writeAttribute in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        prefix - the prefix for this attribute
        namespaceURI - the uri of the prefix for this attribute
        localName - the local name of the attribute
        value - the value of the attribute
        Throws:
        javax.xml.stream.XMLStreamException - if the namespace URI has not been bound to a prefix and javax.xml.stream.isPrefixDefaulting has not been set to true
      • writeNamespace

        public void writeNamespace​(java.lang.String prefix,
                                   java.lang.String namespaceURI)
                            throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespace
        Specified by:
        writeNamespace in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        prefix - the prefix to bind this namespace to
        namespaceURI - the uri to bind the prefix to
        Throws:
        javax.xml.stream.XMLStreamException
      • writeDefaultNamespace

        public void writeDefaultNamespace​(java.lang.String namespaceURI)
                                   throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes the default namespace to the stream
        Specified by:
        writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        namespaceURI - the uri to bind the default namespace to
        Throws:
        javax.xml.stream.XMLStreamException
      • writeComment

        public void writeComment​(java.lang.String data)
                          throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an xml comment with the data enclosed
        Specified by:
        writeComment in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        data - the data contained in the comment, may be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeProcessingInstruction

        public void writeProcessingInstruction​(java.lang.String target)
                                        throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a processing instruction
        Specified by:
        writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        target - the target of the processing instruction, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeProcessingInstruction

        public void writeProcessingInstruction​(java.lang.String target,
                                               java.lang.String text)
                                        throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a processing instruction
        Specified by:
        writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        target - the target of the processing instruction, may not be null
        text - the data contained in the processing instruction, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeDTD

        public void writeDTD​(java.lang.String dtd)
                      throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write a DTD section. This string represents the entire doctypedecl production from the XML 1.0 specification.
        Specified by:
        writeDTD in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        dtd - the DTD to be written
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCData

        public void writeCData​(java.lang.String data)
                        throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes a CData section
        Specified by:
        writeCData in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        data - the data contained in the CData Section, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • writeEntityRef

        public void writeEntityRef​(java.lang.String name)
                            throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Writes an entity reference
        Specified by:
        writeEntityRef in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        name - the name of the entity
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartDocument

        public void writeStartDocument()
                                throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write the XML Declaration. Defaults the XML version to 1.0, and the encoding to utf-8
        Specified by:
        writeStartDocument in interface javax.xml.stream.XMLStreamWriter
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartDocument

        public void writeStartDocument​(java.lang.String version)
                                throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write the XML Declaration. Defaults the XML version to 1.0
        Specified by:
        writeStartDocument in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        version - version of the xml document
        Throws:
        javax.xml.stream.XMLStreamException
      • writeStartDocument

        public void writeStartDocument​(java.lang.String encoding,
                                       java.lang.String version)
                                throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write the XML Declaration. Note that the encoding parameter does not set the actual encoding of the underlying output. That must be set when the instance of the XMLStreamWriter is created using the XMLOutputFactory
        Specified by:
        writeStartDocument in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        encoding - encoding of the xml declaration
        version - version of the xml document
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCharacters

        public void writeCharacters​(java.lang.String text)
                             throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write text to the output
        Specified by:
        writeCharacters in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        text - the value to write
        Throws:
        javax.xml.stream.XMLStreamException
      • writeCharacters

        public void writeCharacters​(char[] text,
                                    int start,
                                    int len)
                             throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Write text to the output
        Specified by:
        writeCharacters in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        text - the value to write
        start - the starting position in the array
        len - the number of characters to write
        Throws:
        javax.xml.stream.XMLStreamException
      • getPrefix

        public java.lang.String getPrefix​(java.lang.String uri)
                                   throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Gets the prefix the uri is bound to
        Specified by:
        getPrefix in interface javax.xml.stream.XMLStreamWriter
        Returns:
        the prefix or null
        Throws:
        javax.xml.stream.XMLStreamException
      • setPrefix

        public void setPrefix​(java.lang.String prefix,
                              java.lang.String uri)
                       throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Sets the prefix the uri is bound to. This prefix is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the prefix is bound in the root scope.
        Specified by:
        setPrefix in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        prefix - the prefix to bind to the uri, may not be null
        uri - the uri to bind to the prefix, may be null
        Throws:
        javax.xml.stream.XMLStreamException
      • setDefaultNamespace

        public void setDefaultNamespace​(java.lang.String uri)
                                 throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair. If this method is called before a START_ELEMENT has been written the uri is bound in the root scope.
        Specified by:
        setDefaultNamespace in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        uri - the uri to bind to the default namespace, may be null
        Throws:
        javax.xml.stream.XMLStreamException
      • setNamespaceContext

        public void setNamespaceContext​(javax.xml.namespace.NamespaceContext context)
                                 throws javax.xml.stream.XMLStreamException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Sets the current namespace context for prefix and uri bindings. This context becomes the root namespace context for writing and will replace the current root namespace context. Subsequent calls to setPrefix and setDefaultNamespace will bind namespaces using the context passed to the method as the root context for resolving namespaces. This method may only be called once at the start of the document. It does not cause the namespaces to be declared. If a namespace URI to prefix mapping is found in the namespace context it is treated as declared and the prefix may be used by the StreamWriter.
        Specified by:
        setNamespaceContext in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        context - the namespace context to use for this writer, may not be null
        Throws:
        javax.xml.stream.XMLStreamException
      • getNamespaceContext

        public javax.xml.namespace.NamespaceContext getNamespaceContext()
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Returns the current namespace context.
        Specified by:
        getNamespaceContext in interface javax.xml.stream.XMLStreamWriter
        Returns:
        the current NamespaceContext
      • getProperty

        public java.lang.Object getProperty​(java.lang.String name)
                                     throws java.lang.IllegalArgumentException
        Description copied from interface: javax.xml.stream.XMLStreamWriter
        Get the value of a feature/property from the underlying implementation
        Specified by:
        getProperty in interface javax.xml.stream.XMLStreamWriter
        Parameters:
        name - The name of the property, may not be null
        Returns:
        The value of the property
        Throws:
        java.lang.IllegalArgumentException - if the property is not supported
      • main

        public static void main​(java.lang.String[] args)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception