ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8
compact3

パッケージ javax.script

スクリプトAPIは、Java TMスクリプト・エンジンを定義するインタフェースとクラスで構成され、それらをJavaアプリケーションで使用するためのフレームワークを提供します。

参照: 説明

パッケージjavax.scriptの説明

スクリプトAPIは、Java TMスクリプト・エンジンを定義するインタフェースとクラスで構成され、それらをJavaアプリケーションで使用するためのフレームワークを提供します。このAPIは、スクリプト言語で記述されたプログラムをJavaアプリケーション内で実行するアプリケーション・プログラマを対象としています。通常、スクリプト言語のプログラムは、アプリケーションのエンド・ユーザーによって提供されます。

javax.scriptパッケージの主な機能は次のとおりです。

  1. スクリプトの実行: スクリプトとは、スクリプト・エンジンによって実行されるプログラムのソースとして使用される文字のストリームです。スクリプトの実行では、ScriptEngineevalメソッドとInvocableインタフェースのメソッドを使用します。

  2. バインディング: この機能によって、Javaオブジェクトを名前付き変数としてスクリプト・プログラムに公開できます。BindingsScriptContextクラスがこの目的に使用されます。

  3. コンパイル: この機能によって、スクリプト・エンジンのフロント・エンドによって生成された中間コードを格納し、繰返し実行することができます。これは、同じスクリプトを複数回実行するアプリケーションの場合に便利です。エンジンのフロント・エンドはスクリプト実行のたびにではなく、スクリプトごとに1回だけ実行すればよいので、これらのアプリケーションの効率を向上させることができます。この機能はオプションであり、スクリプト・エンジンが実装しない可能性があることに注意してください。呼出し側で、instanceofチェックを使用して、Compilableインタフェースが利用可能かどうかをチェックする必要があります。

  4. 呼び出し: この機能によって、スクリプト・エンジンのフロント・エンドによって生成された中間コードを再利用することができます。コンパイルでは中間コードによって表されるスクリプト全体の再実行が可能になるのに対して、呼出しの機能ではスクリプト内の個々の手続き/メソッドが再実行可能になります。コンパイルの場合にはあることですが、すべてのスクリプト・エンジンでこの機能が提供される必要はありません。呼出し側で、Invocableが利用可能かどうかをチェックする必要があります。

  5. スクリプト・エンジンの検出とメタデータ: スクリプトAPIに記述されたアプリケーションは、スクリプト・エンジンに対して固有の要件を持つ可能性があります。固有のスクリプト言語またはバージョン、あるいはその両方を必要とするものがある一方で、固有の実装エンジンまたはバージョン、あるいはその両方を必要とするものもあります。スクリプト・エンジンは、実行時の検出と属性の照会が可能となるように、指定された方法でパッケージ化されます。エンジンの検出メカニズムは、JARファイルの仕様に記載されているサービスの検出メカニズムに基づいています。スクリプト・エンジンの実装クラスは、META-INF/services/javax.script.ScriptEngineFactoryというテキスト・リソースを含むjarファイルにパッケージ化されます。このリソースには、jarファイルにパッケージ化されているScriptEngineFactoryごとに、対応する1行が含まれている必要があります。ScriptEngineManagerには、このメカニズムを使用して検出されたすべてのScriptEngineFactoryインスタンスを取得するgetEngineFactoriesメソッドが含まれています。ScriptEngineFactoryには、スクリプト・エンジンに関する属性を照会するためのメソッドが含まれます。

導入されたバージョン:
1.6
ナビゲーション・リンクをスキップ
Java(tm) Platform
Standard Edition 8

バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.