Class BindableFunctionProxyFactory

All Implemented Interfaces:
org.aopalliance.aop.Advice, org.aopalliance.intercept.Interceptor, org.aopalliance.intercept.MethodInterceptor, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.FactoryBean<Object>, org.springframework.beans.factory.InitializingBean, Bindable, org.springframework.context.ApplicationContextAware

public class BindableFunctionProxyFactory extends BindableProxyFactory implements org.springframework.context.ApplicationContextAware
FactoryBean for creating inputs/outputs destinations to be bound to function arguments. It is an extension to BindableProxyFactory which operates on Bindable interfaces (e.g., Source, Processor, Sink) which internally define inputs and output channels. Unlike BindableProxyFactory, this class operates based on the count of provided inputs and outputs deriving the binding (channel) names based on convention - `<function-definition>. + <in/out> + .<index>`
For example, `myFunction.in.0` - is the binding for the first input argument of the function with the name `myFunction`.
Since:
3.0
Author:
Oleg Zhurakousky, Soby Chacko
  • Method Details

    • afterPropertiesSet

      public void afterPropertiesSet()
      Specified by:
      afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
      Overrides:
      afterPropertiesSet in class BindableProxyFactory
    • getObjectType

      public Class<?> getObjectType()
      Specified by:
      getObjectType in interface org.springframework.beans.factory.FactoryBean<Object>
      Overrides:
      getObjectType in class BindableProxyFactory
    • isSingleton

      public boolean isSingleton()
      Specified by:
      isSingleton in interface org.springframework.beans.factory.FactoryBean<Object>
      Overrides:
      isSingleton in class BindableProxyFactory
    • getFunctionDefinition

      protected String getFunctionDefinition()
    • getInputName

      protected String getInputName(int index)
    • getOutputName

      protected String getOutputName(int index)
    • isMultiple

      protected boolean isMultiple()
    • setApplicationContext

      public void setApplicationContext(org.springframework.context.ApplicationContext applicationContext) throws org.springframework.beans.BeansException
      Specified by:
      setApplicationContext in interface org.springframework.context.ApplicationContextAware
      Throws:
      org.springframework.beans.BeansException