Package org.apache.camel.model
Class LoopDefinition
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,CopyableDefinition<ProcessorDefinition>
,DisabledAwareDefinition
,HasExpressionType
,OutputNode
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasCamelContext
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
Processes a message multiple times
-
Field Summary
Fields inherited from class org.apache.camel.model.ProcessorDefinition
disabled
-
Constructor Summary
ConstructorsModifierConstructorDescriptionLoopDefinition
(org.apache.camel.Expression expression) LoopDefinition
(ExpressionDefinition expression) protected
LoopDefinition
(LoopDefinition source) LoopDefinition
(org.apache.camel.Predicate predicate) -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Enables copy mode so a copy of the input Exchange is used for each iteration.Makes a copy of this definition.getCopy()
getLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeorg.apache.camel.Processor
Uses theProcessor
when preparing theExchange
for each loop iteration.onPrepare
(org.apache.camel.Processor onPrepare) Uses theProcessor
when preparing theExchange
for each loop iteration.void
setBreakOnShutdown
(String breakOnShutdown) If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down.void
If the copy attribute is true, a copy of the input Exchange is used for each iteration.void
setDoWhile
(String doWhile) Enables the while loop that loops until the predicate evaluates to false or null.void
setExpression
(ExpressionDefinition expression) Expression to define how many times we should loop.void
setOnPrepare
(String onPrepare) toString()
Methods inherited from class org.apache.camel.model.OutputExpressionNode
getOutputs, setOutputs
Methods inherited from class org.apache.camel.model.ExpressionNode
configureChild, getExpression, getExpressionType, preCreateProcessor, setExpression, setExpressionType
Methods inherited from class org.apache.camel.model.ProcessorDefinition
addInterceptStrategy, addOutput, 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, convertHeaderTo, convertVariableTo, convertVariableTo, convertVariableTo, convertVariableTo, delay, delay, delay, disabled, 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
description, getCamelContext, getCustomId, getDescription, getDescriptionText, getId, getLineNumber, getLocation, getNodePrefixId, hasCustomIdAssigned, idOrCreate, setCamelContext, setCustomId, setDescription, setGeneratedId, setId, 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
-
LoopDefinition
public LoopDefinition() -
LoopDefinition
-
LoopDefinition
public LoopDefinition(org.apache.camel.Expression expression) -
LoopDefinition
public LoopDefinition(org.apache.camel.Predicate predicate) -
LoopDefinition
-
-
Method Details
-
copyDefinition
Description copied from interface:CopyableDefinition
Makes a copy of this definition. -
getOnPrepareProcessor
public org.apache.camel.Processor getOnPrepareProcessor() -
copy
Enables copy mode so a copy of the input Exchange is used for each iteration. -
onPrepare
Uses theProcessor
when preparing theExchange
for each loop iteration. This can be used to deep-clone messages, or any custom logic needed before the looping executes.- Parameters:
onPrepare
- reference to the processor to lookup in theRegistry
- Returns:
- the builder
-
onPrepare
Uses theProcessor
when preparing theExchange
for each loop iteration. This can be used to deep-clone messages, or any custom logic needed before the looping executes.- Parameters:
onPrepare
- reference to the processor to lookup in theRegistry
- Returns:
- the builder
-
getCopy
-
getDoWhile
-
setDoWhile
Enables the while loop that loops until the predicate evaluates to false or null. -
setCopy
If the copy attribute is true, a copy of the input Exchange is used for each iteration. That means each iteration will start from a copy of the same message. By default loop will loop the same exchange all over, so each iteration may have different message content. -
breakOnShutdown
-
setBreakOnShutdown
If the breakOnShutdown attribute is true, then the loop will not iterate until it reaches the end when Camel is shut down. -
getBreakOnShutdown
-
getOnPrepare
-
setOnPrepare
-
toString
-
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 classExpressionNode
-
setExpression
Expression to define how many times we should loop. Notice the expression is only evaluated once, and should return a number as how many times to loop. A value of zero or negative means no looping. The loop is like a for-loop fashion, if you want a while loop, then the dynamic router may be a better choice.- Overrides:
setExpression
in classExpressionNode
-