Module java.scripting
Package javax.script

## Interface Compilable

- All Known Implementing Classes:
    `NashornScriptEngine`

      public interface Compilable

  The optional interface implemented by ScriptEngines whose methods compile scripts to a form that can be executed repeatedly without recompilation.
  Since:
    1.6

- - ### Method Summary

    Modifier and Type | Method | Description
    --- | --- | ---
    `CompiledScript` | `compile​(Reader script)` | Compiles the script (source read from `Reader`) for later execution.
    `CompiledScript` | `compile​(String script)` | Compiles the script (source represented as a `String`) for later execution.

- - ### Method Detail

    - #### compile

          CompiledScript compile​(String script)
                          throws ScriptException

      Compiles the script (source represented as a `String`) for later execution.
      Parameters:
        `script` - The source of the script, represented as a `String`.
      Returns:
        An instance of a subclass of `CompiledScript` to be executed later using one of the `eval` methods of `CompiledScript`.
      Throws:
        `ScriptException` - if compilation fails.
        `NullPointerException` - if the argument is null.

    - #### compile

          CompiledScript compile​(Reader script)
                          throws ScriptException

      Compiles the script (source read from `Reader`) for later execution. Functionality is identical to `compile(String)` other than the way in which the source is passed.
      Parameters:
        `script` - The reader from which the script source is obtained.
      Returns:
        An instance of a subclass of `CompiledScript` to be executed later using one of its `eval` methods of `CompiledScript`.
      Throws:
        `ScriptException` - if compilation fails.
        `NullPointerException` - if argument is null.