クラス GroovyScriptFactory
java.lang.ObjectSE
org.springframework.scripting.groovy.GroovyScriptFactory
- 実装されたすべてのインターフェース:
Aware
、BeanClassLoaderAware
、BeanFactoryAware
、ScriptFactory
public class GroovyScriptFactory
extends ObjectSE
implements ScriptFactory, BeanFactoryAware, BeanClassLoaderAware
Groovy スクリプトの
ScriptFactory
実装。 通常、ScriptFactoryPostProcessor
と組み合わせて使用されます。設定例については、後者の javadoc を参照してください。
メモ: Spring 4.0 は Groovy 1.8 以降をサポートしています。
- 導入:
- 2.0
- 作成者:
- Juergen Hoeller, Rob Harrop, Rod Johnson
- 関連事項:
GroovyClassLoader
ScriptFactoryPostProcessor
コンストラクターのサマリー
コンストラクターコンストラクター説明GroovyScriptFactory
(StringSE scriptSourceLocator) 指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。GroovyScriptFactory
(StringSE scriptSourceLocator, org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration) 指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。カスタム MetaClass を作成して不足しているメソッドを提供したり、オブジェクトの動作を変更したりできるストラテジーインターフェースを指定します。GroovyScriptFactory
(StringSE scriptSourceLocator, org.codehaus.groovy.control.customizers.CompilationCustomizer... compilationCustomizers) 基になる GroovyClassLoader 内の Groovy のコンパイルプロセスをカスタマイズできる戦略インターフェースを指定して、指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。GroovyScriptFactory
(StringSE scriptSourceLocator, GroovyObjectCustomizer groovyObjectCustomizer) 指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。カスタム MetaClass を作成して不足しているメソッドを提供したり、オブジェクトの動作を変更したりできるストラテジーインターフェースを指定します。方法の概要
修飾子と型メソッド説明protected groovy.lang.GroovyClassLoader
buildGroovyClassLoader
(ClassLoaderSE classLoader) 指定されたClassLoader
のGroovyClassLoader
を構築します。protected ObjectSE
executeScript
(ScriptSource scriptSource, ClassSE<?> scriptClass) 指定された Groovy スクリプトクラスをインスタンス化し、必要に応じて実行します。groovy.lang.GroovyClassLoader
このスクリプトファクトリで使用される GroovyClassLoader を返します。getScriptedObject
(ScriptSource scriptSource, ClassSE<?>... actualInterfaces) GroovyClassLoader を介して Groovy スクリプトをロードして解析します。ClassSE<?>
getScriptedObjectType
(ScriptSource scriptSource) スクリプト Java オブジェクトの型を判別します。ClassSE<?>[]
Groovy スクリプトはインターフェース自体を決定するため、ここでインターフェースを明示的に公開する必要はありません。スクリプトのソースを指すロケーターを返します。boolean
Groovy スクリプトは、setter を public メソッドとして公開するため、構成インターフェースは必要ありません。boolean
requiresScriptedObjectRefresh
(ScriptSource scriptSource) リフレッシュが必要かどうかを判断します (たとえば、ScriptSource のisModified()
メソッドを通じて)。void
setBeanClassLoader
(ClassLoaderSE classLoader) Beanclass loader
SE を Bean インスタンスに提供するコールバック。void
setBeanFactory
(BeanFactory beanFactory) 所有ファクトリを Bean インスタンスに提供するコールバック。toString()
コンストラクターの詳細
GroovyScriptFactory
指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。Groovy スクリプトはその Java インターフェース自体を定義するため、ここではスクリプトインターフェースを指定する必要はありません。
- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。
GroovyScriptFactory
public GroovyScriptFactory(StringSE scriptSourceLocator, @Nullable GroovyObjectCustomizer groovyObjectCustomizer) 指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。カスタム MetaClass を作成して不足しているメソッドを提供したり、オブジェクトの動作を変更したりできるストラテジーインターフェースを指定します。- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。groovyObjectCustomizer
- カスタムメタクラスを設定したり、このファクトリによって作成された GroovyObject にその他の変更を加えたりできるカスタマイザ (null
の場合があります)- 関連事項:
GroovyScriptFactory
public GroovyScriptFactory(StringSE scriptSourceLocator, @Nullable org.codehaus.groovy.control.CompilerConfiguration compilerConfiguration) 指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。カスタム MetaClass を作成して不足しているメソッドを提供したり、オブジェクトの動作を変更したりできるストラテジーインターフェースを指定します。- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。compilerConfiguration
- GroovyClassLoader に適用されるカスタムコンパイラー構成 (null
の場合があります)- 導入:
- 4.3.3
- 関連事項:
GroovyClassLoader(ClassLoader, CompilerConfiguration)
GroovyScriptFactory
public GroovyScriptFactory(StringSE scriptSourceLocator, org.codehaus.groovy.control.customizers.CompilationCustomizer... compilationCustomizers) 基になる GroovyClassLoader 内の Groovy のコンパイルプロセスをカスタマイズできる戦略インターフェースを指定して、指定されたスクリプトソースの新しい GroovyScriptFactory を作成します。- パラメーター:
scriptSourceLocator
- スクリプトのソースを指すロケーター。実際にスクリプトを作成するポストプロセッサーによって解釈されます。compilationCustomizers
- GroovyClassLoader コンパイラー構成に適用される 1 つ以上のカスタマイザ- 導入:
- 4.3.3
- 関連事項:
CompilerConfiguration.addCompilationCustomizers(org.codehaus.groovy.control.customizers.CompilationCustomizer...)
ImportCustomizer
メソッドの詳細
setBeanFactory
インターフェースからコピーされた説明:BeanFactoryAware
所有ファクトリを Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean.afterPropertiesSet()
またはカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanFactoryAware
のsetBeanFactory
- パラメーター:
beanFactory
- 所有 BeanFactory(非null
)。Bean は、ファクトリのメソッドをすぐに呼び出すことができます。- 関連事項:
setBeanClassLoader
インターフェースからコピーされた説明:BeanClassLoaderAware
Beanclass loader
SE を Bean インスタンスに提供するコールバック。通常の Bean プロパティの設定後、ただし
InitializingBean's
InitializingBean.afterPropertiesSet()
メソッドやカスタム init-method などの初期化コールバックの前に呼び出されます。- 次で指定:
- インターフェース
BeanClassLoaderAware
のsetBeanClassLoader
- パラメーター:
classLoader
- 所有クラスローダー
getGroovyClassLoader
public groovy.lang.GroovyClassLoader getGroovyClassLoader()このスクリプトファクトリで使用される GroovyClassLoader を返します。buildGroovyClassLoader
指定されたClassLoader
のGroovyClassLoader
を構築します。- パラメーター:
classLoader
- GroovyClassLoader を構築するための ClassLoader- 導入:
- 4.3.3
getScriptSourceLocator
インターフェースからコピーされた説明:ScriptFactory
スクリプトのソースを指すロケーターを返します。実際にスクリプトを作成するポストプロセッサーによって解釈されます。サポートされている一般的なロケータは、Spring リソースの場所 ( "file:C:/myScript.bsh"" や "classpath:myPackage/myScript.bsh" など) とインラインスクリプト ( "inline:myScriptText..." ) です。
getScriptInterfaces
Groovy スクリプトはインターフェース自体を決定するため、ここでインターフェースを明示的に公開する必要はありません。- 次で指定:
- インターフェース
ScriptFactory
のgetScriptInterfaces
- 戻り値:
null
は常に
requiresConfigInterface
public boolean requiresConfigInterface()Groovy スクリプトは、setter を public メソッドとして公開するため、構成インターフェースは必要ありません。- 次で指定:
- インターフェース
ScriptFactory
のrequiresConfigInterface
- 戻り値:
- スクリプトが生成された構成インターフェースを必要とするかどうか
- 関連事項:
getScriptedObject
@Nullable public ObjectSE getScriptedObject(ScriptSource scriptSource, @Nullable ClassSE<?>... actualInterfaces) throws IOExceptionSE, ScriptCompilationException GroovyClassLoader を介して Groovy スクリプトをロードして解析します。- 次で指定:
- インターフェース
ScriptFactory
のgetScriptedObject
- パラメーター:
scriptSource
- スクリプトソーステキストを取得する実際の ScriptSource (非null
)actualInterfaces
- スクリプトインターフェースと生成された設定インターフェースを含む、公開する実際のインターフェース (該当する場合 ;null
の可能性があります)- 戻り値:
- スクリプト Java オブジェクト
- 例外:
IOExceptionSE
- スクリプトの取得に失敗した場合ScriptCompilationException
- スクリプトのコンパイルが失敗した場合- 関連事項:
GroovyClassLoader
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<?>...)
呼び出しが必要かどうか - 関連事項:
executeScript
@Nullable protected ObjectSE executeScript(ScriptSource scriptSource, ClassSE<?> scriptClass) throws ScriptCompilationException 指定された Groovy スクリプトクラスをインスタンス化し、必要に応じて実行します。- パラメーター:
scriptSource
- 基本となるスクリプトのソースscriptClass
- Groovy スクリプトクラス- 戻り値:
- 結果オブジェクト (スクリプトクラスのインスタンスまたはスクリプトインスタンスの実行結果)
- 例外:
ScriptCompilationException
- インスタンス化が失敗した場合
toString