Class IntegrationFlowExtension<B extends IntegrationFlowExtension<B>>

Type Parameters:
B - the IntegrationFlowDefinition implementation type.

public abstract class IntegrationFlowExtension<B extends IntegrationFlowExtension<B>>
extends IntegrationFlowDefinition<B>
An IntegrationFlowDefinition extension for custom Java DSL operators and reusable solutions. For supporting method flow chain an implementation of this class has to return an extension class from new methods, e.g.:
 
 	public class MyIntegrationFlowDefinition
 			extends IntegrationFlowExtension<MyIntegrationFlowDefinition> {

 		public MyIntegrationFlowDefinition upperCaseAfterSplit() {
 			return split()
 					.transform("payload.toUpperCase()");
      }
 }
 
 
This way it will be used in the target configuration as natural DSL definition:
 
  &#064;Bean
  public IntegrationFlow myFlowDefinition() {
 		return
 				new MyIntegrationFlowDefinition()
 			            .log()
 						.upperCaseAfterSplit()
 						.aggregate()
 						.get();
  }
 
 
This IntegrationFlowExtension can also be used for overriding existing operators with extensions to any IntegrationComponentSpec extensions, e.g. adding new options for target component configuration.
Since:
5.3
Author:
Artem Bilan