Class ZipAggregationStrategy

  • All Implemented Interfaces:
    org.apache.camel.AggregationStrategy

    public class ZipAggregationStrategy
    extends Object
    implements org.apache.camel.AggregationStrategy
    This aggregation strategy will aggregate all incoming messages into a ZIP file.

    If the incoming exchanges contain GenericFileMessage file name will be taken from the body otherwise the body content will be treated as a byte array and the ZIP entry will be named using the message id (unless the flag useFilenameHeader is set to true.

    Note: Please note that this aggregation strategy requires eager completion check to work properly.

    • Constructor Detail

      • ZipAggregationStrategy

        public ZipAggregationStrategy()
      • ZipAggregationStrategy

        public ZipAggregationStrategy​(boolean preserveFolderStructure)
        Parameters:
        preserveFolderStructure - if true, the folder structure is preserved when the source is a type of GenericFileMessage. If used with a file, use recursive=true.
      • ZipAggregationStrategy

        public ZipAggregationStrategy​(boolean preserveFolderStructure,
                                      boolean useFilenameHeader)
        Parameters:
        preserveFolderStructure - if true, the folder structure is preserved when the source is a type of GenericFileMessage. If used with a file, use recursive=true.
        useFilenameHeader - if true, the filename header will be used to name aggregated byte arrays within the ZIP file.
      • ZipAggregationStrategy

        public ZipAggregationStrategy​(boolean preserveFolderStructure,
                                      boolean useFilenameHeader,
                                      boolean useTempFile)
        Parameters:
        preserveFolderStructure - if true, the folder structure is preserved when the source is a type of GenericFileMessage. If used with a file, use recursive=true.
        useFilenameHeader - if true, the filename header will be used to name aggregated byte arrays within the ZIP file.
        useTempFile - if true, the ZipFileSystem will use temporary files for zip manipulations instead of memory.
    • Method Detail

      • getFilePrefix

        public String getFilePrefix()
        Gets the prefix used when creating the ZIP file name.
        Returns:
        the prefix
      • setFilePrefix

        public void setFilePrefix​(String filePrefix)
        Sets the prefix that will be used when creating the ZIP filename.
        Parameters:
        filePrefix - prefix to use on ZIP file.
      • getFileSuffix

        public String getFileSuffix()
        Gets the suffix used when creating the ZIP file name.
        Returns:
        the suffix
      • setFileSuffix

        public void setFileSuffix​(String fileSuffix)
        Sets the suffix that will be used when creating the ZIP filename.
        Parameters:
        fileSuffix - suffix to use on ZIP file.
      • getParentDir

        public File getParentDir()
      • setParentDir

        public void setParentDir​(File parentDir)
        Sets the parent directory to use for writing temporary files.
      • setParentDir

        public void setParentDir​(String parentDir)
        Sets the parent directory to use for writing temporary files.
      • aggregate

        public org.apache.camel.Exchange aggregate​(org.apache.camel.Exchange oldExchange,
                                                   org.apache.camel.Exchange newExchange)
        Specified by:
        aggregate in interface org.apache.camel.AggregationStrategy