javax.xml.stream

Class XMLOutputFactory


public abstract class XMLOutputFactory
extends Object

Factory for obtaining XML stream and event writers for various kinds of output sink.

Configuration

NameDescriptionTypeDefaultRequired
javax.xml.stream.isRepairingNamespacesdefault namespace prefixesBooleanBoolean.FALSEyes

Field Summary

static String
IS_REPAIRING_NAMESPACES
Property used to control whether to default namespace prefixes.

Constructor Summary

XMLOutputFactory()
The basic constructor.

Method Summary

abstract XMLEventWriter
createXMLEventWriter(OutputStream stream)
Creates a new event writer.
abstract XMLEventWriter
createXMLEventWriter(OutputStream stream, String encoding)
Creates a new event writer.
abstract XMLEventWriter
createXMLEventWriter(Writer stream)
Creates a new event writer.
abstract XMLEventWriter
createXMLEventWriter(Result result)
Creates a new event writer.
abstract XMLStreamWriter
createXMLStreamWriter(OutputStream stream)
Creates a new stream writer.
abstract XMLStreamWriter
createXMLStreamWriter(OutputStream stream, String encoding)
Creates a new stream writer.
abstract XMLStreamWriter
createXMLStreamWriter(Writer stream)
Creates a new stream writer.
abstract XMLStreamWriter
createXMLStreamWriter(Result result)
Creates a new stream writer.
abstract Object
getProperty(String name)
Returns the implementation-specific property of the given name.
abstract boolean
isPropertySupported(String name)
Indicates whether the specified property is supported.
static XMLOutputFactory
newInstance()
Creates a new output factory.
static XMLOutputFactory
newInstance(String factoryId, ClassLoader classLoader)
Creates a new output factory.
abstract void
setProperty(String name, Object value)
Sets the implementation-specific property of the given name.

Methods inherited from class java.lang.Object

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

Field Details

IS_REPAIRING_NAMESPACES

public static final String IS_REPAIRING_NAMESPACES
Property used to control whether to default namespace prefixes. If true, the writer will create a namespace declaration for any attribute that doesn't have a namespace declaration in scope.
Field Value:
"javax.xml.stream.isRepairingNamespaces"

Constructor Details

XMLOutputFactory

protected XMLOutputFactory()
The basic constructor. Object is special, because it has no superclass, so there is no call to super().

Method Details

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream)
            throws XMLStreamException
Creates a new event writer.

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(OutputStream stream,
                                                    String encoding)
            throws XMLStreamException
Creates a new event writer.

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Writer stream)
            throws XMLStreamException
Creates a new event writer.

createXMLEventWriter

public abstract XMLEventWriter createXMLEventWriter(Result result)
            throws XMLStreamException
Creates a new event writer.
Throws:
UnsupportedOperationException - if this method is not supported

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream)
            throws XMLStreamException
Creates a new stream writer.

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(OutputStream stream,
                                                      String encoding)
            throws XMLStreamException
Creates a new stream writer.

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Writer stream)
            throws XMLStreamException
Creates a new stream writer.

createXMLStreamWriter

public abstract XMLStreamWriter createXMLStreamWriter(Result result)
            throws XMLStreamException
Creates a new stream writer.
Throws:
UnsupportedOperationException - if this method is not supported

getProperty

public abstract Object getProperty(String name)
            throws IllegalArgumentException
Returns the implementation-specific property of the given name.
Throws:
IllegalArgumentException - if the property is not supported

isPropertySupported

public abstract boolean isPropertySupported(String name)
Indicates whether the specified property is supported.

newInstance

public static XMLOutputFactory newInstance()
            throws FactoryConfigurationError
Creates a new output factory.

newInstance

public static XMLOutputFactory newInstance(String factoryId,
                                           ClassLoader classLoader)
            throws FactoryConfigurationError
Creates a new output factory. The implementation class to load is the first found in the following locations:
  1. the javax.xml.stream.XMLOutputFactory system property
  2. the above named property value in the $JAVA_HOME/lib/stax.properties file
  3. the class name specified in the META-INF/services/javax.xml.stream.XMLOutputFactory system resource
  4. the default factory class
Parameters:
factoryId - the name of the factory, same as the property
classLoader - the class loader to use
Returns:
a new factory instance
Throws:
FactoryConfigurationError - if an instance of this factory could not be loaded

setProperty

public abstract void setProperty(String name,
                                 Object value)
            throws IllegalArgumentException
Sets the implementation-specific property of the given name.
Throws:
IllegalArgumentException - if the property is not supported

XMLOutputFactory.java -- Copyright (C) 2005,2006,2009 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.