モジュール java.scripting
パッケージ javax.script

インタフェースScriptEngine

  • 既知のすべての実装クラス:
    AbstractScriptEngine, NashornScriptEngine

    public interface ScriptEngine
    ScriptEngineは、この仕様のすべての実装で完全に機能することが必要なメソッドを持つ基本インタフェースです。

    これらのメソッドは、基本的なスクリプト機能を提供します。
    この単純なインタフェースに記述されたアプリケーションは、どの実装でも最小限の変更で動作することが期待されます。 スクリプトを実行するメソッド、値を設定および取得するメソッドが含まれます。

    値は、2種類のキーと値のペアです。
    1つ目のタイプのペアでは、各ペアのキーは予約済で、この仕様で、または個別の実装によって定義されます。 予約済のキーを持つペア内の値は、指定された意味を持ちます。

    もう一方のタイプのペアでは、各ペアはJava言語のBindingsを作成します。通常、値はスクリプト内で、対応するキーまたはそれらの装飾された形式によって表されます。
    導入されたバージョン:
    1.6
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      static String ARGV
      位置引数の配列をスクリプトに渡す名前付き値の予約済みキーです。
      static String ENGINE
      ScriptEngine実装の名前である名前付き値の予約済みキーです。
      static String ENGINE_VERSION
      ScriptEngine実装のバージョンを識別する名前付き値の予約済みキーです。
      static String FILENAME
      実行中のファイルの名前である名前付き値の予約済みキーです。
      static String LANGUAGE
      実装がサポートするスクリプト言語の完全な名前である名前付き値の予約済みキーです。
      static String LANGUAGE_VERSION
      実装がサポートするスクリプト言語のバージョンを識別する名前付き値の予約済みキーです。
      static String NAME
      スクリプト言語の短い名前を識別する名前付き値の予約済みキーです。
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      Bindings createBindings()
      初期化されていないBindingsを返します。
      Object eval​(Reader reader)
      スクリプトのソースがReaderとして提供されることを除いて、eval(String)と同じです。
      Object eval​(Reader reader, Bindings n)
      スクリプトのソースがReaderとして提供されることを除いて、eval(String, Bindings)と同じです。
      Object eval​(Reader reader, ScriptContext context)
      スクリプトのソースがReaderから読み込まれる場合、eval(String, ScriptContext)と同じです。
      Object eval​(String script)
      指定されたスクリプトを実行します。
      Object eval​(String script, Bindings n)
      スクリプトの実行中に、Bindings引数をScriptEngineENGINE_SCOPE Bindingsとして使用します。
      Object eval​(String script, ScriptContext context)
      ソースが1番目の引数として渡されたStringであるスクリプトをただちに実行します。
      Object get​(String key)
      このエンジンの状態の値セットを取得します。
      Bindings getBindings​(int scope)
      名前付き値のスコープを返します。
      ScriptContext getContext()
      ScriptContextが指定されていない場合にスクリプトの実行に使用されるBindings、Reader、およびWriterを持つScriptEngineのデフォルトのScriptContextを返します。
      ScriptEngineFactory getFactory()
      このScriptEngineが属するクラスのScriptEngineFactoryを返します。
      void put​(String key, Object value)
      ScriptEngineの状態にキーと値のペアを設定します。キーが予約されているかどうかに基づいて、スクリプトの実行時、またはほかの方法で使用されるJava言語バインディングが設定されます。
      void setBindings​(Bindings bindings, int scope)
      スクリプトによって使用される名前付き値のスコープを設定します。
      void setContext​(ScriptContext context)
      ScriptContextが指定されていない場合にスクリプトの実行に使用されるBindings、Reader、およびWriterを持つScriptEngineのデフォルトのScriptContextを設定します。
    • フィールドの詳細

      • ARGV

        static final String ARGV
        位置引数の配列をスクリプトに渡す名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
      • FILENAME

        static final String FILENAME
        実行中のファイルの名前である名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
      • ENGINE

        static final String ENGINE
        ScriptEngine実装の名前である名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
      • ENGINE_VERSION

        static final String ENGINE_VERSION
        ScriptEngine実装のバージョンを識別する名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
      • NAME

        static final String NAME
        スクリプト言語の短い名前を識別する名前付き値の予約済みキーです。 この名前は、ScriptEngineManagerが、getEngineByNameメソッドに指定された名前でScriptEngineを検索するときに使用します。
        関連項目:
        定数フィールド値
      • LANGUAGE

        static final String LANGUAGE
        実装がサポートするスクリプト言語の完全な名前である名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
      • LANGUAGE_VERSION

        static final String LANGUAGE_VERSION
        実装がサポートするスクリプト言語のバージョンを識別する名前付き値の予約済みキーです。
        関連項目:
        定数フィールド値
    • メソッドの詳細

      • eval

        Object eval​(String script,
                    ScriptContext context)
             throws ScriptException
        ソースが1番目の引数として渡されたStringであるスクリプトをただちに実行します。 スクリプトは、実行前に再解析または再コンパイルされる可能性があります。 変数値およびコンパイル済み手続きを含む、以前の実行でエンジンに残された状態は、この実行中に可視である可能性があります。
        パラメータ:
        script - スクリプト・エンジンによって実行されるスクリプト。
        context - 異なるスコープ内の属性セットを公開するScriptContext スコープScriptContext.ENGINE_SCOPEおよびScriptContext.GLOBAL_SCOPEの意味は、仕様で定義されている。

        ScriptContextENGINE_SCOPE Bindingsには、このスクリプトの実行中に使用される、アプリケーション・オブジェクトへのスクリプト変数のバインディングが含まれます。
        戻り値:
        スクリプトの実行によって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - どちらかの引数がnullである場合。
      • eval

        Object eval​(Reader reader,
                    ScriptContext context)
             throws ScriptException
        スクリプトのソースがReaderから読み込まれる場合、eval(String, ScriptContext)と同じです。
        パラメータ:
        reader - スクリプト・エンジンによって実行されるスクリプトのソース。
        context - スクリプト・エンジンに渡されるScriptContext
        戻り値:
        スクリプトの実行によって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - どちらかの引数がnullである場合。
      • eval

        Object eval​(String script)
             throws ScriptException
        指定されたスクリプトを実行します。 ScriptEngineのデフォルトのScriptContextが使用されます。
        パラメータ:
        script - 実行されるスクリプト言語ソース。
        戻り値:
        スクリプトの実行によって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - 引数がnullである場合。
      • eval

        Object eval​(Reader reader)
             throws ScriptException
        スクリプトのソースがReaderとして提供されることを除いて、eval(String)と同じです。
        パラメータ:
        reader - スクリプトのソース。
        戻り値:
        スクリプトによって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - 引数がnullである場合。
      • eval

        Object eval​(String script,
                    Bindings n)
             throws ScriptException
        スクリプトの実行中に、Bindings引数をScriptEngineENGINE_SCOPE Bindingsとして使用します。 デフォルトのScriptContextReaderWriter、およびENGINE_SCOPE以外のBindingsが使用されます。 ScriptEngineENGINE_SCOPE Bindingsは変更されず、そのマッピングもスクリプトの実行によって変更されません。
        パラメータ:
        script - スクリプトのソース。
        n - スクリプトの実行に使用される属性のBindings
        戻り値:
        スクリプトによって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - どちらかの引数がnullである場合。
      • eval

        Object eval​(Reader reader,
                    Bindings n)
             throws ScriptException
        スクリプトのソースがReaderとして提供されることを除いて、eval(String, Bindings)と同じです。
        パラメータ:
        reader - スクリプトのソース。
        n - 属性のBindings
        戻り値:
        スクリプトによって返される値。
        例外:
        ScriptException - スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptExceptionラッパーを作成およびスローする必要があります。
        NullPointerException - どちらかの引数がnullである場合。
      • put

        void put​(String key,
                 Object value)
        ScriptEngineの状態にキーと値のペアを設定します。キーが予約されているかどうかに基づいて、スクリプトの実行時、またはほかの方法で使用されるJava言語バインディングが設定されます。 getBindings(ScriptContext.ENGINE_SCOPE).putと同じ結果になります。
        パラメータ:
        key - 追加する名前付き値の名前
        value - 追加する名前付き値の値。
        例外:
        NullPointerException - キーがnullの場合。
        IllegalArgumentException - keyが空の場合。
      • get

        Object get​(String key)
        このエンジンの状態の値セットを取得します。 値は、実装に応じて、setValueを使用して設定された値、またはScriptEngineの状態のほかの値になります。 getBindings(ScriptContext.ENGINE_SCOPE).getと同じ結果になります。
        パラメータ:
        key - 値が返されるキー
        戻り値:
        指定されたキーの値
        例外:
        NullPointerException - キーがnullの場合。
        IllegalArgumentException - keyが空の場合。
      • getBindings

        Bindings getBindings​(int scope)
        名前付き値のスコープを返します。 有効なスコープは次のとおりです。

        • ScriptContext.GLOBAL_SCOPE - グローバル・スコープを表す名前付き値のセット。 このScriptEngineScriptEngineManagerによって作成される場合、マネージャはグローバル・スコープ・バインディングを設定します。 このScriptEngineに関連付けられたグローバル・スコープが存在しない場合はnullです。
        • ScriptContext.ENGINE_SCOPE - このScriptEngineの状態を表す名前付き値のセット。 通常、値は関連付けられたキーを変数名として使用するスクリプトで可視です。
        • その他、ScriptEngineのデフォルトのScriptContext内で定義されているスコープの値。


        返されるBindingsインスタンスは、ScriptEngineのデフォルトのScriptContextで対応する引数を指定して呼び出されたScriptContextgetBindingsメソッドによって返されるインスタンスと同じである必要があります。
        パラメータ:
        scope - 返すBindingsを指定するScriptContext.ENGINE_SCOPEまたはScriptContext.GLOBAL_SCOPE ScriptContextの実装では、追加のスコープを定義できる。 ScriptEngineのデフォルトのScriptContextが追加のスコープを定義している場合、それらのいずれかを渡して、対応するBindingsを取得可能。
        戻り値:
        指定されたスコープを持つBindings
        例外:
        IllegalArgumentException - 指定されたスコープが無効な場合
      • setBindings

        void setBindings​(Bindings bindings,
                         int scope)
        スクリプトによって使用される名前付き値のスコープを設定します。 有効なスコープは次のとおりです。

        • ScriptContext.ENGINE_SCOPE - 指定されたBindingsによって、ScriptEngineのエンジン・スコープが置換されます。
        • ScriptContext.GLOBAL_SCOPE - 指定されたBindingsGLOBAL_SCOPEとして可視でなければなりません。
        • その他、ScriptEngineのデフォルトのScriptContext内で定義されているスコープの値。


        このメソッドは、ScriptEngineのデフォルトのScriptContext上でscopeの対応する値を指定してScriptContextsetBindingsメソッドを呼び出した場合と同じ結果になります。
        パラメータ:
        bindings - 指定されたスコープのBindings
        scope - 指定されたスコープ。 ScriptContext.ENGINE_SCOPEScriptContext.GLOBAL_SCOPE、またはその他のスコープの有効値のいずれか。
        例外:
        IllegalArgumentException - スコープが無効な場合
        NullPointerException - bindingsがnullで、スコープがScriptContext.ENGINE_SCOPEである場合
      • createBindings

        Bindings createBindings()
        初期化されていないBindingsを返します。
        戻り値:
        このScriptEngineの状態を置換するために使用可能なBindings
      • getContext

        ScriptContext getContext()
        ScriptContextが指定されていない場合にスクリプトの実行に使用されるBindings、Reader、およびWriterを持つScriptEngineのデフォルトのScriptContextを返します。
        戻り値:
        ScriptEngineのデフォルトのScriptContext
      • setContext

        void setContext​(ScriptContext context)
        ScriptContextが指定されていない場合にスクリプトの実行に使用されるBindings、Reader、およびWriterを持つScriptEngineのデフォルトのScriptContextを設定します。
        パラメータ:
        context - ScriptEngineのデフォルトのScriptContextを置換するScriptContext
        例外:
        NullPointerException - contextがnullの場合。
      • getFactory

        ScriptEngineFactory getFactory()
        このScriptEngineが属するクラスのScriptEngineFactoryを返します。
        戻り値:
        ScriptEngineFactory