パッケージjavax.script
スクリプトAPIは、Javaスクリプト・エンジンを定義するインタフェースとクラスで構成され、Javaアプリケーションで使用するためのフレー ワークを提供します。 このAPIは、スクリプト言語で記述されたプログラ をJavaアプリケーション内で実行するアプリケーション・プログラマを対象としています。 通常、スクリプト言語のプログラ は、アプリケーションのエンド・ユーザーによって提供されます。
javax.scriptパッケージの主な機能は次のとおりです。
スクリプトの実行: スクリプトとは、スクリプト・エンジンによって実行されるプログラ のソースとして使用される文字のストリー です。 スクリプトの実行では、
ScriptEngineのevalメソッドとInvocableインタフェースのメソッドを使用します。バインディング: この機能によって、Javaオブジェクトを名前付き変数としてスクリプト・プログラ に公開できます。
BindingsとScriptContextクラスがこの目的に使用されます。コンパイル: この機能によって、スクリプト・エンジンのフロント・エンドによって生成された中間コードを 納し、繰返し実行することができます。 これは、同じスクリプトを複数回実行するアプリケーションの 合に便利です。 エンジンのフロント・エンドはスクリプト実行のたびにではなく、スクリプトごとに1回 け実行すればよいので、これらのアプリケーションの効率を向上させることができます。 この機能はオプションであり、スクリプト・エンジンが実装しない可能性があることに注意してく さい。 呼出し側で、instanceofチェックを使用して、
Compilableインタフェースが利用可能かどうかをチェックする必要があります。呼び出し: この機能によって、スクリプト・エンジンのフロント・エンドによって生成された中間コードを再利用することができます。 コンパイルでは中間コードによって表されるスクリプト全体の再実行が可能になるのに対して、呼出しの機能ではスクリプト内の個々の手続き/メソッドが再実行可能になります。 コンパイルの 合にはあることですが、すべてのスクリプト・エンジンでこの機能が提供される必要はありません。 呼出し側で、
Invocableが利用可能かどうかをチェックする必要があります。スクリプト・エンジンの検出: スクリプトAPIに書き込まれるアプリケーションには、スクリプト・エンジンに固有の要件がある 合があります。 固有のスクリプト言語またはバージョン、あるいはその両方を必要とするものがある一方で、固有の実装エンジンまたはバージョン、あるいはその両方を必要とするものもあります。 スクリプト・エンジンは、実行時の検出と属性の照会が可能となるように、指定された方法でパッケージ化されます。 エンジン検出メカニズ は、
ServiceLoaderクラスで説明されているサービス・プロバイダ・ロード機能に基づいています。ScriptEngineManagerには、このメカニズ を使用して検出されたすべてのScriptEngineFactoryインスタンスを取得するgetEngineFactoriesメソッドが含まれています。ScriptEngineFactoryには、スクリプト・エンジンに関する属性を照会するためのメソッドが含まれます。
- 導入されたバージョン:
- 1.6
-
クラス説明
evalメソッドの複数のバリアントに対する標準の実装を提供します。キーがすべてStringsであるキーと値のペアのマッピングです。再コンパイルを行わずに繰返し実行可能なフォー にスクリプトをコンパイルするメソッドを持つScriptEnginesによって実装されるオプションのインタフェースです。コンパイルの結果を 納するクラスによって拡張されます。以前に実行されたスクリプト内の手続きの呼出しを許可するメソッドを持つScriptEnginesによって実装されるオプションのインタフェースです。このインタフェースを実装するクラスは、アプリケーションでスクリプト・エンジンと、スコープ設定されたBindingsなどのオブジェクトとを接続するために使用されます。ScriptEngineは、この仕様のすべての実装で完全に機能することが必要なメソッドを持つ基本インタフェースです。ScriptEngineFactoryは、ScriptEnginesの説明およびインスタンス化に使用されます。ScriptEngineManagerは、ScriptEngineクラスの検出およびインスタンス化メカニズ を実装します。また、Managerが作成したすべてのエンジンで共有される状態を 納するキーと値のペアのコレクションを維持します。スクリプトAPIのジェネリックExceptionクラスです。HashMapまたは指定されたほかのMapによって補助されるBindingsの単純な実装です。ScriptContextの単純な実装です。