Compilable (Java Platform SE 8 )
Keywords: javax.script.Compilable interface
Date: 2026-04-17

compact1, compact2, compact3
javax.script

## Interface Compilable

-     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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.