Class BindableFunctionProxyFactory

All Implemented Interfaces:
Bindable

public class BindableFunctionProxyFactory extends BindableProxyFactory
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
  • Field Details

  • Constructor Details

    • BindableFunctionProxyFactory

      public BindableFunctionProxyFactory(String functionDefinition, int inputCount, int outputCount, StreamFunctionProperties functionProperties)
    • BindableFunctionProxyFactory

      public BindableFunctionProxyFactory(String functionDefinition, int inputCount, int outputCount, StreamFunctionProperties functionProperties, boolean functionExist)
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • afterPropertiesSet

      public void afterPropertiesSet()
      Overrides:
      afterPropertiesSet in class BindableProxyFactory
    • getObjectType

      public Class<?> getObjectType()
      Overrides:
      getObjectType in class BindableProxyFactory
    • isSingleton

      public boolean isSingleton()
      Overrides:
      isSingleton in class BindableProxyFactory
    • getFunctionDefinition

      public 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
      Throws:
      org.springframework.beans.BeansException
    • isFunctionExist

      public boolean isFunctionExist()
    • getChannelNameToFunctions

      public static Map<String,String> getChannelNameToFunctions()