Package org.apache.camel.model
Class ChoiceDefinition
java.lang.Object
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,CopyableDefinition<ProcessorDefinition>
,DisabledAwareDefinition
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasCamelContext
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
@Metadata(label="eip,routing")
public class ChoiceDefinition
extends NoOutputDefinition<ChoiceDefinition>
Route messages based on a series of predicates
-
Field Summary
Fields inherited from class org.apache.camel.model.ProcessorDefinition
disabled
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addOutput
(OtherwiseDefinition other) void
addOutput
(ProcessorDefinition<?> output) Adds the given definition as output to this blockvoid
addOutput
(WhenDefinition when) Makes a copy of this definition.Whether to disable this EIP from the route during build time.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
Strategy to execute any custom logic before theProcessor
is created.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, configureChild, convertBodyTo, convertBodyTo, convertBodyTo, convertHeaderTo, convertHeaderTo, convertHeaderTo, convertHeaderTo, convertVariableTo, convertVariableTo, convertVariableTo, convertVariableTo, delay, delay, delay, description, disabled, disabled, doTry, dynamicRouter, dynamicRouter, end, endChoice, 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, getInheritErrorHandler, getInterceptStrategies, getParent, getRouteConfiguration, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, isAbstract, isTopLevelOnly, isWrappingEntireOutput, kamelet, loadBalance, loadBalance, log, log, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, loopDoWhile, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, nodePrefixId, onCompletion, onException, onException, onException, onException, pausable, pausable, pausable, pausable, pipeline, pipeline, pipeline, policy, policy, poll, poll, poll, poll, poll, poll, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollEnrichWith, pollV, process, process, process, recipientList, recipientList, recipientList, recipientList, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, removeVariable, 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, setHeaders, setInheritErrorHandler, setParent, setProperty, setProperty, setProperty, setRouteConfiguration, setVariable, setVariable, setVariable, setVariables, 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, toD, toD, toF, tokenize, toV, transacted, transacted, transform, transform, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap, wireTap, wireTap
Methods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, getNodePrefixId, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setLineNumber, setLocation
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.apache.camel.NamedNode
acceptDebugger
-
Constructor Details
-
ChoiceDefinition
public ChoiceDefinition() -
ChoiceDefinition
-
-
Method Details
-
copyDefinition
Description copied from interface:CopyableDefinition
Makes a copy of this definition. -
toString
-
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. -
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
-
addOutput
-
addOutput
-
disabled
Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.- Overrides:
disabled
in classProcessorDefinition<ChoiceDefinition>
-
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>
-
getOutputs
- Overrides:
getOutputs
in classNoOutputDefinition<ChoiceDefinition>
-
getShortName
-
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
-
preCreateProcessor
public void preCreateProcessor()Description copied from class:ProcessorDefinition
Strategy to execute any custom logic before theProcessor
is created.- Overrides:
preCreateProcessor
in classProcessorDefinition<ChoiceDefinition>
-