org.jibx.runtime.impl
Class StAXReaderFactory

java.lang.Object
  extended by 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
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
private StAXReaderFactory()
          Internal constructor.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.

Constructor Detail

StAXReaderFactory

private StAXReaderFactory()
Internal constructor.

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 interface IXMLReaderFactory
Parameters:
is - document input stream
name - 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 interface IXMLReaderFactory
Parameters:
rdr - document reader
name - 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 interface IXMLReaderFactory
Parameters:
old - reader instance to be recycled
is - document input stream
name - 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 interface IXMLReaderFactory
Parameters:
old - reader instance to be recycled
rdr - document reader
name - document name (null if unknown)
Returns:
new reader instance for document
Throws:
JiBXException - on parser configuration error


Project Web Site