@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() |
String |
getShortName()
Returns a short name for this node which can be useful for ID generation or referring to related resources like images
|
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, claimCheck, claimCheck, claimCheck, claimCheck, clearOutput, convertBodyTo, convertBodyTo, createChannel, createChildProcessor, createCompositeProcessor, createOutputsProcessor, createOutputsProcessor, createOutputsProcessorImpl, createProcessor, delay, delay, delay, doTry, dynamicRouter, dynamicRouter, endDoTry, endHystrix, endParent, endRest, enrich, enrich, enrich, enrich, enrich, enrichRef, enrichRef, enrichRef, enrichWith, enrichWith, enrichWith, filter, filter, filter, filter, getIndex, getInterceptStrategies, getOtherAttributes, getParent, hystrix, id, idempotentConsumer, idempotentConsumer, idempotentConsumer, idempotentConsumer, inheritErrorHandler, inOnly, inOnly, inOnly, inOnly, inOnly, inOnly, inOut, inOut, inOut, inOut, inOut, inOut, isAbstract, isInheritErrorHandler, isTopLevelOnly, isWrappingEntireOutput, loadBalance, loadBalance, log, log, log, log, log, log, loop, loop, loop, loopDoWhile, 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, pollEnrich, pollEnrich, pollEnrichRef, pollEnrichRef, pollEnrichWith, pollEnrichWith, pollEnrichWith, preCreateProcessor, process, process, process, processRef, recipientList, recipientList, recipientList, recipientList, removeFaultHeader, removeHeader, removeHeaders, removeHeaders, removeProperties, removeProperties, removeProperty, resequence, resequence, rollback, rollback, routeDescription, routeGroup, routeId, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, routingSlip, saga, sample, sample, sample, script, script, serviceCall, serviceCall, serviceCall, setBody, setBody, setBody, setBody, setExchangePattern, setFaultBody, setFaultHeader, setHeader, setHeader, setHeader, setInheritErrorHandler, setOtherAttributes, setOutHeader, setOutHeader, setParent, setProperty, setProperty, sort, sort, sort, split, split, split, startupOrder, stop, threads, threads, threads, threads, throttle, throttle, throttle, throttle, throttle, throwException, throwException, to, to, to, to, to, to, to, to, to, to, toD, toD, 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, wrapProcessordescription, description, getCustomId, getDescription, getDescriptionText, getId, hasCustomIdAssigned, idOrCreate, setCustomId, setDescriptionpublic 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
ProcessorDefinitioncreateProcessor in class ProcessorDefinition<ChoiceDefinition>Exceptionpublic void addOutput(ProcessorDefinition<?> output)
BlockaddOutput in interface BlockaddOutput in class ProcessorDefinition<ChoiceDefinition>output - the processor definitionpublic ProcessorDefinition<?> end()
ProcessorDefinitionend in class ProcessorDefinition<ChoiceDefinition>public ChoiceDefinition endChoice()
ProcessorDefinitionchoice() 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(@AsPredicate Predicate predicate)
predicate - the predicate@AsPredicate public ExpressionClause<ChoiceDefinition> when()
public ChoiceDefinition otherwise()
public void setId(String value)
OptionalIdentifiedDefinitionsetId in class OptionalIdentifiedDefinition<ChoiceDefinition>public String getShortName()
NamedNodepublic String getLabel()
ProcessorDefinitiongetLabel in interface NamedNodegetLabel 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)
ProcessorDefinitionconfigureChild in class ProcessorDefinition<ChoiceDefinition>output - the child to be added as output to thisApache Camel