Package org.apache.camel.model
Class LoopDefinition
- java.lang.Object
-
- org.apache.camel.model.OptionalIdentifiedDefinition<Type>
-
- org.apache.camel.model.ProcessorDefinition<ExpressionNode>
-
- org.apache.camel.model.ExpressionNode
-
- org.apache.camel.model.OutputExpressionNode
-
- org.apache.camel.model.LoopDefinition
-
- All Implemented Interfaces:
org.apache.camel.CamelContextAware
,org.apache.camel.LineNumberAware
,Block
,HasExpressionType
,OutputNode
,org.apache.camel.NamedNode
,org.apache.camel.spi.HasId
,org.apache.camel.spi.IdAware
@Metadata(label="eip,routing") public class LoopDefinition extends OutputExpressionNode
Processes a message multiple times
-
-
Field Summary
-
Fields inherited from class org.apache.camel.model.ProcessorDefinition
inheritErrorHandler
-
-
Constructor Summary
Constructors Constructor Description LoopDefinition()
LoopDefinition(org.apache.camel.Expression expression)
LoopDefinition(ExpressionDefinition expression)
LoopDefinition(org.apache.camel.Predicate predicate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description LoopDefinition
breakOnShutdown()
LoopDefinition
copy()
Enables copy mode so a copy of the input Exchange is used for each iteration.String
getBreakOnShutdown()
String
getCopy()
String
getDoWhile()
String
getLabel()
Returns a label to describe this node such as the expression if some kind of expression nodeString
getShortName()
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
setCopy(String copy)
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.String
toString()
-
Methods inherited from class org.apache.camel.model.OutputExpressionNode
getOutputs, setOutputs
-
Methods inherited from class org.apache.camel.model.ExpressionNode
configureChild, getExpression, getExpressionType, id, 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, delay, delay, delay, 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, getIndex, getInterceptStrategies, getParent, getRouteConfiguration, 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, 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, setId, setLineNumber, setLocation
-
-
-
-
Constructor Detail
-
LoopDefinition
public LoopDefinition()
-
LoopDefinition
public LoopDefinition(org.apache.camel.Expression expression)
-
LoopDefinition
public LoopDefinition(org.apache.camel.Predicate predicate)
-
LoopDefinition
public LoopDefinition(ExpressionDefinition expression)
-
-
Method Detail
-
copy
public LoopDefinition copy()
Enables copy mode so a copy of the input Exchange is used for each iteration.
-
getCopy
public String getCopy()
-
getDoWhile
public String getDoWhile()
-
setDoWhile
public void setDoWhile(String doWhile)
Enables the while loop that loops until the predicate evaluates to false or null.
-
setCopy
public void setCopy(String copy)
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
public LoopDefinition breakOnShutdown()
-
setBreakOnShutdown
public 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.
-
getBreakOnShutdown
public String getBreakOnShutdown()
-
getShortName
public String getShortName()
-
getLabel
public String 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
public void setExpression(ExpressionDefinition expression)
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
-
-