クラス StandardScriptFactory
java.lang.ObjectSE
org.springframework.scripting.support.StandardScriptFactory
- 実装されたすべてのインターフェース:
Aware
、BeanClassLoaderAware
、ScriptFactory
JSR-223 スクリプトエンジン抽象化に基づく
ScriptFactory
実装(Java に含まれている)。JavaScript、Groovy、JRuby、その他の JSR-223 準拠のエンジンをサポートします。 通常、ScriptFactoryPostProcessor
と組み合わせて使用されます。設定例については、後者の javadoc を参照してください。
- 導入:
- 4.2
- 作成者:
- Juergen Hoeller
- 関連事項:
コンストラクターのサマリー
コンストラクターコンストラクター説明StandardScriptFactory
(StringSE scriptSourceLocator) 指定されたスクリプトソースの新しい StandardScriptFactory を作成します。StandardScriptFactory
(StringSE scriptSourceLocator, ClassSE<?>... scriptInterfaces) 指定されたスクリプトソースの新しい StandardScriptFactory を作成します。StandardScriptFactory
(StringSE scriptEngineName, StringSE scriptSourceLocator) 指定されたスクリプトソースの新しい StandardScriptFactory を作成します。StandardScriptFactory
(StringSE scriptEngineName, StringSE scriptSourceLocator, ClassSE<?>... scriptInterfaces) 指定されたスクリプトソースの新しい StandardScriptFactory を作成します。方法の概要
修飾子と型メソッド説明protected ObjectSE
adaptToInterfaces
(ObjectSE script, ScriptSource scriptSource, ClassSE<?>... actualInterfaces) protected ObjectSE
evaluateScript
(ScriptSource scriptSource) getScriptedObject
(ScriptSource scriptSource, ClassSE<?>... actualInterfaces) JSR-223 の ScriptEngine を介してスクリプトをロードして解析します。ClassSE<?>
getScriptedObjectType
(ScriptSource scriptSource) スクリプト Java オブジェクトの型を判別します。ClassSE<?>[]
スクリプトが実装することになっているビジネスインターフェースを返します。スクリプトのソースを指すロケーターを返します。boolean
スクリプトが構成インターフェースを生成する必要があるかどうかを返します。boolean
requiresScriptedObjectRefresh
(ScriptSource scriptSource) リフレッシュが必要かどうかを判断します (たとえば、ScriptSource のisModified()
メソッドを通じて)。protected ScriptEngineSE
retrieveScriptEngine
(ScriptSource scriptSource) void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。toString()
コンストラクターの詳細
StandardScriptFactory
指定されたスクリプトソースの新しい StandardScriptFactory を作成します。- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。
StandardScriptFactory
指定されたスクリプトソースの新しい StandardScriptFactory を作成します。- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。scriptInterfaces
- スクリプトオブジェクトが実装することになっている Java インターフェース
StandardScriptFactory
指定されたスクリプトソースの新しい StandardScriptFactory を作成します。- パラメーター:
scriptEngineName
- 使用する JSR-223 ScriptEngine の名前 (スクリプトソースから推論される代わりに明示的に与えられる)scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。
StandardScriptFactory
public StandardScriptFactory(@Nullable StringSE scriptEngineName, StringSE scriptSourceLocator, @Nullable ClassSE<?>... scriptInterfaces) 指定されたスクリプトソースの新しい StandardScriptFactory を作成します。- パラメーター:
scriptEngineName
- 使用する JSR-223 ScriptEngine の名前 (スクリプトソースから推論される代わりに明示的に与えられる)scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。scriptInterfaces
- スクリプトオブジェクトが実装することになっている Java インターフェース
メソッドの詳細
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- パラメーター:
classLoader
- 所有クラスローダー
getScriptSourceLocator
インターフェースからコピーされた説明:ScriptFactory
スクリプトのソースを指すロケーターを返します。実際にスクリプトを作成するポストプロセッサーによって解釈されます。サポートされている一般的なロケータは、Spring リソースの場所 ( "file:C:/myScript.bsh"" や "classpath:myPackage/myScript.bsh" など) とインラインスクリプト ( "inline:myScriptText..." ) です。
getScriptInterfaces
インターフェースからコピーされた説明:ScriptFactory
スクリプトが実装することになっているビジネスインターフェースを返します。スクリプト自体がその Java インターフェースを決定する場合(Groovy の場合など)、
null
を返すことができます。- 次で指定:
- インターフェース
ScriptFactory
のgetScriptInterfaces
- 戻り値:
- スクリプトのインターフェース
requiresConfigInterface
public boolean requiresConfigInterface()インターフェースからコピーされた説明:ScriptFactory
スクリプトが構成インターフェースを生成する必要があるかどうかを返します。これは通常、getScriptInterfaces()
で適切な構成インターフェースが指定されておらず、Java 署名自体を決定しないスクリプトの場合です。- 次で指定:
- インターフェース
ScriptFactory
のrequiresConfigInterface
- 戻り値:
- スクリプトが生成された構成インターフェースを必要とするかどうか
- 関連事項:
getScriptedObject
@Nullable public ObjectSE getScriptedObject(ScriptSource scriptSource, @Nullable ClassSE<?>... actualInterfaces) throws IOExceptionSE, ScriptCompilationException JSR-223 の ScriptEngine を介してスクリプトをロードして解析します。- 次で指定:
- インターフェース
ScriptFactory
のgetScriptedObject
- パラメーター:
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非null
)actualInterfaces
- スクリプトインターフェースと生成された設定インターフェースを含む、公開する実際のインターフェース (該当する場合 ;null
の可能性があります)- 戻り値:
- スクリプト Java オブジェクト
- 例外:
IOExceptionSE
- スクリプトの取得に失敗した場合ScriptCompilationException
- スクリプトのコンパイルが失敗した場合
evaluateScript
retrieveScriptEngine
adaptToInterfaces
getScriptedObjectType
@Nullable public ClassSE<?> getScriptedObjectType(ScriptSource scriptSource) throws IOExceptionSE, ScriptCompilationException インターフェースからコピーされた説明:ScriptFactory
スクリプト Java オブジェクトの型を判別します。実装では、生成されたスクリプトクラスなどのスクリプトメタデータをキャッシュすることをお勧めします。このメソッドは同時に呼び出すことができ、スレッドセーフな方法で実装する必要があることに注意してください。
- 次で指定:
- インターフェース
ScriptFactory
のgetScriptedObjectType
- パラメーター:
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非null
)- 戻り値:
- スクリプト化された Java オブジェクトの型、または判別できない場合は
null
- 例外:
IOExceptionSE
- スクリプトの取得に失敗した場合ScriptCompilationException
- スクリプトのコンパイルが失敗した場合
requiresScriptedObjectRefresh
インターフェースからコピーされた説明:ScriptFactory
リフレッシュが必要かどうかを判断します (たとえば、ScriptSource のisModified()
メソッドを通じて)。- 次で指定:
- インターフェース
ScriptFactory
のrequiresScriptedObjectRefresh
- パラメーター:
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非null
)- 戻り値:
- 新しい
ScriptFactory.getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...)
呼び出しが必要かどうか - 関連事項:
toString