public interface ScriptFactory
Object
を作成するためのファクトリメソッド。getScriptSourceLocator()
, getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...)
修飾子と型 | メソッドと説明 |
---|---|
ObjectSE | getScriptedObject(ScriptSource scriptSource, ClassSE<?>... actualInterfaces) スクリプト化された Java オブジェクトを作成するためのファクトリメソッド。 |
ClassSE<?> | getScriptedObjectType(ScriptSource scriptSource) スクリプト Java オブジェクトの型を判別します。 |
ClassSE<?>[] | getScriptInterfaces() スクリプトが実装することになっているビジネスインターフェースを返します。 |
StringSE | getScriptSourceLocator() スクリプトのソースを指すロケーターを返します。 |
boolean | requiresConfigInterface() スクリプトが構成インターフェースを生成する必要があるかどうかを返します。 |
boolean | requiresScriptedObjectRefresh(ScriptSource scriptSource) リフレッシュが必要かどうかを判断します(例: |
StringSE getScriptSourceLocator()
サポートされている一般的なロケータは、Spring リソースの場所 ( "file:C:/myScript.bsh"" や "classpath:myPackage/myScript.bsh" など) とインラインスクリプト ( "inline:myScriptText..." ) です。
@Nullable ClassSE<?>[] getScriptInterfaces()
スクリプト自体がその Java インターフェースを決定する場合(Groovy の場合など)、null
を返すことができます。
boolean requiresConfigInterface()
getScriptInterfaces()
で適切な構成インターフェースが指定されておらず、Java 署名自体を決定しないスクリプトの場合です。getScriptInterfaces()
@Nullable ObjectSE getScriptedObject(ScriptSource scriptSource, @Nullable ClassSE<?>... actualInterfaces) throws IOExceptionSE, ScriptCompilationException
実装では、生成されたスクリプトクラスなどのスクリプトメタデータをキャッシュすることをお勧めします。このメソッドは同時に呼び出すことができ、スレッドセーフな方法で実装する必要があることに注意してください。
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非 null
)actualInterfaces
- スクリプトインターフェースと生成された設定インターフェースを含む、公開する実際のインターフェース (該当する場合 ; null
の可能性があります)IOExceptionSE
- スクリプトの取得に失敗した場合 ScriptCompilationException
- スクリプトのコンパイルが失敗した場合 @Nullable ClassSE<?> getScriptedObjectType(ScriptSource scriptSource) throws IOExceptionSE, ScriptCompilationException
実装では、生成されたスクリプトクラスなどのスクリプトメタデータをキャッシュすることをお勧めします。このメソッドは同時に呼び出すことができ、スレッドセーフな方法で実装する必要があることに注意してください。
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非 null
)null
IOExceptionSE
- スクリプトの取得に失敗した場合 ScriptCompilationException
- スクリプトのコンパイルが失敗した場合 boolean requiresScriptedObjectRefresh(ScriptSource scriptSource)
isModified()
メソッドなどを使用)。scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非 null
)getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class<?>...)
呼び出しが必要かどうか ScriptSource.isModified()