/** * Populate the {@link MessageTransformingHandler} instance for the * {@link org.springframework.integration.handler.MessageProcessor} from provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .transform(Scripts.script("classpath:myScript.py").valiable("foo", bar()), * e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 * @see MethodInvokingTransformer */ public B transform(MessageProcessorSpec<?> messageProcessorSpec, Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .transform(new MethodInvokingTransformer(processor), endpointConfigurer); }
/** * Populate the {@link MessageTransformingHandler} instance for the * {@link org.springframework.integration.handler.MessageProcessor} from provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .transform(Scripts.script("classpath:myScript.py").valiable("foo", bar()), * e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 * @see MethodInvokingTransformer */ public B transform(MessageProcessorSpec<?> messageProcessorSpec, Consumer<GenericEndpointSpec<MessageTransformingHandler>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .transform(new MethodInvokingTransformer(processor), endpointConfigurer); }
/** * Populate the {@link MethodInvokingSplitter} to evaluate the * {@link org.springframework.integration.handler.MessageProcessor} at runtime * from provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .split(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000), * , e -> e.applySequence(false)) * } * </pre> * @param messageProcessorSpec the splitter {@link MessageProcessorSpec}. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options * and for {@link MethodInvokingSplitter}. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 * @see SplitterEndpointSpec * @see org.springframework.integration.dsl.scripting.ScriptSpec */ public B split(MessageProcessorSpec<?> messageProcessorSpec, Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .split(new MethodInvokingSplitter(processor), endpointConfigurer); }
/** * Populate a {@link MessageFilter} with {@link MethodInvokingSelector} * for the {@link org.springframework.integration.handler.MessageProcessor} from * the provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link FilterEndpointSpec}. * <pre class="code"> * {@code * .filter(Scripts.script(scriptResource).lang("ruby"), * e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B filter(MessageProcessorSpec<?> messageProcessorSpec, Consumer<FilterEndpointSpec> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .filter(new MethodInvokingSelector(processor), endpointConfigurer); }
/** * Populate a {@link ServiceActivatingHandler} for the * {@link org.springframework.integration.handler.MessageProcessor} from the provided * {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .handle(Scripts.script("classpath:myScript.ruby"), e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B handle(MessageProcessorSpec<?> messageProcessorSpec, Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .handle(new ServiceActivatingHandler(processor), endpointConfigurer); }
/** * Populate a {@link MessageFilter} with {@link MethodInvokingSelector} * for the {@link org.springframework.integration.handler.MessageProcessor} from * the provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link FilterEndpointSpec}. * <pre class="code"> * {@code * .filter(Scripts.script(scriptResource).lang("ruby"), * e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B filter(MessageProcessorSpec<?> messageProcessorSpec, Consumer<FilterEndpointSpec> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .filter(new MethodInvokingSelector(processor), endpointConfigurer); }
/** * Populate a {@link ServiceActivatingHandler} for the * {@link org.springframework.integration.handler.MessageProcessor} from the provided * {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .handle(Scripts.script("classpath:myScript.ruby"), e -> e.autoStartup(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B handle(MessageProcessorSpec<?> messageProcessorSpec, Consumer<GenericEndpointSpec<ServiceActivatingHandler>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .handle(new ServiceActivatingHandler(processor), endpointConfigurer); }
/** * Populate the {@link MethodInvokingSplitter} to evaluate the * {@link org.springframework.integration.handler.MessageProcessor} at runtime * from provided {@link MessageProcessorSpec}. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .split(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000), * , e -> e.applySequence(false)) * } * </pre> * @param messageProcessorSpec the splitter {@link MessageProcessorSpec}. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options * and for {@link MethodInvokingSplitter}. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 * @see SplitterEndpointSpec * @see org.springframework.integration.dsl.scripting.ScriptSpec */ public B split(MessageProcessorSpec<?> messageProcessorSpec, Consumer<SplitterEndpointSpec<MethodInvokingSplitter>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .split(new MethodInvokingSplitter(processor), endpointConfigurer); }
/** * Populate the {@link MethodInvokingRouter} for the {@link org.springframework.integration.handler.MessageProcessor} * from the provided {@link MessageProcessorSpec} with default options. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .route(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000), * m -> m.channelMapping("true", "evenChannel") * .subFlowMapping("false", f -> * f.<Integer>handle((p, h) -> p * 3)), * e -> e.applySequence(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param routerConfigurer the {@link Consumer} to provide {@link MethodInvokingRouter} options. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B route(MessageProcessorSpec<?> messageProcessorSpec, Consumer<RouterSpec<Object, MethodInvokingRouter>> routerConfigurer, Consumer<GenericEndpointSpec<MethodInvokingRouter>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .route(new MethodInvokingRouter(processor), routerConfigurer, endpointConfigurer); }
/** * Populate the {@link MethodInvokingRouter} for the {@link org.springframework.integration.handler.MessageProcessor} * from the provided {@link MessageProcessorSpec} with default options. * In addition accept options for the integration endpoint using {@link GenericEndpointSpec}. * <pre class="code"> * {@code * .route(Scripts.script(myScriptResource).lang("groovy").refreshCheckDelay(1000), * m -> m.channelMapping("true", "evenChannel") * .subFlowMapping("false", f -> * f.<Integer>handle((p, h) -> p * 3)), * e -> e.applySequence(false)) * } * </pre> * @param messageProcessorSpec the {@link MessageProcessorSpec} to use. * @param routerConfigurer the {@link Consumer} to provide {@link MethodInvokingRouter} options. * @param endpointConfigurer the {@link Consumer} to provide integration endpoint options. * @return the current {@link IntegrationFlowDefinition}. * @since 1.1 */ public B route(MessageProcessorSpec<?> messageProcessorSpec, Consumer<RouterSpec<Object, MethodInvokingRouter>> routerConfigurer, Consumer<GenericEndpointSpec<MethodInvokingRouter>> endpointConfigurer) { Assert.notNull(messageProcessorSpec, "'messageProcessorSpec' must not be null"); MessageProcessor<?> processor = messageProcessorSpec.get(); return addComponent(processor) .route(new MethodInvokingRouter(processor), routerConfigurer, endpointConfigurer); }