基本信息
腳本 API 由定義 Java Scripting Engines 的接口和類組成,並為它們在 Java 應用程式中的使用提供框架。
接口摘要
Bindings
| 所有鍵均為 String 的鍵/值對映射關係。
|
Compilable
| 由 ScriptEngines 實現的可選接口,該 ScriptEngines 的方法將腳本編譯成無需重新編譯就能反覆執行的某種形式。
|
Invocable
| 由 ScriptEngines 實現的可選接口,該 ScriptEngines 的方法允許在以前執行過的腳本中調用程式。
|
ScriptContext
| 該接口的實現類被用來連線 Script Engines 和宿主應用程式中的對象(如有範圍的 Bindings)。
|
ScriptEngine
| ScriptEngine 是基礎接口,該接口的方法在此規範的每個實現中都必須具有完整的功能。
|
ScriptEngineFactory
| ScriptEngineFactory 用來描述和實例化 ScriptEngine。
|
類摘要
AbstractScriptEngine
| 為幾個 eval 方法的變體提供標準實現。
|
CompiledScript
| 存儲編譯結果的類擴展自此類。
|
ScriptEngineManager
| ScriptEngineManager 為 ScriptEngine 類實現一個發現和實例化機制,還維護一個鍵/值對集合來存儲所有 Manager 創建的引擎所共享的狀態。
|
SimpleBindings
| 一個受 HashMap 或其他某些指定 Map 支持的 Bindings 的簡單實現。
|
SimpleScriptContext
| ScriptContext 的簡單實現。
|
異常摘要
ScriptException
| 腳本 API 的一般 Exception 類。
|
軟體包描述
腳本 API 由定義 Java Scripting Engines 的接口和類組成,並為它們在 Java 應用程式中的使用提供框架。此 API 供那些希望在其 Java 應用程式中執行用腳本語言編寫的程式的應用程式編程人員使用。腳本語言程式通常由應用程式的終端用戶提供。
javax.script 主要功能
腳本執行:腳本是用作腳本引擎所執行程式的源的字元流。腳本執行使用 ScriptEngine 的 eval 方法和 Invocable 接口的方法。
綁定:此功能允許將 Java 對象作為指定變數公開給腳本程式。Bindings 和 ScriptContext 類用於此目的。
編譯:此功能允許反覆存儲和執行腳本引擎前端所生成的中間代碼。這有利於多次執行相同腳本的應用程式。引擎的前端只需要對每個腳本執行一次,而不是每次腳本執行都執行一次,因此這些應用程式可以獲得高效率。注意,此功能是可選的,腳本引擎可以選擇不實現它。調用者需要使用 instanceof 來檢查 Compilable 接口的可用性。
調用:此功能允許重用腳本引擎前端所生成的中間代碼。編譯功能允許重執行中間代碼所表示的整個腳本,而調用功能允許重執行腳本中的個別程式/方法。因為對於編譯而言,並非所有的腳本引擎都需要提供此功能。調用者必須檢查 Invocable 的可用性。
腳本引擎發現和元數據:為腳本 API 編寫的應用程式可能對腳本引擎有特定的要求。一些可能需要特定的腳本語言和/或版本,而另一些可能需要特定的實現引擎和/或版本。腳本引擎是以指定方式打包的,從而可以在運行時被發現,並可以查詢屬性。Engine 發現機制基於Jar 檔案規範中描述的 Service 發現機制。腳本引擎實現類打包在 jar 檔案中,這些檔案包含一個名為 META-INF/services/javax.script.ScriptEngineFactory 的文本資源。此資源必須為打包在 jar 檔案中的每個 ScriptEngineFactory 包含一個行。ScriptEngineManager 包括 getEngineFactories 方法,該方法用於獲取所有使用此機制發現的 ScriptEngineFactory 實例。ScriptEngineFactory 擁有用於查詢關於腳本引擎的屬性的方法。
從以下版本開始:1.6