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
inheritErrorHandler
-
-
Constructor Summary
Constructors Constructor Description ChoiceDefinition()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddOutput(ProcessorDefinition<?> output)Adds the given definition as output to this blockvoidconfigureChild(ProcessorDefinition<?> output)Strategy for children to do any custom configurationProcessorDefinition<?>end()Ends the current blockChoiceDefinitionendChoice()Ends the current block and returns back to thechoice()DSL.StringgetLabel()Returns a label to describe this node such as the expression if some kind of expression nodeOtherwiseDefinitiongetOtherwise()List<ProcessorDefinition<?>>getOutputs()StringgetPrecondition()StringgetShortName()List<WhenDefinition>getWhenClauses()ChoiceDefinitionotherwise()Sets the otherwise nodeChoiceDefinitionprecondition()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.ChoiceDefinitionprecondition(boolean precondition)Indicates whether this Choice EIP is in precondition mode or not.voidsetId(String id)Sets 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 nodesStringtoString()ExpressionClause<ChoiceDefinition>when()Creates an expression for the when nodeChoiceDefinitionwhen(org.apache.camel.Predicate predicate)Sets the predicate for the when node-
Methods 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, 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, getIndex, getInterceptStrategies, getParent, getRouteConfiguration, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, 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, onCompletion, onException, onException, pausable, pausable, pausable, pausable, pipeline, 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, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, 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, 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, description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setLineNumber, setLocation
-
-
-
-
Method Detail
-
getOutputs
public List<ProcessorDefinition<?>> getOutputs()
- Specified by:
getOutputsin classProcessorDefinition<ChoiceDefinition>
-
addOutput
public void addOutput(ProcessorDefinition<?> output)
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
public String getPrecondition()
-
setPrecondition
public void setPrecondition(String 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.
-
end
public ProcessorDefinition<?> end()
Description copied from class:ProcessorDefinitionEnds the current block- Overrides:
endin classProcessorDefinition<ChoiceDefinition>- Returns:
- the builder
-
endChoice
public ChoiceDefinition 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
public 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
public ChoiceDefinition precondition(boolean 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
public ChoiceDefinition when(@AsPredicate org.apache.camel.Predicate predicate)
Sets the predicate for the when node- Parameters:
predicate- the predicate- Returns:
- the builder
-
when
@AsPredicate public ExpressionClause<ChoiceDefinition> when()
Creates an expression for the when node- Returns:
- expression to be used as builder to configure the when node
-
otherwise
public ChoiceDefinition otherwise()
Sets the otherwise node- Returns:
- the builder
-
setId
public void setId(String id)
Description copied from class:OptionalIdentifiedDefinitionSets the id of this node- Specified by:
setIdin interfaceorg.apache.camel.spi.IdAware- Overrides:
setIdin classOptionalIdentifiedDefinition<ChoiceDefinition>
-
getShortName
public String getShortName()
- Specified by:
getShortNamein interfaceorg.apache.camel.NamedNode
-
getLabel
public String 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
public List<WhenDefinition> getWhenClauses()
-
setWhenClauses
public void setWhenClauses(List<WhenDefinition> whenClauses)
Sets the when nodes
-
getOtherwise
public OtherwiseDefinition getOtherwise()
-
setOtherwise
public void setOtherwise(OtherwiseDefinition otherwise)
-
configureChild
public void configureChild(ProcessorDefinition<?> output)
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
-
-