Class CompressPipe

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

public class CompressPipe extends FixedForwardPipe
Pipe to zip or unzip a message or file.
Author:
John Dekker, Jaco de Groot
  • Constructor Details

    • CompressPipe

      public CompressPipe()
  • 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
    • setCompress

      public void setCompress(boolean b)
      if true the pipe compresses, otherwise it decompress
      Default value
      false
    • setFilenamePattern

      public void setFilenamePattern(String string)
      required if result is a file, the pattern for the result filename. Can be set with variables e.g. {file}.{ext}.zip in this example the {file} and {ext} variables are resolved with sessionKeys with the same name
    • setMessageIsContent

      public void setMessageIsContent(boolean b)
      flag indicates whether the message is the content or the path to a file with the contents. for multiple files use ';' as delimiter
      Default value
      false
    • setOutputDirectory

      public void setOutputDirectory(String string)
      required if result is a file, the directory in which to store the result file
    • setResultIsContent

      public void setResultIsContent(boolean b)
      flag indicates whether the result must be written to the message or to a file (filename = message)
      Default value
      false
    • setZipEntryPattern

      public void setZipEntryPattern(String string)
      the pattern for the zipentry name in case a zipfile is read or written
    • setFileFormat

      public void setFileFormat(CompressPipe.FileFormat format)
    • isMessageIsContent

      public boolean isMessageIsContent()
    • isResultIsContent

      public boolean isResultIsContent()
    • getOutputDirectory

      public String getOutputDirectory()
    • getFilenamePattern

      public String getFilenamePattern()
    • getZipEntryPattern

      public String getZipEntryPattern()
    • isCompress

      public boolean isCompress()
    • getFileFormat

      public CompressPipe.FileFormat getFileFormat()