gnu.xml.stream

Class XMLStreamWriterImpl

Implemented Interfaces:
XMLStreamWriter

public class XMLStreamWriterImpl
extends Object
implements XMLStreamWriter

Simple XML stream writer.

Field Summary

protected String
encoding
The encoding being used.
protected NamespaceContext
namespaceContext
The namespace context used to determine the namespace-prefix mappings in scope.
protected boolean
prefixDefaulting
Whether prefix defaulting is being used.
protected Writer
writer
The underlying character stream to write to.

Constructor Summary

XMLStreamWriterImpl(Writer writer, String encoding, boolean prefixDefaulting)
Constructor.

Method Summary

void
close()
Frees any resources used by this writer.
protected String
createPrefix(String namespaceURI)
Creates a new unique prefix in the document.
void
flush()
Flushes any cached information to the underlying output sink.
NamespaceContext
getNamespaceContext()
Returns the current namespace context.
String
getPrefix(String uri)
Returns the prefix associated with the given namespace URI.
Object
getProperty(String name)
Returns the implementation-specific feature or property of the given name.
void
setDefaultNamespace(String uri)
Sets the URI for the default namespace.
void
setNamespaceContext(NamespaceContext context)
Sets the namespace context for namespace resolution.
void
setPrefix(String prefix, String uri)
Sets the prefix for the given namespace URI.
void
writeAttribute(String localName, String value)
Write an attribute.
void
writeAttribute(String namespaceURI, String localName, String value)
Write an attribute.
void
writeAttribute(String prefix, String namespaceURI, String localName, String value)
Write an attribute.
void
writeCData(String data)
Write a CDATA section.
void
writeCharacters(char[] text, int start, int len)
Write the specified text.
void
writeCharacters(String text)
Write the specified text.
void
writeComment(String data)
Write a comment.
void
writeDTD(String dtd)
Write a DOCTYPE declaration.
void
writeDefaultNamespace(String namespaceURI)
Write a default namespace declaration.
void
writeEmptyElement(String localName)
Write an empty tag.
void
writeEmptyElement(String namespaceURI, String localName)
Write an empty tag.
void
writeEmptyElement(String prefix, String localName, String namespaceURI)
Write an empty tag.
void
writeEndDocument()
Closes any currently open tags.
void
writeEndElement()
Closes the currently open tag.
void
writeEntityRef(String name)
Write an entity reference.
void
writeNamespace(String prefix, String namespaceURI)
Write a namespace declaration.
void
writeProcessingInstruction(String target)
Write a processing instruction.
void
writeProcessingInstruction(String target, String data)
Write a processing instruction.
void
writeStartDocument()
Write an XML declaration.
void
writeStartDocument(String version)
Write an XML declaration with the specified XML version.
void
writeStartDocument(String encoding, String version)
Write an XML declaration with the specifed XML version and encoding.
void
writeStartElement(String localName)
Write the start of a tag.
void
writeStartElement(String namespaceURI, String localName)
Write the start of a tag.
void
writeStartElement(String prefix, String localName, String namespaceURI)
Write the start of a tag.

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

encoding

protected final String encoding
The encoding being used. Note that this must match the encoding of the character stream.

namespaceContext

protected NamespaceContext namespaceContext
The namespace context used to determine the namespace-prefix mappings in scope.

prefixDefaulting

protected final boolean prefixDefaulting
Whether prefix defaulting is being used. If true and a prefix has not been defined for a namespace specified on an element or an attribute, a new prefix and namespace declaration will be created.

writer

protected final Writer writer
The underlying character stream to write to.

Constructor Details

XMLStreamWriterImpl

protected XMLStreamWriterImpl(Writer writer,
                              String encoding,
                              boolean prefixDefaulting)
Constructor.

Method Details

close

public void close()
            throws XMLStreamException
Frees any resources used by this writer. This will not close the underlying output sink.
Specified by:
close in interface XMLStreamWriter

createPrefix

protected String createPrefix(String namespaceURI)
Creates a new unique prefix in the document. Subclasses may override this method to provide a suitably unique prefix for the given namespace.
Parameters:
namespaceURI - the namespace URI

flush

public void flush()
            throws XMLStreamException
Flushes any cached information to the underlying output sink.
Specified by:
flush in interface XMLStreamWriter

getNamespaceContext

public NamespaceContext getNamespaceContext()
Returns the current namespace context.
Specified by:
getNamespaceContext in interface XMLStreamWriter

getPrefix

public String getPrefix(String uri)
            throws XMLStreamException
Returns the prefix associated with the given namespace URI.
Specified by:
getPrefix in interface XMLStreamWriter

getProperty

public Object getProperty(String name)
            throws IllegalArgumentException
Returns the implementation-specific feature or property of the given name.
Specified by:
getProperty in interface XMLStreamWriter
Throws:
IllegalArgumentException - if the property is not supported

setDefaultNamespace

public void setDefaultNamespace(String uri)
            throws XMLStreamException
Sets the URI for the default namespace.
Specified by:
setDefaultNamespace in interface XMLStreamWriter

setNamespaceContext

public void setNamespaceContext(NamespaceContext context)
            throws XMLStreamException
Sets the namespace context for namespace resolution.
Specified by:
setNamespaceContext in interface XMLStreamWriter

setPrefix

public void setPrefix(String prefix,
                      String uri)
            throws XMLStreamException
Sets the prefix for the given namespace URI.
Specified by:
setPrefix in interface XMLStreamWriter

writeAttribute

public void writeAttribute(String localName,
                           String value)
            throws XMLStreamException
Write an attribute.
Specified by:
writeAttribute in interface XMLStreamWriter

writeAttribute

public void writeAttribute(String namespaceURI,
                           String localName,
                           String value)
            throws XMLStreamException
Write an attribute.
Specified by:
writeAttribute in interface XMLStreamWriter

writeAttribute

public void writeAttribute(String prefix,
                           String namespaceURI,
                           String localName,
                           String value)
            throws XMLStreamException
Write an attribute.
Specified by:
writeAttribute in interface XMLStreamWriter

writeCData

public void writeCData(String data)
            throws XMLStreamException
Write a CDATA section.
Specified by:
writeCData in interface XMLStreamWriter

writeCharacters

public void writeCharacters(char[] text,
                            int start,
                            int len)
            throws XMLStreamException
Write the specified text.
Specified by:
writeCharacters in interface XMLStreamWriter

writeCharacters

public void writeCharacters(String text)
            throws XMLStreamException
Write the specified text.
Specified by:
writeCharacters in interface XMLStreamWriter

writeComment

public void writeComment(String data)
            throws XMLStreamException
Write a comment.
Specified by:
writeComment in interface XMLStreamWriter

writeDTD

public void writeDTD(String dtd)
            throws XMLStreamException
Write a DOCTYPE declaration.
Specified by:
writeDTD in interface XMLStreamWriter

writeDefaultNamespace

public void writeDefaultNamespace(String namespaceURI)
            throws XMLStreamException
Write a default namespace declaration.
Specified by:
writeDefaultNamespace in interface XMLStreamWriter

writeEmptyElement

public void writeEmptyElement(String localName)
            throws XMLStreamException
Write an empty tag.
Specified by:
writeEmptyElement in interface XMLStreamWriter

writeEmptyElement

public void writeEmptyElement(String namespaceURI,
                              String localName)
            throws XMLStreamException
Write an empty tag.
Specified by:
writeEmptyElement in interface XMLStreamWriter

writeEmptyElement

public void writeEmptyElement(String prefix,
                              String localName,
                              String namespaceURI)
            throws XMLStreamException
Write an empty tag.
Specified by:
writeEmptyElement in interface XMLStreamWriter

writeEndDocument

public void writeEndDocument()
            throws XMLStreamException
Closes any currently open tags.
Specified by:
writeEndDocument in interface XMLStreamWriter

writeEndElement

public void writeEndElement()
            throws XMLStreamException
Closes the currently open tag.
Specified by:
writeEndElement in interface XMLStreamWriter

writeEntityRef

public void writeEntityRef(String name)
            throws XMLStreamException
Write an entity reference.
Specified by:
writeEntityRef in interface XMLStreamWriter

writeNamespace

public void writeNamespace(String prefix,
                           String namespaceURI)
            throws XMLStreamException
Write a namespace declaration.
Specified by:
writeNamespace in interface XMLStreamWriter

writeProcessingInstruction

public void writeProcessingInstruction(String target)
            throws XMLStreamException
Write a processing instruction.
Specified by:
writeProcessingInstruction in interface XMLStreamWriter

writeProcessingInstruction

public void writeProcessingInstruction(String target,
                                       String data)
            throws XMLStreamException
Write a processing instruction.
Specified by:
writeProcessingInstruction in interface XMLStreamWriter

writeStartDocument

public void writeStartDocument()
            throws XMLStreamException
Write an XML declaration.
Specified by:
writeStartDocument in interface XMLStreamWriter

writeStartDocument

public void writeStartDocument(String version)
            throws XMLStreamException
Write an XML declaration with the specified XML version.
Specified by:
writeStartDocument in interface XMLStreamWriter

writeStartDocument

public void writeStartDocument(String encoding,
                               String version)
            throws XMLStreamException
Write an XML declaration with the specifed XML version and encoding.
Specified by:
writeStartDocument in interface XMLStreamWriter

writeStartElement

public void writeStartElement(String localName)
            throws XMLStreamException
Write the start of a tag.
Specified by:
writeStartElement in interface XMLStreamWriter

writeStartElement

public void writeStartElement(String namespaceURI,
                              String localName)
            throws XMLStreamException
Write the start of a tag.
Specified by:
writeStartElement in interface XMLStreamWriter

writeStartElement

public void writeStartElement(String prefix,
                              String localName,
                              String namespaceURI)
            throws XMLStreamException
Write the start of a tag.
Specified by:
writeStartElement in interface XMLStreamWriter

XMLStreamWriterImpl.java -- Copyright (C) 2005 Free Software Foundation, Inc. This file is part of GNU Classpath. GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Classpath; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.