Class TextSplitterPipe

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

@EnterpriseIntegrationPattern(TRANSLATOR) public class TextSplitterPipe extends FixedForwardPipe
Breaks up the text input in blocks of a maximum length. By default, the maximum block length is 160 characters, to enable them to be sent as SMS messages.
  • Constructor Details

    • TextSplitterPipe

      public TextSplitterPipe()
  • Method Details

    • 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
    • setMaxBlockLength

      public void setMaxBlockLength(int maxBlockLength)
      Set the maximum number of characters of a block
      Default value
      160
    • setSoftSplit

      public void setSoftSplit(boolean softSplit)
      If true, try to break up the message at spaces, instead of in the middle of words
      Default value
      false