Class InterpreterPool

java.lang.Object
org.apache.batik.script.InterpreterPool

public class InterpreterPool extends 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).

Version:
$Id: InterpreterPool.java 1804130 2017-08-04 14:41:11Z ssteiner $
  • Field Details

    • BIND_NAME_DOCUMENT

      public static final String BIND_NAME_DOCUMENT
      Name of the "document" object when referenced by scripts
      See Also:
    • defaultFactories

      protected static Map defaultFactories
      The default InterpreterFactory map.
    • factories

      protected Map factories
      The InterpreterFactory map.
  • Constructor Details

    • InterpreterPool

      public InterpreterPool()
      Constructs a new InterpreterPool.
  • Method Details

    • createInterpreter

      public Interpreter createInterpreter(Document document, 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
    • createInterpreter

      public Interpreter createInterpreter(Document document, String language, ImportInfo imports)
      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
      imports - The set of classes/packages to import (if the interpreter supports that).
    • putInterpreterFactory

      public void putInterpreterFactory(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(String language)
      Removes the InterpreterFactory associated to the specified language.
      Parameters:
      language - the language for which the factory should be removed.