org.eclipse.emf.ecore.xmi.impl
Class XMLParserPoolImpl

java.lang.Object
  extended byorg.eclipse.emf.ecore.xmi.impl.XMLParserPoolImpl
All Implemented Interfaces:
XMLParserPool

public class XMLParserPoolImpl
extends Object
implements XMLParserPool

This is the default implementation of XMLParserPool. This implementation is tuned for caching parsers and handlers created using same loading options. To avoid possible memory leak (in case user is trying to parse documents using different options for every parse), there is restriction on the size of the pool. Note: this implementation is thread safe.


Constructor Summary
XMLParserPoolImpl()
           
 
Method Summary
 SAXParser get(Map features, Map properties, boolean useLexicalHandler)
          Retrieves a parser from the pool given specified properties and features.
 XMLDefaultHandler getDefaultHandler(XMLResource resource, XMLLoad xmlLoad, XMLHelper helper, Map options)
          Retrives XMLDefaultHandler from the pool and initializes / prepares it.
 void release(SAXParser parser, Map features, Map properties, boolean useLexicalHandler)
          Returns the parser to the pool.
 void releaseDefaultHandler(XMLDefaultHandler handler, Map options)
          Returns the XMLDefaultHandler to the pool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XMLParserPoolImpl

public XMLParserPoolImpl()
Method Detail

get

public SAXParser get(Map features,
                     Map properties,
                     boolean useLexicalHandler)
              throws ParserConfigurationException,
                     SAXException
Description copied from interface: XMLParserPool
Retrieves a parser from the pool given specified properties and features. If parser can't be created using specified properties or features, an exception can be thrown.

Specified by:
get in interface XMLParserPool
Parameters:
features - a map of the parser features and their values.
properties - a map of a parser properties and their values.
useLexicalHandler - whether a lexical handler was set during loading.
Returns:
A parser instance with given features and properties.
Throws:
SAXException
ParserConfigurationException
See Also:
XMLParserPool.get(Map, Map, boolean)

release

public void release(SAXParser parser,
                    Map features,
                    Map properties,
                    boolean useLexicalHandler)
Description copied from interface: XMLParserPool
Returns the parser to the pool.

Specified by:
release in interface XMLParserPool
Parameters:
parser - the parser to return to the pool.
features - a map of the parser features and their values.
properties - a map of a parser properties and their values.
useLexicalHandler - whether a lexical handler was set during loading.
See Also:
XMLParserPool.release(SAXParser, Map, Map, boolean)

getDefaultHandler

public XMLDefaultHandler getDefaultHandler(XMLResource resource,
                                           XMLLoad xmlLoad,
                                           XMLHelper helper,
                                           Map options)
Description copied from interface: XMLParserPool
Retrives XMLDefaultHandler from the pool and initializes / prepares it.

Specified by:
getDefaultHandler in interface XMLParserPool
Parameters:
resource - - the resource
xmlLoad - - the XMLLoad
helper - - XMLHelper
options -

releaseDefaultHandler

public void releaseDefaultHandler(XMLDefaultHandler handler,
                                  Map options)
Description copied from interface: XMLParserPool
Returns the XMLDefaultHandler to the pool.

Specified by:
releaseDefaultHandler in interface XMLParserPool
Parameters:
handler - the handler to return to the pool
options -

Copyright 2001-2004 IBM Corporation and others.
All Rights Reserved.