## org.springframework.scripting.support
Class RefreshableScriptTargetSource

    java.lang.Object
      org.springframework.aop.target.dynamic.AbstractRefreshableTargetSource
          org.springframework.aop.target.dynamic.BeanFactoryRefreshableTargetSource
              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)`