Package org.frankframework.compression
Class ZipWriterPipe
java.lang.Object
org.frankframework.core.TransactionAttributes
org.frankframework.pipes.AbstractPipe
org.frankframework.pipes.FixedForwardPipe
org.frankframework.collection.AbstractCollectorPipe<ZipWriter,MessageZipEntry>
org.frankframework.compression.ZipWriterPipe
- All Implemented Interfaces:
HasTransactionAttribute
,IConfigurable
,IConfigurationAware
,IForwardTarget
,INamedObject
,IPipe
,IScopeProvider
,IWithParameters
,EventThrowing
,HasStatistics
,org.springframework.beans.factory.Aware
,org.springframework.context.ApplicationContextAware
Pipe that creates a ZIP archive (on action close).
A chain of zipWriterPipes can be used to create a ZIP archive. You can use the pipe with different actions (see specified below).
Action CLOSE
will generate the ZIP archive which is returned as the pipe ouput.
- Since:
- 7.9
- Author:
- Gerrit van Brakel, Niels Meijer
- Specific parameters
- filename only for
action=WRITE
: the filename of the zip-entry, contents only foraction=WRITE
: contents of the zip-entry, If not specified, the input is used.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.frankframework.collection.AbstractCollectorPipe
AbstractCollectorPipe.Action
-
Field Summary
Fields inherited from class org.frankframework.pipes.AbstractPipe
parameterNamesMustBeUnique
Fields inherited from class org.frankframework.core.TransactionAttributes
log
Fields inherited from interface org.frankframework.core.IPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
checks for correct configuration of forwardprotected ZipWriter
createCollector
(Message input, PipeLineSession session) doPipe
(Message input, PipeLineSession session) This is where the action takes place.boolean
void
setBackwardsCompatibility
(boolean backwardsCompatibility) Deprecated, for removal: This API element is subject to removal in a future version.void
setCompleteFileHeader
(boolean b) Only for action='write': If set totrue
, the fields 'crc-32', 'compressed size' and 'uncompressed size' in the zip entry file header are set explicitly (note: compression ratio is zero)void
setZipWriterHandle
(String string) Deprecated, for removal: This API element is subject to removal in a future version.Methods inherited from class org.frankframework.collection.AbstractCollectorPipe
addPartToCollection, closeCollector, doAction, getAction, getCollection, getCollectionName, getParameterValueList, setAction, setCollectionName
Methods inherited from class org.frankframework.pipes.FixedForwardPipe
getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
Methods inherited from class org.frankframework.pipes.AbstractPipe
addForward, addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, hasRegisteredForward, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, sizeStatisticsEnabled, start, stop, throwEvent
Methods inherited from class org.frankframework.core.TransactionAttributes
configureTransactionAttributes, getTransactionAttribute, getTransactionTimeout, getTxDef, isTransacted, isTransacted, setTransacted, setTransactionAttribute, setTransactionTimeout
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.frankframework.core.IPipe
throwEvent
-
Constructor Details
-
ZipWriterPipe
public ZipWriterPipe()
-
-
Method Details
-
configure
Description copied from class:FixedForwardPipe
checks for correct configuration of forward- Specified by:
configure
in interfaceIConfigurable
- Specified by:
configure
in interfaceIPipe
- Overrides:
configure
in classAbstractCollectorPipe<ZipWriter,
MessageZipEntry> - Throws:
ConfigurationException
-
createCollector
protected ZipWriter createCollector(Message input, PipeLineSession session) throws CollectionException - Specified by:
createCollector
in classAbstractCollectorPipe<ZipWriter,
MessageZipEntry> - Throws:
CollectionException
-
doPipe
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 theFixedResultPipe
, the Pipe can schedule the input to be closed at session exit, by callingMessage.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.- Specified by:
doPipe
in interfaceIPipe
- Overrides:
doPipe
in classAbstractCollectorPipe<ZipWriter,
MessageZipEntry> - Throws:
PipeRunException
-
setZipWriterHandle
@Deprecated(forRemoval=true, since="7.9.0") @ConfigurationWarning("Replaced with attribute collectionName") public void setZipWriterHandle(String string) Deprecated, for removal: This API element is subject to removal in a future version.Session key used to refer to zip session. Must be specified with another value if ZipWriterPipes are nested. Deprecated, use collectionName instead.- Default value
- zipwriterhandle
-
setCompleteFileHeader
public void setCompleteFileHeader(boolean b) Only for action='write': If set totrue
, the fields 'crc-32', 'compressed size' and 'uncompressed size' in the zip entry file header are set explicitly (note: compression ratio is zero)- Default value
- false
-
setBackwardsCompatibility
@Deprecated(forRemoval=true, since="7.9.0") public void setBackwardsCompatibility(boolean backwardsCompatibility) Deprecated, for removal: This API element is subject to removal in a future version.When action is OPEN: If input is a string, it's assumed it's the location where to save the Zip Archive. When action is WRITE: Input will be 'piped' to the output, and the message will be preserved. Avoid using this if possible. -
isIncludeFileHeaders
public boolean isIncludeFileHeaders()
-