Class IncreaseIntegerPipe

All Implemented Interfaces:
HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@EnterpriseIntegrationPattern(SESSION) public class IncreaseIntegerPipe extends FixedForwardPipe
Pipe that increases the integer value of a session variable. Can be used in combination with CompareIntegerPipe to construct loops.
Author:
Richard Punt / Gerrit van Brakel
Specific parameters
increment integer value to be added to the session variable
  • Constructor Details

    • IncreaseIntegerPipe

      public IncreaseIntegerPipe()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Description copied from class: FixedForwardPipe
      checks for correct configuration of forward
      Specified by:
      configure in interface IConfigurable
      Specified by:
      configure in interface IPipe
      Overrides:
      configure in class FixedForwardPipe
      Throws:
      ConfigurationException
    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Description copied from interface: IPipe
      This 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. If the result of the Pipe does not depend on the input, like for the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String) This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.
      Throws:
      PipeRunException
    • consumesSessionVariable

      public boolean consumesSessionVariable(String sessionKey)
      Description copied from interface: IPipe
      returns true if the pipe or one of its children use the named session variable. Callers can use this to determine if a message needs to be preserved.
      Specified by:
      consumesSessionVariable in interface IPipe
      Overrides:
      consumesSessionVariable in class AbstractPipe
    • setSessionKey

      public void setSessionKey(String string)
      Reference to the session variable whose value is to be increased
    • setIncrement

      public void setIncrement(int i)
      amount to increment the value. Can be set from the attribute or the parameter 'increment'
      Default value
      1
    • getSessionKey

      public String getSessionKey()
    • getIncrement

      public int getIncrement()