public class StAXUtils
extends java.lang.Object
This class defines a set of methods to get XMLStreamReader and XMLStreamWriter
instances. This class caches the corresponding factories (XMLInputFactory
and XMLOutputFactory objects) by classloader (default) or as singletons.
The behavior can be changed using setFactoryPerClassLoader(boolean).
Default properties for these factories can be specified using XMLInputFactory.properties and XMLOutputFactory.properties files. When a new factory is instantiated, this class will attempt to load the corresponding file using the context classloader. This class supports properties with boolean, integer and string values. Both standard StAX properties and implementation specific properties can be specified. This feature should be used with care since changing some properties to non default values will break Axiom. Good candidates for XMLInputFactory.properties are:
Good candidates for XMLOutputFactory.properties are:
| Modifier and Type | Field and Description |
|---|---|
private static java.util.Map |
inputFactoryMap |
private static java.util.Map |
inputFactoryPerCLMap |
private static boolean |
isFactoryPerClassLoader |
private static org.apache.commons.logging.Log |
log |
private static java.util.Map |
outputFactoryMap |
private static java.util.Map |
outputFactoryPerCLMap |
| Constructor and Description |
|---|
StAXUtils() |
| Modifier and Type | Method and Description |
|---|---|
static javax.xml.stream.XMLStreamReader |
createNetworkDetachedXMLStreamReader(java.io.InputStream in)
|
static javax.xml.stream.XMLStreamReader |
createNetworkDetachedXMLStreamReader(java.io.InputStream in,
java.lang.String encoding)
|
static javax.xml.stream.XMLStreamReader |
createNetworkDetachedXMLStreamReader(java.io.Reader in)
Deprecated.
|
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(java.io.InputStream in) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(java.io.InputStream in,
java.lang.String encoding) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(java.io.Reader in) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(StAXParserConfiguration configuration,
java.io.InputStream in) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(StAXParserConfiguration configuration,
java.io.InputStream in,
java.lang.String encoding) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(StAXParserConfiguration configuration,
java.io.Reader in) |
static javax.xml.stream.XMLStreamReader |
createXMLStreamReader(StAXParserConfiguration configuration,
java.lang.String systemId,
java.io.InputStream in) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(java.io.OutputStream out) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(java.io.OutputStream out,
java.lang.String encoding) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(StAXWriterConfiguration configuration,
java.io.OutputStream out) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(StAXWriterConfiguration configuration,
java.io.OutputStream out,
java.lang.String encoding) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(StAXWriterConfiguration configuration,
java.io.Writer out) |
static javax.xml.stream.XMLStreamWriter |
createXMLStreamWriter(java.io.Writer out) |
private static java.lang.ClassLoader |
getContextClassLoader() |
static java.lang.String |
getEventTypeString(int event)
Deprecated.
Use
XMLEventUtils.getEventTypeString(int) instead |
static javax.xml.stream.XMLInputFactory |
getNetworkDetachedXMLInputFactory()
Deprecated.
|
private static javax.xml.stream.XMLInputFactory |
getXMLInputFactory_perClassLoader(StAXParserConfiguration configuration) |
private static javax.xml.stream.XMLInputFactory |
getXMLInputFactory_singleton(StAXParserConfiguration configuration) |
static javax.xml.stream.XMLInputFactory |
getXMLInputFactory()
Get a cached
XMLInputFactory instance using the default
configuration and cache policy (i.e. |
static javax.xml.stream.XMLInputFactory |
getXMLInputFactory(boolean factoryPerClassLoaderPolicy)
Get a cached
XMLInputFactory instance using the default
configuration and the specified cache policy. |
static javax.xml.stream.XMLInputFactory |
getXMLInputFactory(StAXParserConfiguration configuration)
Get a cached
XMLInputFactory instance using the specified
configuration and the default cache policy. |
static javax.xml.stream.XMLInputFactory |
getXMLInputFactory(StAXParserConfiguration configuration,
boolean factoryPerClassLoaderPolicy)
Get a cached
XMLInputFactory instance using the specified
configuration and cache policy. |
private static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory_perClassLoader(StAXWriterConfiguration configuration) |
private static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory_singleton(StAXWriterConfiguration configuration) |
static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory()
Get a cached
XMLOutputFactory instance using the default
configuration and cache policy (i.e. |
static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory(boolean factoryPerClassLoaderPolicy)
Get a cached
XMLOutputFactory instance using the default
configuration and the specified cache policy. |
static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory(StAXWriterConfiguration configuration)
Get a cached
XMLOutputFactory instance using the specified
configuration and the default cache policy. |
static javax.xml.stream.XMLOutputFactory |
getXMLOutputFactory(StAXWriterConfiguration configuration,
boolean factoryPerClassLoaderPolicy)
Get a cached
XMLOutputFactory instance using the specified
configuration and cache policy. |
(package private) static java.util.Map |
loadFactoryProperties(java.lang.String name)
Load factory properties from a resource.
|
private static javax.xml.stream.XMLInputFactory |
newXMLInputFactory(java.lang.ClassLoader classLoader,
StAXParserConfiguration configuration) |
private static javax.xml.stream.XMLOutputFactory |
newXMLOutputFactory(java.lang.ClassLoader classLoader,
StAXWriterConfiguration configuration) |
static void |
releaseXMLInputFactory(javax.xml.stream.XMLInputFactory factory)
Deprecated.
Returns an XMLInputFactory instance for reuse.
|
static void |
releaseXMLOutputFactory(javax.xml.stream.XMLOutputFactory factory)
Deprecated.
Returns an XMLOutputFactory instance for reuse.
|
static void |
reset()
Deprecated.
|
static void |
setFactoryPerClassLoader(boolean value)
Set the policy for how to maintain the XMLInputFactory and XMLOutputFactory
|
private static final org.apache.commons.logging.Log log
private static boolean isFactoryPerClassLoader
private static final java.util.Map inputFactoryMap
private static final java.util.Map outputFactoryMap
private static final java.util.Map inputFactoryPerCLMap
private static final java.util.Map outputFactoryPerCLMap
public static javax.xml.stream.XMLInputFactory getXMLInputFactory()
XMLInputFactory instance using the default
configuration and cache policy (i.e. one instance per class loader).XMLInputFactory instance.public static javax.xml.stream.XMLInputFactory getXMLInputFactory(StAXParserConfiguration configuration)
XMLInputFactory instance using the specified
configuration and the default cache policy.configuration - the configuration applied to the requested factoryXMLInputFactory instance.public static javax.xml.stream.XMLInputFactory getXMLInputFactory(boolean factoryPerClassLoaderPolicy)
XMLInputFactory instance using the default
configuration and the specified cache policy.factoryPerClassLoaderPolicy - the cache policy; see
getXMLInputFactory(StAXParserConfiguration, boolean)
for more detailsXMLInputFactory instance.public static javax.xml.stream.XMLInputFactory getXMLInputFactory(StAXParserConfiguration configuration, boolean factoryPerClassLoaderPolicy)
XMLInputFactory instance using the specified
configuration and cache policy.configuration - the configuration applied to the requested factoryfactoryPerClassLoaderPolicy - If set to true, the factory cached for the
current class loader will be returned. If set to
false, the singleton factory (instantiated using
the class loader that loaded StAXUtils) will be
returned.XMLInputFactory instance.public static void releaseXMLInputFactory(javax.xml.stream.XMLInputFactory factory)
factory - An XMLInputFactory instance that is available for reusepublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(java.io.InputStream in,
java.lang.String encoding)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(StAXParserConfiguration configuration, java.io.InputStream in, java.lang.String encoding) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(java.io.InputStream in)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(StAXParserConfiguration configuration, java.io.InputStream in) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(StAXParserConfiguration configuration, java.lang.String systemId, java.io.InputStream in) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(java.io.Reader in)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createXMLStreamReader(StAXParserConfiguration configuration, java.io.Reader in) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLOutputFactory getXMLOutputFactory()
XMLOutputFactory instance using the default
configuration and cache policy (i.e. one instance per class loader).XMLOutputFactory instance.public static javax.xml.stream.XMLOutputFactory getXMLOutputFactory(StAXWriterConfiguration configuration)
XMLOutputFactory instance using the specified
configuration and the default cache policy.configuration - the configuration applied to the requested factoryXMLOutputFactory instance.public static javax.xml.stream.XMLOutputFactory getXMLOutputFactory(boolean factoryPerClassLoaderPolicy)
XMLOutputFactory instance using the default
configuration and the specified cache policy.factoryPerClassLoaderPolicy - the cache policy; see
getXMLOutputFactory(StAXWriterConfiguration, boolean)
for more detailsXMLOutputFactory instance.public static javax.xml.stream.XMLOutputFactory getXMLOutputFactory(StAXWriterConfiguration configuration, boolean factoryPerClassLoaderPolicy)
XMLOutputFactory instance using the specified
configuration and cache policy.configuration - the configuration applied to the requested factoryfactoryPerClassLoaderPolicy - If set to true, the factory cached for the
current class loader will be returned. If set to
false, the singleton factory (instantiated using
the class loader that loaded StAXUtils) will be
returned.XMLOutputFactory instance.public static void setFactoryPerClassLoader(boolean value)
value - (if false, then one singleton...if true...then singleton per class loader
(default is true)public static void releaseXMLOutputFactory(javax.xml.stream.XMLOutputFactory factory)
factory - An XMLOutputFactory instance that is available for reuse.public static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(java.io.OutputStream out)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(StAXWriterConfiguration configuration, java.io.OutputStream out) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(java.io.OutputStream out,
java.lang.String encoding)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(StAXWriterConfiguration configuration, java.io.OutputStream out, java.lang.String encoding) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(java.io.Writer out)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamWriter createXMLStreamWriter(StAXWriterConfiguration configuration, java.io.Writer out) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static void reset()
static java.util.Map loadFactoryProperties(java.lang.String name)
name - private static javax.xml.stream.XMLInputFactory newXMLInputFactory(java.lang.ClassLoader classLoader,
StAXParserConfiguration configuration)
private static javax.xml.stream.XMLInputFactory getXMLInputFactory_perClassLoader(StAXParserConfiguration configuration)
private static javax.xml.stream.XMLInputFactory getXMLInputFactory_singleton(StAXParserConfiguration configuration)
private static javax.xml.stream.XMLOutputFactory newXMLOutputFactory(java.lang.ClassLoader classLoader,
StAXWriterConfiguration configuration)
private static javax.xml.stream.XMLOutputFactory getXMLOutputFactory_perClassLoader(StAXWriterConfiguration configuration)
private static javax.xml.stream.XMLOutputFactory getXMLOutputFactory_singleton(StAXWriterConfiguration configuration)
private static java.lang.ClassLoader getContextClassLoader()
public static javax.xml.stream.XMLStreamReader createNetworkDetachedXMLStreamReader(java.io.InputStream in,
java.lang.String encoding)
throws javax.xml.stream.XMLStreamException
createXMLStreamReader(StAXParserConfiguration, InputStream, String)
with StAXParserConfiguration.STANDALONEjavax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLInputFactory getNetworkDetachedXMLInputFactory()
getXMLInputFactory(StAXParserConfiguration) with
StAXParserConfiguration.STANDALONEpublic static javax.xml.stream.XMLStreamReader createNetworkDetachedXMLStreamReader(java.io.InputStream in)
throws javax.xml.stream.XMLStreamException
createXMLStreamReader(StAXParserConfiguration, InputStream)
with StAXParserConfiguration.STANDALONEjavax.xml.stream.XMLStreamExceptionpublic static javax.xml.stream.XMLStreamReader createNetworkDetachedXMLStreamReader(java.io.Reader in)
throws javax.xml.stream.XMLStreamException
createXMLStreamReader(StAXParserConfiguration, Reader)
with StAXParserConfiguration.STANDALONEjavax.xml.stream.XMLStreamExceptionpublic static java.lang.String getEventTypeString(int event)
XMLEventUtils.getEventTypeString(int) instead