Package org.jibx.runtime.impl
Class StAXReaderFactory
- java.lang.Object
-
- org.jibx.runtime.impl.StAXReaderFactory
-
- All Implemented Interfaces:
IXMLReaderFactory
public class StAXReaderFactory extends java.lang.Object implements IXMLReaderFactory
Factory for creating XMLPull parser instances.- Version:
- 1.0
- Author:
- Dennis M. Sosnoski
-
-
Field Summary
Fields Modifier and Type Field Description private javax.xml.stream.XMLInputFactory
m_factory
Factory used for constructing parser instances.private boolean
m_isNamespaceEnabled
Namespace processing state configured on factory.private static StAXReaderFactory
s_instance
Singleton instance of class.
-
Constructor Summary
Constructors Modifier Constructor Description private
StAXReaderFactory()
Internal constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IXMLReader
createReader(java.io.InputStream is, java.lang.String name, java.lang.String enc, boolean nsf)
Get new XML reader instance for document from input stream.IXMLReader
createReader(java.io.Reader rdr, java.lang.String name, boolean nsf)
Get new XML reader instance for document from reader.static StAXReaderFactory
getInstance()
Get instance of factory.IXMLReader
recycleReader(IXMLReader old, java.io.InputStream is, java.lang.String name, java.lang.String enc)
Recycle XML reader instance for new document from input stream.IXMLReader
recycleReader(IXMLReader old, java.io.Reader rdr, java.lang.String name)
Recycle XML reader instance for document from reader.private void
setNamespacesState(boolean nsf)
Create new parser instance.
-
-
-
Field Detail
-
s_instance
private static final StAXReaderFactory s_instance
Singleton instance of class.
-
m_factory
private final javax.xml.stream.XMLInputFactory m_factory
Factory used for constructing parser instances.
-
m_isNamespaceEnabled
private boolean m_isNamespaceEnabled
Namespace processing state configured on factory.
-
-
Method Detail
-
getInstance
public static StAXReaderFactory getInstance()
Get instance of factory.- Returns:
- factory instance
-
setNamespacesState
private void setNamespacesState(boolean nsf) throws JiBXException
Create new parser instance. In order to avoid thread safety issues the caller must have a lock on the factory object.- Parameters:
nsf
- enable namespace processing on parser flag- Throws:
JiBXException
- on error creating parser
-
createReader
public IXMLReader createReader(java.io.InputStream is, java.lang.String name, java.lang.String enc, boolean nsf) throws JiBXException
Description copied from interface:IXMLReaderFactory
Get new XML reader instance for document from input stream.- Specified by:
createReader
in interfaceIXMLReaderFactory
- Parameters:
is
- document input streamname
- document name (null
if unknown)enc
- document character encoding (null
if unknown)nsf
- namespaces enabled flag- Returns:
- new reader instance for document
- Throws:
JiBXException
- on parser configuration error
-
createReader
public IXMLReader createReader(java.io.Reader rdr, java.lang.String name, boolean nsf) throws JiBXException
Description copied from interface:IXMLReaderFactory
Get new XML reader instance for document from reader.- Specified by:
createReader
in interfaceIXMLReaderFactory
- Parameters:
rdr
- document readername
- document name (null
if unknown)nsf
- namespaces enabled flag- Returns:
- new reader instance for document
- Throws:
JiBXException
- on parser configuration error
-
recycleReader
public IXMLReader recycleReader(IXMLReader old, java.io.InputStream is, java.lang.String name, java.lang.String enc) throws JiBXException
Description copied from interface:IXMLReaderFactory
Recycle XML reader instance for new document from input stream. If the supplied reader can be reused it will be configured for the new document and returned; otherwise, a new reader will be created for the document. The namespace enabled state of the returned reader is always the same as that of the supplied reader.- Specified by:
recycleReader
in interfaceIXMLReaderFactory
- Parameters:
old
- reader instance to be recycledis
- document input streamname
- document name (null
if unknown)enc
- document character encoding (null
if unknown)- Returns:
- new reader instance for document
- Throws:
JiBXException
- on parser configuration error
-
recycleReader
public IXMLReader recycleReader(IXMLReader old, java.io.Reader rdr, java.lang.String name) throws JiBXException
Description copied from interface:IXMLReaderFactory
Recycle XML reader instance for document from reader. If the supplied reader can be reused it will be configured for the new document and returned; otherwise, a new reader will be created for the document. The namespace enabled state of the returned reader is always the same as that of the supplied reader.- Specified by:
recycleReader
in interfaceIXMLReaderFactory
- Parameters:
old
- reader instance to be recycledrdr
- document readername
- document name (null
if unknown)- Returns:
- new reader instance for document
- Throws:
JiBXException
- on parser configuration error
-
-