Package org.apache.camel.model
Class ChoiceDefinition
java.lang.Object
org.apache.camel.model.OptionalIdentifiedDefinition<ChoiceDefinition>
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.HasCamelContext,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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddOutput(ProcessorDefinition<?> output) Adds the given definition as output to this blockvoidconfigureChild(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.voidSets the id of this nodevoidsetOtherwise(OtherwiseDefinition otherwise) voidsetPrecondition(String precondition) Indicates whether this Choice EIP is in precondition mode or not.voidsetWhenClauses(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, convertHeaderTo, convertHeaderTo, convertHeaderTo, 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, 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, setHeaders, 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, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTapMethods inherited from class org.apache.camel.model.OptionalIdentifiedDefinition
description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, getNodePrefixId, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setLineNumber, setLocation
-
Constructor Details
-
ChoiceDefinition
public ChoiceDefinition()
-
-
Method Details
-
getOutputs
- Specified by:
getOutputsin classProcessorDefinition<ChoiceDefinition>
-
toString
-
addOutput
Description copied from interface:BlockAdds the given definition as output to this block- Specified by:
addOutputin interfaceBlock- Overrides:
addOutputin 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:ProcessorDefinitionEnds the current block- Overrides:
endin classProcessorDefinition<ChoiceDefinition>- Returns:
- the builder
-
endChoice
Description copied from class:ProcessorDefinitionEnds 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:
endChoicein 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:OptionalIdentifiedDefinitionSets the id of this node- Specified by:
setIdin interfaceorg.apache.camel.spi.IdAware- Overrides:
setIdin classOptionalIdentifiedDefinition<ChoiceDefinition>
-
getShortName
- Specified by:
getShortNamein interfaceorg.apache.camel.NamedNode
-
getLabel
Description copied from class:ProcessorDefinitionReturns a label to describe this node such as the expression if some kind of expression node- Specified by:
getLabelin interfaceorg.apache.camel.NamedNode- Overrides:
getLabelin classProcessorDefinition<ChoiceDefinition>
-
getWhenClauses
-
setWhenClauses
Sets the when nodes -
getOtherwise
-
setOtherwise
-
configureChild
Description copied from class:ProcessorDefinitionStrategy for children to do any custom configuration- Overrides:
configureChildin classProcessorDefinition<ChoiceDefinition>- Parameters:
output- the child to be added as output to this
-