CompiledScript (Java SE 14 & JDK 14)
Description: declaration: module: java.scripting, package: javax.script, class: CompiledScript
Keywords: javax.script.CompiledScript class

Module java.scripting
Package javax.script

# Class CompiledScript

java.lang.Object
javax.script.CompiledScript

    public abstract class CompiledScript
    extends Object

Extended by classes that store results of compilations. State might be stored in the form of Java classes, Java class files or scripting language opcodes. The script may be executed repeatedly without reparsing.
Each `CompiledScript` is associated with a `ScriptEngine` -- A call to an `eval` method of the `CompiledScript` causes the execution of the script by the `ScriptEngine`. Changes in the state of the `ScriptEngine` caused by execution of the `CompiledScript` may visible during subsequent executions of scripts by the engine.

Since:
  1.6

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `CompiledScript()` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `Object` | `eval()` | Executes the program stored in the `CompiledScript` object.
  `Object` | `eval​(Bindings bindings)` | Executes the program stored in the `CompiledScript` object using the supplied `Bindings` of attributes as the `ENGINE_SCOPE` of the associated `ScriptEngine` during script execution.
  `abstract Object` | `eval​(ScriptContext context)` | Executes the program stored in this `CompiledScript` object.
  `abstract ScriptEngine` | `getEngine()` | Returns the `ScriptEngine` whose `compile` method created this `CompiledScript`.

  ### Methods declared in class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### CompiledScript

    public CompiledScript()

- ## Method Details

  - ### eval

    public abstract Object eval​(ScriptContext context) throws ScriptException
    Executes the program stored in this `CompiledScript` object.
    Parameters:
      `context` - A `ScriptContext` that is used in the same way as the `ScriptContext` passed to the `eval` methods of `ScriptEngine`.
    Returns:
      The value returned by the script execution, if any. Should return `null` if no value is returned by the script execution.
    Throws:
      `ScriptException` - if an error occurs.
      `NullPointerException` - if context is null.

  - ### eval

    public Object eval​(Bindings bindings) throws ScriptException
    Executes the program stored in the `CompiledScript` object using the supplied `Bindings` of attributes as the `ENGINE_SCOPE` of the associated `ScriptEngine` during script execution. If bindings is null, then the effect of calling this method is same as that of eval(getEngine().getContext()).

    . The `GLOBAL_SCOPE` `Bindings`, `Reader` and `Writer` associated with the default `ScriptContext` of the associated `ScriptEngine` are used.

    Parameters:
      `bindings` - The bindings of attributes used for the `ENGINE_SCOPE`.
    Returns:
      The return value from the script execution
    Throws:
      `ScriptException` - if an error occurs.

  - ### eval

    public Object eval() throws ScriptException
    Executes the program stored in the `CompiledScript` object. The default `ScriptContext` of the associated `ScriptEngine` is used. The effect of calling this method is same as that of eval(getEngine().getContext()).
    Returns:
      The return value from the script execution
    Throws:
      `ScriptException` - if an error occurs.

  - ### getEngine

    public abstract ScriptEngine getEngine()
    Returns the `ScriptEngine` whose `compile` method created this `CompiledScript`. The `CompiledScript` will execute in this engine.
    Returns:
      The `ScriptEngine` that created this `CompiledScript`