Class IntegrationFlowExtension<B extends IntegrationFlowExtension<B>>
java.lang.Object
org.springframework.integration.dsl.BaseIntegrationFlowDefinition<B>
org.springframework.integration.dsl.IntegrationFlowDefinition<B>
org.springframework.integration.dsl.IntegrationFlowExtension<B>
- Type Parameters:
B
- theIntegrationFlowDefinition
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:
@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
-
Nested Class Summary
Nested classes/interfaces inherited from class org.springframework.integration.dsl.BaseIntegrationFlowDefinition
BaseIntegrationFlowDefinition.ReplyProducerCleaner
-
Field Summary
Fields inherited from class org.springframework.integration.dsl.BaseIntegrationFlowDefinition
integrationComponents, PARSER
-
Constructor Summary
-
Method Summary
Methods inherited from class org.springframework.integration.dsl.IntegrationFlowDefinition
filter, filter, handle, handle, route, route, transform
Methods inherited from class org.springframework.integration.dsl.BaseIntegrationFlowDefinition
_this, addComponent, addComponent, addComponents, aggregate, aggregate, aggregate, barrier, barrier, bridge, bridge, channel, channel, channel, channel, checkReuse, claimCheckIn, claimCheckIn, claimCheckOut, claimCheckOut, claimCheckOut, controlBus, controlBus, convert, convert, currentComponent, currentInterceptableChannel, currentMessageChannel, delay, delay, enrich, enrichHeaders, enrichHeaders, enrichHeaders, enrichHeaders, enrichHeaders, extractProxyTarget, filter, filter, filter, filter, filter, filter, filter, filter, filter, fixedSubscriberChannel, fixedSubscriberChannel, fluxTransform, gateway, gateway, gateway, gateway, gateway, gateway, getCurrentComponent, getCurrentMessageChannel, getIntegrationComponents, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handle, handleReactive, handleReactive, handleReactive, handleReactive, headerFilter, headerFilter, headerFilter, intercept, isImplicitChannel, isOutputChannelRequired, log, log, log, log, log, log, log, log, log, log, log, log, log, nullChannel, obtainInputChannelFromFlow, publishSubscribeChannel, publishSubscribeChannel, publishSubscribeChannel, register, registerOutputChannelIfCan, resequence, resequence, route, route, route, route, route, route, route, route, route, route, route, route, route, route, routeByException, routeToRecipients, scatterGather, scatterGather, scatterGather, scatterGather, scatterGather, scatterGather, setImplicitChannel, split, split, split, split, split, split, split, split, split, splitWith, to, toReactivePublisher, toReactivePublisher, transform, transform, transform, transform, transform, transform, transformWith, trigger, trigger, trigger, trigger, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap
-
Constructor Details
-
IntegrationFlowExtension
protected IntegrationFlowExtension()
-
-
Method Details
-
get
- Overrides:
get
in classBaseIntegrationFlowDefinition<B extends IntegrationFlowExtension<B>>
-