Class CounterSwitchPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.pipes.CounterSwitchPipe
- 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="*",
description="the exitState, based on the number of received messages")
@EnterpriseIntegrationPattern(ROUTER)
public class CounterSwitchPipe
extends FixedForwardPipe
Selects an exitState, based on the number of received messages by this pipe.
The exitState is the difference (subtraction) between the
divisor and
the remainder of [number of received messages] modulus divisor.
This will always be an integer between 1 and divisor, inclusive.- Author:
- Peter Leeuwenburgh
-
Field Summary
Fields inherited from class AbstractPipe
parameterNamesMustBeUniqueFields inherited from class TransactionAttributes
logFields inherited from interface IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidChecks for correct configuration of forward.@NonNull PipeRunResultdoPipe(Message message, PipeLineSession session) This is where the action takes place.intvoidsetDivisor(int i) Methods inherited from class FixedForwardPipe
getParameterValueMethods inherited from class AbstractPipe
addForward, addParameter, createBean, findForward, getAdapter, getEventSourceName, getParameterList, getRegisteredForwards, hasRegisteredForward, isRunning, registerEvent, setApplicationContext, setChompCharSize, setDefaultValue, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setIfParam, setIfValue, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setOnlyIfSessionKey, setOnlyIfValue, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setSkipOnEmptyInput, setStoreResultInSessionKey, setUnlessSessionKey, setUnlessValue, setWriteToSecLog, sizeStatisticsEnabled, skipPipe, start, stop, throwEventMethods inherited from class TransactionAttributes
configureTransactionAttributes, isTransacted, isTransacted, setTransacted, setTransactionTimeoutMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface FrankElement
addConfigWarningMethods inherited from interface HasApplicationContext
getApplicationContext, getConfigurationClassLoaderMethods inherited from interface HasTransactionAttribute
getTransactionAttribute, getTransactionTimeout, getTxDef, setTransactionAttributeMethods inherited from interface IForwardTarget
getNameMethods inherited from interface IPipe
getChompCharSize, getDefaultValue, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getIfParam, getIfValue, getLocker, getLogIntermediaryResults, getMaxThreads, getOnlyIfSessionKey, getOnlyIfValue, getSecLogSessionKeys, getStoreResultInSessionKey, getUnlessSessionKey, getUnlessValue, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isSkipOnEmptyInput, isWriteToSecLog, setPipeLine, throwEvent
-
Constructor Details
-
CounterSwitchPipe
public CounterSwitchPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipeChecks for correct configuration of forward.- Specified by:
configurein interfaceIConfigurable- Overrides:
configurein classFixedForwardPipe- Throws:
ConfigurationException- in case it was not able to configure the component.
-
doPipe
public @NonNull PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException 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
-
getDivisor
public int getDivisor() -
setDivisor
-