@Metadata(label="eip,routing") public class ChoiceDefinition extends ProcessorDefinition<ChoiceDefinition>
inheritErrorHandler, log
Constructor and Description |
---|
ChoiceDefinition() |
Modifier and Type | Method and Description |
---|---|
void |
addOutput(ProcessorDefinition<?> output)
Adds the given definition as output to this block
|
void |
configureChild(ProcessorDefinition<?> output)
Strategy for children to do any custom configuration
|
Processor |
createProcessor(RouteContext routeContext)
Override this in definition class and implement logic to create the processor
based on the definition model.
|
ProcessorDefinition<?> |
end()
Ends the current block
|
ChoiceDefinition |
endChoice()
Ends the current block and returns back to the
choice() DSL. |
String |
getLabel()
Returns a label to describe this node such as the expression if some kind of expression node
|
OtherwiseDefinition |
getOtherwise() |
List<ProcessorDefinition<?>> |
getOutputs() |
List<WhenDefinition> |
getWhenClauses() |
boolean |
isOutputSupported() |
ChoiceDefinition |
otherwise()
Sets the otherwise node
|
void |
setId(String value)
Sets the id of this node
|
void |
setOtherwise(OtherwiseDefinition otherwise) |
void |
setWhenClauses(List<WhenDefinition> whenClauses)
Sets the when clauses
|
String |
toString() |
ExpressionClause<ChoiceDefinition> |
when()
Creates an expression for the when node
|
ChoiceDefinition |
when(Predicate predicate)
Sets the predicate for the when node
|
addInterceptStrategies, addInterceptStrategy, addRoutes, aggregate, aggregate, aggregate, aggregate, aop, attribute, bean, bean, bean, bean, bean, bean, bean, bean, beanRef, beanRef, beanRef, beanRef, beanRef, choice, clearOutput, convertBodyTo, convertBodyTo, createChannel, createChildProcessor, createCompositeProcessor, createOutputsProcessor, createOutputsProcessor, createOutputsProcessorImpl, createProcessor, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, endDoTry, endParent, endRest, enrich, enrich, enrich, enrich, enrich, enrichRef, enrichRef, enrichRef, filter, filter, filter, filter, getIndex, getInterceptStrategies, getOtherAttributes, getParent, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, inOut, isAbstract, isInheritErrorHandler, isTopLevelOnly, loadBalance, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, makeProcessor, markRollbackOnly, markRollbackOnlyLast, marshal, marshal, marshal, marshal, multicast, multicast, multicast, onCompletion, onException, onException, pipeline, pipeline, pipeline, pipeline, placeholder, policy, policy, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrich, pollEnrichRef, pollEnrichRef, preCreateProcessor, process, process, processRef, recipientList, recipientList, recipientList, recipientList, removeFaultHeader, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, rollback, rollback, routeDescription, routeId, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, sample, sample, sample, script, script, setBody, setBody, setExchangePattern, setFaultBody, setFaultHeader, setHeader, setHeader, setInheritErrorHandler, setOtherAttributes, setOutHeader, setOutHeader, setParent, setProperty, setProperty, sort, sort, sort, split, split, split, startupOrder, stop, threads, threads, threads, threads, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, toD, toD, toF, transacted, transacted, transform, transform, unmarshal, unmarshal, unmarshal, unmarshal, validate, validate, validate, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wireTap, wrapChannel, wrapChannel, wrapInErrorHandler, wrapProcessor
description, description, getCustomId, getDescription, getDescriptionText, getId, getShortName, hasCustomIdAssigned, idOrCreate, setCustomId, setDescription
public ChoiceDefinition()
public List<ProcessorDefinition<?>> getOutputs()
getOutputs
in class ProcessorDefinition<ChoiceDefinition>
public boolean isOutputSupported()
isOutputSupported
in class ProcessorDefinition<ChoiceDefinition>
public Processor createProcessor(RouteContext routeContext) throws Exception
ProcessorDefinition
createProcessor
in class ProcessorDefinition<ChoiceDefinition>
Exception
public void addOutput(ProcessorDefinition<?> output)
Block
addOutput
in interface Block
addOutput
in class ProcessorDefinition<ChoiceDefinition>
output
- the processor definitionpublic ProcessorDefinition<?> end()
ProcessorDefinition
end
in class ProcessorDefinition<ChoiceDefinition>
public ChoiceDefinition endChoice()
ProcessorDefinition
choice()
DSL.
Important: If you want to end the entire choice block, then use ProcessorDefinition.end()
instead.
The purpose of ProcessorDefinition.endChoice()
is to return control back to the choice()
DSL,
so you can add subsequent when and otherwise to the choice. There can be situations where
you would need to use ProcessorDefinition.endChoice()
often when you add additional EIPs inside the when's, and
the DSL ProcessorDefinition.end()
, and you would need to use this ProcessorDefinition.endChoice()
to return back the scope to the choice()
DSL.
For more details and examples see also this FAQ:
Why can I not use when or otherwise in a Java Camel route .endChoice
in class ProcessorDefinition<ChoiceDefinition>
public ChoiceDefinition when(Predicate predicate)
predicate
- the predicatepublic ExpressionClause<ChoiceDefinition> when()
public ChoiceDefinition otherwise()
public void setId(String value)
OptionalIdentifiedDefinition
setId
in class OptionalIdentifiedDefinition<ChoiceDefinition>
public String getLabel()
ProcessorDefinition
getLabel
in interface NamedNode
getLabel
in class ProcessorDefinition<ChoiceDefinition>
public List<WhenDefinition> getWhenClauses()
public void setWhenClauses(List<WhenDefinition> whenClauses)
public OtherwiseDefinition getOtherwise()
public void setOtherwise(OtherwiseDefinition otherwise)
public void configureChild(ProcessorDefinition<?> output)
ProcessorDefinition
configureChild
in class ProcessorDefinition<ChoiceDefinition>
output
- the child to be added as output to thisApache Camel