StandardScriptFactory)@Deprecated public class JRubyScriptFactory extends Object implements ScriptFactory, BeanClassLoaderAware
ScriptFactory implementation
 for a JRuby script.
 Typically used in combination with a
 ScriptFactoryPostProcessor;
 see the latter's javadoc for a configuration example.
 
Note: Spring 4.0 supports JRuby 1.5 and higher.
 As of Spring 4.2, JRuby 9.0.0.0 is supported but only through
 StandardScriptFactory.
JRubyScriptUtils, 
ScriptFactoryPostProcessor| Constructor and Description | 
|---|
JRubyScriptFactory(String scriptSourceLocator,
                  Class<?>... scriptInterfaces)
Deprecated.  
Create a new JRubyScriptFactory for the given script source. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
Object | 
getScriptedObject(ScriptSource scriptSource,
                 Class<?>... actualInterfaces)
Deprecated.  
Load and parse the JRuby script via JRubyScriptUtils. 
 | 
Class<?> | 
getScriptedObjectType(ScriptSource scriptSource)
Deprecated.  
Determine the type of the scripted Java object. 
 | 
Class<?>[] | 
getScriptInterfaces()
Deprecated.  
Return the business interfaces that the script is supposed to implement. 
 | 
String | 
getScriptSourceLocator()
Deprecated.  
Return a locator that points to the source of the script. 
 | 
boolean | 
requiresConfigInterface()
Deprecated.  
JRuby scripts do require a config interface. 
 | 
boolean | 
requiresScriptedObjectRefresh(ScriptSource scriptSource)
Deprecated.  
Determine whether a refresh is required (e.g. 
 | 
void | 
setBeanClassLoader(ClassLoader classLoader)
Deprecated.  
Callback that supplies the bean  
class loader to
 a bean instance. | 
String | 
toString()
Deprecated.  
  | 
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 implementpublic void setBeanClassLoader(ClassLoader classLoader)
BeanClassLoaderAwareclass 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 BeanClassLoaderAwareclassLoader - 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()
ScriptFactoryTypical 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 ScriptFactoryScriptFactoryPostProcessor.convertToScriptSource(java.lang.String, java.lang.String, org.springframework.core.io.ResourceLoader), 
ResourceLoaderpublic Class<?>[] getScriptInterfaces()
ScriptFactoryCan return null if the script itself determines
 its Java interfaces (such as in the case of Groovy).
getScriptInterfaces in interface ScriptFactorypublic boolean requiresConfigInterface()
requiresConfigInterface in interface ScriptFactoryScriptFactory.getScriptInterfaces()public Object getScriptedObject(ScriptSource scriptSource, Class<?>... actualInterfaces) throws IOException, ScriptCompilationException
getScriptedObject in interface ScriptFactoryscriptSource - 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 failedScriptCompilationException - if script compilation failedJRubyScriptUtils.createJRubyObject(String, Class[], ClassLoader)public Class<?> getScriptedObjectType(ScriptSource scriptSource) throws IOException, ScriptCompilationException
ScriptFactoryImplementations 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 ScriptFactoryscriptSource - the actual ScriptSource to retrieve
 the script source text from (never null)null
 if none could be determinedIOException - if script retrieval failedScriptCompilationException - if script compilation failedpublic boolean requiresScriptedObjectRefresh(ScriptSource scriptSource)
ScriptFactoryisModified() method).requiresScriptedObjectRefresh in interface ScriptFactoryscriptSource - 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()