Package org.frankframework.pipes
Class ForPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.ForPipe
- All Implemented Interfaces:
FrankElement,HasApplicationContext,HasName,HasTransactionAttribute,IConfigurable,IForwardTarget,IPipe,IScopeProvider,IWithParameters,NameAware,EventThrowing,org.springframework.beans.factory.Aware,org.springframework.context.ApplicationContextAware,org.springframework.context.Lifecycle
@Forward(name="stop",description="exit for loop") @Forward(name="continue",description="continue in for loop")
@EnterpriseIntegrationPattern(ITERATOR)
public class ForPipe
extends AbstractPipe
ForPipe is a wrapper to use another pipe a fixed number of times. This can be accomplished by something like:
<ForPipe name="forPipe" startAt="0" stopAt="10">
<Forward name="stop" path="EXIT" />
<Forward name="continue" path="echoPipe"/>
</ForPipe>
<EchoPipe name="echoPipe" getInputFromSessionKey="forPipe.iteration">
<Forward name="success" path="forPipe"/>
</EchoPipe>
This should call the echoPipe for i=0 until i=10.
- Author:
- evandongen
-
Field Summary
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUniqueFields inherited from class org.frankframework.core.TransactionAttributes
logFields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoiddoPipe(Message message, PipeLineSession session) This is where the action takes place.voidsetStartAt(int startAt) Starts counting at this value.voidBreak from the loop when incrementSessionKey equals this value.Methods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getEventSourceName, getForwards, getParameterList, hasRegisteredForward, isRunning, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEventMethods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.frankframework.core.FrankElement
addConfigWarningMethods inherited from interface org.frankframework.core.HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface org.frankframework.core.HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttributeMethods inherited from interface org.frankframework.core.IForwardTarget
getNameMethods inherited from interface org.frankframework.core.IPipe
getChompCharSize, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getSecLogSessionKeys, getStoreResultInSessionKey, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, setPipeLine, throwEvent
-
Constructor Details
-
ForPipe
public ForPipe()
-
-
Method Details
-
configure
Description copied from class:AbstractPipeconfigure()is called after thePipelineis registered at theAdapter. The purpose of this method is to reduce creating connections to databases, etc. in thedoPipe()method. As much as possible, class instantiation should take place in theconfigure()method to improve performance.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classAbstractPipe- Throws:
ConfigurationException- in case it was not able to configure the component.
-
doPipe
Description copied from interface:IPipeThis is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult.- Throws:
PipeRunException
-
setStartAt
public void setStartAt(int startAt) Starts counting at this value.- Default value
- 0
-
setStopAt
Break from the loop when incrementSessionKey equals this value.
-