## org.apache.batik.script
Interface Interpreter

All Superinterfaces:
  Localizable

All Known Implementing Classes:
  JaclInterpreter, JPythonInterpreter, RhinoInterpreter

public interface Interpreter
extends Localizable

An hight level interface that represents an interpreter engine of a particular scripting language.

Method Summary
`void` `bindObject(java.lang.String name, java.lang.Object object)` This method should register a particular Java `Object` in the environment of the interpreter.
`void` `dispose()` This method can dispose resources used by the interpreter when it is no longer used.
`java.lang.Object` `evaluate(java.io.Reader scriptreader)` This method should evaluate a piece of script.
`java.lang.Object` `evaluate(java.io.Reader scriptreader, java.lang.String description)` This method should evaluate a piece of script associated to a given description.
`java.lang.Object` `evaluate(java.lang.String script)` This method should evaluate a piece of script using a `String` instead of a `Reader`.
`void` `setOut(java.io.Writer output)` This method should change the output `Writer` that will be used when output function of the scripting langage is used.

Methods inherited from interface org.apache.batik.i18n.Localizable
`formatMessage, getLocale, setLocale`

Method Detail

### evaluate

    public java.lang.Object evaluate(java.io.Reader scriptreader,
                                     java.lang.String description)
                              throws InterpreterException,
                                     java.io.IOException

  This method should evaluate a piece of script associated to a given description.

  Parameters:
    `scriptreader` - a `java.io.Reader` on the piece of script
    `description` - description which can be later used (e.g., for error messages).
  Returns:
    if no exception is thrown during the call, should return the value of the last expression evaluated in the script
  Throws:
    `InterpreterException`
    `java.io.IOException`

### evaluate

    public java.lang.Object evaluate(java.io.Reader scriptreader)
                              throws InterpreterException,
                                     java.io.IOException

  This method should evaluate a piece of script.

  Parameters:
    `scriptreader` - a `java.io.Reader` on the piece of script
  Returns:
    if no exception is thrown during the call, should return the value of the last expression evaluated in the script
  Throws:
    `InterpreterException`
    `java.io.IOException`

### evaluate

    public java.lang.Object evaluate(java.lang.String script)
                              throws InterpreterException

  This method should evaluate a piece of script using a `String` instead of a `Reader`. This usually allows do easily do some caching.

  Parameters:
    `script` - the piece of script
  Returns:
    if no exception is thrown during the call, should return the value of the last expression evaluated in the script
  Throws:
    `InterpreterException`

### bindObject

    public void bindObject(java.lang.String name,
                           java.lang.Object object)

  This method should register a particular Java `Object` in the environment of the interpreter.

  Parameters:
    `name` - the name of the script object to create
    `object` - the Java object

### setOut

    public void setOut(java.io.Writer output)

  This method should change the output `Writer` that will be used when output function of the scripting langage is used.

  Parameters:
    `output` - the new out `Writer`.

### dispose

    public void dispose()

  This method can dispose resources used by the interpreter when it is no longer used. Be careful, you SHOULD NOT use this interpreter instance after calling this method.

Copyright © 2004 Apache Software Foundation. All Rights Reserved.