- 既知のすべての実装クラス:
AbstractScriptEngine
public interface ScriptEngine
ScriptEngine
は、この仕様のすべての実装で完全に機能することが必要なメソッドを持つ基本インタフェースです。 これらのメソッドは、基本的なスクリプト機能を提供します。 この単純なインタフェースに記述されたアプリケーションは、どの実装でも最小限の変更で動作することが期待されます。 スクリプトを実行するメソッド、値を設定および取得するメソッドが含まれます。
値は、2種類のキーと値のペアです。 1つ目のタイプのペアでは、各ペアのキーは予約済で、この仕様で、または個別の実装によって定義されます。 予約済のキーを持つペア内の値は、指定された意味を持ちます。
もう一方のタイプのペアでは、各ペアはJava言語のBindingsを作成します。通常、値はスクリプト内で、対応するキーまたはそれらの装飾された形式によって表されます。
- 導入されたバージョン:
- 1.6
-
フィールドのサマリー
修飾子と型フィールド説明static final String
位置引数の配列をスクリプトに渡す名前付き値の予約済みキーです。static final String
ScriptEngine
実装の名前である名前付き値の予約済みキーです。static final String
ScriptEngine
実装のバージョンを識別する名前付き値の予約済みキーです。static final String
実行中のファイルの名前である名前付き値の予約済みキーです。static final String
実装がサポートするスクリプト言語の完全な名前である名前付き値の予約済みキーです。static final String
実装がサポートするスクリプト言語のバージョンを識別する名前付き値の予約済みキーです。static final String
スクリプト言語の短い名前を識別する名前付き値の予約済みキーです。 -
メソッドのサマリー
修飾子と型メソッド説明初期化されていないBindings
を返します。スクリプトのソースがReader
として提供されることを除いて、eval(String)
と同じです。スクリプトのソースがReader
として提供されることを除いて、eval(String, Bindings)
と同じです。eval
(Reader reader, ScriptContext context) スクリプトのソースがReader
から読み込まれる場合、eval(String, ScriptContext)
と同じです。指定されたスクリプトを実行します。スクリプトの実行中に、Bindings
引数をScriptEngine
のENGINE_SCOPE
Bindings
として使用します。eval
(String script, ScriptContext context) ソースが1番目の引数として渡されたStringであるスクリプトをただちに実行します。このエンジンの状態の値セットを取得します。getBindings
(int scope) 名前付き値のスコープを返します。ScriptContext
が指定されていない場合にスクリプトの実行に使用されるBindings、Reader、およびWriterを持つScriptEngine
のデフォルトのScriptContext
を返します。このScriptEngine
が属するクラスのScriptEngineFactory
を返します。void
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 ENGINEScriptEngine
実装の名前である名前付き値の予約済みキーです。- 関連項目:
-
ENGINE_VERSION
static final String ENGINE_VERSIONScriptEngine
実装のバージョンを識別する名前付き値の予約済みキーです。- 関連項目:
-
NAME
static final String NAMEスクリプト言語の短い名前を識別する名前付き値の予約済みキーです。 この名前は、ScriptEngineManager
が、getEngineByName
メソッドに指定された名前でScriptEngine
を検索するときに使用します。- 関連項目:
-
LANGUAGE
static final String LANGUAGE実装がサポートするスクリプト言語の完全な名前である名前付き値の予約済みキーです。- 関連項目:
-
LANGUAGE_VERSION
static final String LANGUAGE_VERSION実装がサポートするスクリプト言語のバージョンを識別する名前付き値の予約済みキーです。- 関連項目:
-
-
メソッドの詳細
-
eval
ソースが1番目の引数として渡されたStringであるスクリプトをただちに実行します。 スクリプトは、実行前に再解析または再コンパイルされる可能性があります。 変数値およびコンパイル済み手続きを含む、以前の実行でエンジンに残された状態は、この実行中に可視である可能性があります。- パラメータ:
script
- スクリプト・エンジンによって実行されるスクリプト。context
- 異なるスコープ内の属性セットを公開するScriptContext
。 スコープScriptContext.ENGINE_SCOPE
およびScriptContext.GLOBAL_SCOPE
の意味は、仕様で定義されている。ScriptContext
のENGINE_SCOPE
Bindings
には、このスクリプトの実行中に使用される、アプリケーション・オブジェクトへのスクリプト変数のバインディングが含まれます。- 戻り値:
- スクリプトの実行によって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- どちらかの引数がnullである場合。
-
eval
スクリプトのソースがReader
から読み込まれる場合、eval(String, ScriptContext)
と同じです。- パラメータ:
reader
- スクリプト・エンジンによって実行されるスクリプトのソース。context
- スクリプト・エンジンに渡されるScriptContext
。- 戻り値:
- スクリプトの実行によって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- どちらかの引数がnullである場合。
-
eval
指定されたスクリプトを実行します。ScriptEngine
のデフォルトのScriptContext
が使用されます。- パラメータ:
script
- 実行されるスクリプト言語ソース。- 戻り値:
- スクリプトの実行によって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- 引数がnullである場合。
-
eval
スクリプトのソースがReader
として提供されることを除いて、eval(String)
と同じです。- パラメータ:
reader
- スクリプトのソース。- 戻り値:
- スクリプトによって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- 引数がnullである場合。
-
eval
スクリプトの実行中に、Bindings
引数をScriptEngine
のENGINE_SCOPE
Bindings
として使用します。 デフォルトのScriptContext
のReader
、Writer
、およびENGINE_SCOPE
以外のBindings
が使用されます。ScriptEngine
のENGINE_SCOPE
Bindings
は変更されず、そのマッピングもスクリプトの実行によって変更されません。- パラメータ:
script
- スクリプトのソース。n
- スクリプトの実行に使用される属性のBindings
。- 戻り値:
- スクリプトによって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- どちらかの引数がnullである場合。
-
eval
スクリプトのソースがReader
として提供されることを除いて、eval(String, Bindings)
と同じです。- パラメータ:
reader
- スクリプトのソース。n
- 属性のBindings
。- 戻り値:
- スクリプトによって返される値。
- 例外:
ScriptException
- スクリプトでエラーが発生した場合。 ScriptEnginesは、基本となるスクリプトの実装によってスローされたチェック例外のScriptException
ラッパーを作成およびスローする必要があります。NullPointerException
- どちらかの引数がnullである場合。
-
put
ScriptEngineの状態にキーと値のペアを設定します。キーが予約されているかどうかに基づいて、スクリプトの実行時、またはほかの方法で使用されるJava言語バインディングが設定されます。getBindings(ScriptContext.ENGINE_SCOPE).put
と同じ結果になります。- パラメータ:
key
- 追加する名前付き値の名前value
- 追加する名前付き値の値。- 例外:
NullPointerException
- キーがnullの場合。IllegalArgumentException
- keyが空の場合。
-
get
このエンジンの状態の値セットを取得します。 値は、実装に応じて、setValue
を使用して設定された値、またはScriptEngine
の状態のほかの値になります。getBindings(ScriptContext.ENGINE_SCOPE).get
と同じ結果になります。- パラメータ:
key
- 値が返されるキー- 戻り値:
- 指定されたキーの値
- 例外:
NullPointerException
- キーがnullの場合。IllegalArgumentException
- keyが空の場合。
-
getBindings
Bindings getBindings(int scope) 名前付き値のスコープを返します。 有効なスコープは次のとおりです。
ScriptContext.GLOBAL_SCOPE
- グローバル・スコープを表す名前付き値のセット。 このScriptEngine
がScriptEngineManager
によって作成される場合、マネージャはグローバル・スコープ・バインディングを設定します。 このScriptEngine
に関連付けられたグローバル・スコープが存在しない場合はnull
です。ScriptContext.ENGINE_SCOPE
- このScriptEngine
の状態を表す名前付き値のセット。 通常、値は関連付けられたキーを変数名として使用するスクリプトで可視です。- その他、
ScriptEngine
のデフォルトのScriptContext
内で定義されているスコープの値。
返されるBindings
インスタンスは、ScriptEngine
のデフォルトのScriptContext
で対応する引数を指定して呼び出されたScriptContext
のgetBindings
メソッドによって返されるインスタンスと同じである必要があります。- パラメータ:
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
- 指定されたBindings
はGLOBAL_SCOPE
として可視でなければなりません。- その他、
ScriptEngine
のデフォルトのScriptContext
内で定義されているスコープの値。
このメソッドは、ScriptEngine
のデフォルトのScriptContext
上でscope
の対応する値を指定してScriptContext
のsetBindings
メソッドを呼び出した場合と同じ結果になります。- パラメータ:
bindings
- 指定されたスコープのBindings
。scope
- 指定されたスコープ。ScriptContext.ENGINE_SCOPE
、ScriptContext.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
-