org.springframework.scripting.support
Class RefreshableScriptTargetSource

java.lang.Object
  extended by org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
      extended by org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource
          extended by org.springframework.scripting.support.RefreshableScriptTargetSource
All Implemented Interfaces:
Refreshable, TargetClassAware, TargetSource

public class RefreshableScriptTargetSource
extends BeanFactoryRefreshableTargetSource

Subclass of BeanFactoryRefreshableTargetSource that determines whether a refresh is required through the given ScriptFactory.

Since:
2.0
Author:
Rob Harrop, Juergen Hoeller, Mark Fisher

Field Summary
 
Fields inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
logger, targetObject
 
Constructor Summary
RefreshableScriptTargetSource(BeanFactory beanFactory, String beanName, ScriptFactory scriptFactory, ScriptSource scriptSource, boolean isFactoryBean)
          Create a new RefreshableScriptTargetSource.
 
Method Summary
protected  Object obtainFreshBean(BeanFactory beanFactory, String beanName)
          Obtain a fresh target object, retrieving a FactoryBean if necessary.
protected  boolean requiresRefresh()
          Determine whether a refresh is required through calling ScriptFactory's requiresScriptedObjectRefresh method.
 
Methods inherited from class org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource
freshTarget
 
Methods inherited from class org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
getLastRefreshTime, getRefreshCount, getTarget, getTargetClass, isStatic, refresh, releaseTarget, setRefreshCheckDelay
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RefreshableScriptTargetSource

public RefreshableScriptTargetSource(BeanFactory beanFactory,
                                     String beanName,
                                     ScriptFactory scriptFactory,
                                     ScriptSource scriptSource,
                                     boolean isFactoryBean)
Create a new RefreshableScriptTargetSource.

Parameters:
beanFactory - the BeanFactory to fetch the scripted bean from
beanName - the name of the target bean
scriptFactory - the ScriptFactory to delegate to for determining whether a refresh is required
scriptSource - the ScriptSource for the script definition
isFactoryBean - whether the target script defines a FactoryBean
Method Detail

requiresRefresh

protected boolean requiresRefresh()
Determine whether a refresh is required through calling ScriptFactory's requiresScriptedObjectRefresh method.

Overrides:
requiresRefresh in class AbstractRefreshableTargetSource
Returns:
whether a refresh is required
See Also:
ScriptFactory.requiresScriptedObjectRefresh(ScriptSource)

obtainFreshBean

protected Object obtainFreshBean(BeanFactory beanFactory,
                                 String beanName)
Obtain a fresh target object, retrieving a FactoryBean if necessary.

Overrides:
obtainFreshBean in class BeanFactoryRefreshableTargetSource
See Also:
BeanFactory.getBean(java.lang.String)