org.apache.batik.script
Class InterpreterPool

java.lang.Object
  |
  +--org.apache.batik.script.InterpreterPool

public class InterpreterPool
extends java.lang.Object

A class allowing to create/query an Interpreter corresponding to a particular Document and scripting language.

By default, it is able to create interpreters for ECMAScript, Python and Tcl scripting languages if you provide the right jar files in your CLASSPATH (i.e. Rhino, JPython and Jacl jar files).


Field Summary
protected static java.util.Map defaultFactories
          The default InterpreterFactory map.
protected  java.util.Map factories
          The InterpreterFactory map.
 
Constructor Summary
InterpreterPool()
          Constructs a new InterpreterPool.
 
Method Summary
protected static Document createDocumentProxy(Document document)
          We use Proxies that use WeakReference to prevent from referencing directly the document, otherwhise, the WeakHashMap will be useless as the document will never be in situation of beeing discarded.
 Interpreter createInterpreter(Document document, java.lang.String language)
          Creates a new interpreter for the specified document and according to the specified language.
 void putInterpreterFactory(java.lang.String language, InterpreterFactory factory)
          Adds for the specified language, the specified Interpreter factory.
 void removeInterpreterFactory(java.lang.String language)
          Removes the InterpreterFactory associated to the specified language.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

defaultFactories

protected static java.util.Map defaultFactories
The default InterpreterFactory map.

factories

protected java.util.Map factories
The InterpreterFactory map.
Constructor Detail

InterpreterPool

public InterpreterPool()
Constructs a new InterpreterPool.
Method Detail

createInterpreter

public Interpreter createInterpreter(Document document,
                                     java.lang.String language)
Creates a new interpreter for the specified document and according to the specified language. This method can return null if no interpreter has been found for the specified language.
Parameters:
document - the document that needs the interpreter
language - the scripting language

createDocumentProxy

protected static Document createDocumentProxy(Document document)
We use Proxies that use WeakReference to prevent from referencing directly the document, otherwhise, the WeakHashMap will be useless as the document will never be in situation of beeing discarded.

putInterpreterFactory

public void putInterpreterFactory(java.lang.String language,
                                  InterpreterFactory factory)
Adds for the specified language, the specified Interpreter factory.
Parameters:
language - the language for which the factory is registered
factory - the InterpreterFactory to register

removeInterpreterFactory

public void removeInterpreterFactory(java.lang.String language)
Removes the InterpreterFactory associated to the specified language.
Parameters:
language - the language for which the factory should be removed.


Copyright © 2002 Apache Software Foundation. All Rights Reserved.