クラス BshScriptFactory
java.lang.ObjectSE
org.springframework.scripting.bsh.BshScriptFactory
- 実装されているすべてのインターフェース:
Aware、BeanClassLoaderAware、ScriptFactory
BeanShell スクリプトの
ScriptFactory 実装。 通常、ScriptFactoryPostProcessor と組み合わせて使用されます。設定例については、後者の javadoc を参照してください。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Rob Harrop
- 関連事項:
コンストラクターの概要
コンストラクターコンストラクター説明BshScriptFactory(StringSE scriptSourceLocator) 指定されたスクリプトソースの新しい BshScriptFactory を作成します。BshScriptFactory(StringSE scriptSourceLocator, ClassSE<?>... scriptInterfaces) 指定されたスクリプトソースの新しい BshScriptFactory を作成します。メソッドのサマリー
修飾子と型メソッド説明getScriptedObject(ScriptSource scriptSource, ClassSE<?>... actualInterfaces) BshScriptUtilsを介して BeanShell スクリプトをロードして解析します。ClassSE<?>getScriptedObjectType(ScriptSource scriptSource) スクリプト Java オブジェクトの型を判別します。ClassSE<?>[]スクリプトが実装することになっているビジネスインターフェースを返します。スクリプトのソースを指すロケーターを返します。booleanBeanShell スクリプトには、構成インターフェースが必要です。booleanrequiresScriptedObjectRefresh(ScriptSource scriptSource) リフレッシュが必要かどうかを判断します(例:voidsetBeanClassLoader(ClassLoaderSE classLoader) Beanclass loaderSE を Bean インスタンスに提供するコールバック。toString()
コンストラクターの詳細
BshScriptFactory
指定されたスクリプトソースの新しい BshScriptFactory を作成します。この
BshScriptFactoryバリアントでは、スクリプトは完全なクラスを宣言するか、スクリプトオブジェクトの実際のインスタンスを返す必要があります。- パラメーター:
scriptSourceLocator- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。
BshScriptFactory
指定されたスクリプトソースの新しい BshScriptFactory を作成します。スクリプトは、対応するプロキシを生成する(指定されたインターフェースを実装する)必要がある単純なスクリプトか、完全なクラスを宣言するか、スクリプトオブジェクトの実際のインスタンスを返す(この場合、指定されたインターフェースがある場合は、実装する必要があります)そのクラス / インスタンスによって)。
- パラメーター:
scriptSourceLocator- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。scriptInterfaces- スクリプトオブジェクトが実装することになっている Java インターフェース (nullの場合があります)
メソッドの詳細
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAwareBeanclass loaderSE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean'sInitializingBean.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()BeanShell スクリプトには、構成インターフェースが必要です。- 次で指定:
- インターフェース
ScriptFactoryのrequiresConfigInterface - 戻り値:
- スクリプトが生成された構成インターフェースを必要とするかどうか
- 関連事項:
getScriptedObject
@Nullable public ObjectSE getScriptedObject(ScriptSource scriptSource, @Nullable ClassSE<?>... actualInterfaces) throws IOExceptionSE, ScriptCompilationException BshScriptUtilsを介して BeanShell スクリプトをロードして解析します。- 次で指定:
- インターフェース
ScriptFactoryのgetScriptedObject - パラメーター:
scriptSource- スクリプトソーステキストを取得する実際の ScriptSource (非null)actualInterfaces- スクリプトインターフェースと生成された設定インターフェースを含む、公開する実際のインターフェース (該当する場合 ;nullの可能性があります)- 戻り値:
- スクリプト Java オブジェクト
- 例外:
IOExceptionSE- スクリプトの取得に失敗した場合ScriptCompilationException- スクリプトのコンパイルが失敗した場合- 関連事項:
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