Package org.apache.camel.model
Class ChoiceDefinition
java.lang.Object
org.apache.camel.model.OptionalIdentifiedDefinition<Type>
org.apache.camel.model.ProcessorDefinition<ChoiceDefinition>
org.apache.camel.model.ChoiceDefinition
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,OutputNode
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
@Metadata(label="eip,routing")
public class ChoiceDefinition
extends ProcessorDefinition<ChoiceDefinition>
implements OutputNode
Route messages based on a series of predicates
-
Field Summary
Fields inherited from class org.apache.camel.model.ProcessorDefinition
disabled, inheritErrorHandler
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addOutput
(ProcessorDefinition<?> output) Adds the given definition as output to this blockvoid
configureChild
(ProcessorDefinition<?> output) Strategy for children to do any custom configurationend()
Ends the current blockEnds the current block and returns back to thechoice()
DSL.getLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeSets the otherwise nodeIndicates that this Choice EIP is in precondition mode, its branches (when/otherwise) are then evaluated during startup to keep at runtime only the branch that matched.precondition
(boolean precondition) Indicates whether this Choice EIP is in precondition mode or not.void
Sets the id of this nodevoid
setOtherwise
(OtherwiseDefinition otherwise) void
setPrecondition
(String precondition) Indicates whether this Choice EIP is in precondition mode or not.void
setWhenClauses
(List<WhenDefinition> whenClauses) Sets the when nodestoString()
when()
Creates an expression for the when nodewhen
(org.apache.camel.Predicate predicate) Sets the predicate for the when nodeMethods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategy, aggregate, aggregate, aggregate, aggregate, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, bean, choice, circuitBreaker, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, convertBodyTo, convertBodyTo, convertBodyTo, delay, delay, delay, disabled, disabled, disabled, doTry, dynamicRouter, dynamicRouter, endCircuitBreaker, endDoCatch, endDoTry, endParent, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrich, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getDisabled, getIndex, getInterceptStrategies, getParent, getRouteConfiguration, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, isAbstract, isInheritErrorHandler, isTopLevelOnly, isWrappingEntireOutput, kamelet, loadBalance, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, loopDoWhile, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, nodePrefixId, onCompletion, onException, onException, pausable, pausable, pausable, pausable, pipeline, pipeline, pipeline, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, preCreateProcessor, process, process, process, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, resumable, resumable, resumable, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setDisabled, setExchangePattern, setExchangePattern, setHeader, setHeader, setHeader, setInheritErrorHandler, setParent, setProperty, setProperty, setProperty, setRouteConfiguration, sort, sort, sort, split, split, split, split, startupOrder, step, step, stop, threads, threads, threads, threads, throttle, throttle, throttle, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, to, to, toD, toD, toD, toD, toD, toD, toD, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setLineNumber, setLocation
-
Constructor Details
-
ChoiceDefinition
public ChoiceDefinition()
-
-
Method Details
-
getOutputs
- Specified by:
getOutputs
in classProcessorDefinition<ChoiceDefinition>
-
toString
-
addOutput
Description copied from interface:Block
Adds the given definition as output to this block- Specified by:
addOutput
in interfaceBlock
- Overrides:
addOutput
in classProcessorDefinition<ChoiceDefinition>
- Parameters:
output
- the processor definition
-
getPrecondition
-
setPrecondition
Indicates whether this Choice EIP is in precondition mode or not. If so its branches (when/otherwise) are evaluated during startup to keep at runtime only the branch that matched. -
end
Description copied from class:ProcessorDefinition
Ends the current block- Overrides:
end
in classProcessorDefinition<ChoiceDefinition>
- Returns:
- the builder
-
endChoice
Description copied from class:ProcessorDefinition
Ends the current block and returns back to thechoice()
DSL. Important: If you want to end the entire choice block, then useProcessorDefinition.end()
instead. The purpose ofProcessorDefinition.endChoice()
is to return control back to thechoice()
DSL, so you can add subsequent when and otherwise to the choice. There can be situations where you would need to useProcessorDefinition.endChoice()
often when you add additional EIPs inside the when's, and the DSLlooses scope when using a regularProcessorDefinition.end()
, and you would need to use thisProcessorDefinition.endChoice()
to return back the scope to thechoice()
DSL. For more details and examples see also this FAQ: Why can I not use when or otherwise in a Java Camel route .- Overrides:
endChoice
in classProcessorDefinition<ChoiceDefinition>
- Returns:
- the choice builder
-
precondition
Indicates that this Choice EIP is in precondition mode, its branches (when/otherwise) are then evaluated during startup to keep at runtime only the branch that matched.- Returns:
- the builder
-
precondition
Indicates whether this Choice EIP is in precondition mode or not. If so its branches (when/otherwise) are evaluated during startup to keep at runtime only the branch that matched.- Parameters:
precondition
- the flag indicating if it is in precondition mode or not.- Returns:
- the builder
-
when
Sets the predicate for the when node- Parameters:
predicate
- the predicate- Returns:
- the builder
-
when
Creates an expression for the when node- Returns:
- expression to be used as builder to configure the when node
-
otherwise
Sets the otherwise node- Returns:
- the builder
-
setId
Description copied from class:OptionalIdentifiedDefinition
Sets the id of this node- Specified by:
setId
in interfaceorg.apache.camel.spi.IdAware
- Overrides:
setId
in classOptionalIdentifiedDefinition<ChoiceDefinition>
-
getShortName
- Specified by:
getShortName
in interfaceorg.apache.camel.NamedNode
-
getLabel
Description copied from class:ProcessorDefinition
Returns a label to describe this node such as the expression if some kind of expression node- Specified by:
getLabel
in interfaceorg.apache.camel.NamedNode
- Overrides:
getLabel
in classProcessorDefinition<ChoiceDefinition>
-
getWhenClauses
-
setWhenClauses
Sets the when nodes -
getOtherwise
-
setOtherwise
-
configureChild
Description copied from class:ProcessorDefinition
Strategy for children to do any custom configuration- Overrides:
configureChild
in classProcessorDefinition<ChoiceDefinition>
- Parameters:
output
- the child to be added as output to this
-