|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.springframework.scripting.jruby.JRubyScriptFactory
public class JRubyScriptFactory
ScriptFactory
implementation
for a JRuby script.
Typically used in combination with a
ScriptFactoryPostProcessor
;
see the latter's javadoc for a configuration example.
JRubyScriptUtils
,
ScriptFactoryPostProcessor
Constructor Summary | |
---|---|
JRubyScriptFactory(String scriptSourceLocator,
Class[] scriptInterfaces)
Create a new JRubyScriptFactory for the given script source. |
Method Summary | |
---|---|
Object |
getScriptedObject(ScriptSource scriptSource,
Class[] actualInterfaces)
Load and parse the JRuby script via JRubyScriptUtils. |
Class |
getScriptedObjectType(ScriptSource scriptSource)
Determine the type of the scripted Java object. |
Class[] |
getScriptInterfaces()
Return the business interfaces that the script is supposed to implement. |
String |
getScriptSourceLocator()
Return a locator that points to the source of the script. |
boolean |
requiresConfigInterface()
JRuby scripts do require a config interface. |
boolean |
requiresScriptedObjectRefresh(ScriptSource scriptSource)
Determine whether a refresh is required (e.g. through ScriptSource's isModified() method). |
void |
setBeanClassLoader(ClassLoader classLoader)
Callback that supplies the bean class loader to
a bean instance. |
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public JRubyScriptFactory(String scriptSourceLocator, Class[] scriptInterfaces)
scriptSourceLocator
- a locator that points to the source of the script.
Interpreted by the post-processor that actually creates the script.scriptInterfaces
- the Java interfaces that the scripted object
is supposed to implementMethod Detail |
---|
public void setBeanClassLoader(ClassLoader classLoader)
BeanClassLoaderAware
class loader
to
a bean instance.
Invoked after the population of normal bean properties but
before an initialization callback such as
InitializingBean's
InitializingBean.afterPropertiesSet()
method or a custom init-method.
setBeanClassLoader
in interface BeanClassLoaderAware
classLoader
- the owning class loader; may be null
in
which case a default ClassLoader
must be used, for example
the ClassLoader
obtained via
ClassUtils.getDefaultClassLoader()
public String getScriptSourceLocator()
ScriptFactory
Typical supported locators are Spring resource locations (such as "file:C:/myScript.bsh" or "classpath:myPackage/myScript.bsh") and inline scripts ("inline:myScriptText...").
getScriptSourceLocator
in interface ScriptFactory
ScriptFactoryPostProcessor.convertToScriptSource(java.lang.String, java.lang.String, org.springframework.core.io.ResourceLoader)
,
ResourceLoader
public Class[] getScriptInterfaces()
ScriptFactory
Can return null
if the script itself determines
its Java interfaces (such as in the case of Groovy).
getScriptInterfaces
in interface ScriptFactory
public boolean requiresConfigInterface()
requiresConfigInterface
in interface ScriptFactory
ScriptFactory.getScriptInterfaces()
public Object getScriptedObject(ScriptSource scriptSource, Class[] actualInterfaces) throws IOException, ScriptCompilationException
getScriptedObject
in interface ScriptFactory
scriptSource
- the actual ScriptSource to retrieve
the script source text from (never null
)actualInterfaces
- the actual interfaces to expose,
including script interfaces as well as a generated config interface
(if applicable; may be null
)
IOException
- if script retrieval failed
ScriptCompilationException
- if script compilation failedJRubyScriptUtils.createJRubyObject(String, Class[], ClassLoader)
public Class getScriptedObjectType(ScriptSource scriptSource) throws IOException, ScriptCompilationException
ScriptFactory
Implementations are encouraged to cache script metadata such as a generated script class. Note that this method may be invoked concurrently and must be implemented in a thread-safe fashion.
getScriptedObjectType
in interface ScriptFactory
scriptSource
- the actual ScriptSource to retrieve
the script source text from (never null
)
null
if none could be determined
IOException
- if script retrieval failed
ScriptCompilationException
- if script compilation failedpublic boolean requiresScriptedObjectRefresh(ScriptSource scriptSource)
ScriptFactory
isModified()
method).
requiresScriptedObjectRefresh
in interface ScriptFactory
scriptSource
- the actual ScriptSource to retrieve
the script source text from (never null
)
ScriptFactory.getScriptedObject(org.springframework.scripting.ScriptSource, java.lang.Class[])
call is requiredScriptSource.isModified()
public String toString()
toString
in class Object
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |