Package nl.nn.adapterframework.pipes
Class CompressPipe
- java.lang.Object
-
- nl.nn.adapterframework.core.TransactionAttributes
-
- nl.nn.adapterframework.pipes.AbstractPipe
-
- nl.nn.adapterframework.pipes.FixedForwardPipe
-
- nl.nn.adapterframework.pipes.CompressPipe
-
- All Implemented Interfaces:
HasTransactionAttribute
,IConfigurable
,IConfigurationAware
,IExtendedPipe
,IForwardTarget
,INamedObject
,IPipe
,IScopeProvider
,EventThrowing
,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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
CompressPipe.FileFormat
-
Field Summary
-
Fields inherited from class nl.nn.adapterframework.pipes.AbstractPipe
parameterNamesMustBeUnique
-
Fields inherited from class nl.nn.adapterframework.core.TransactionAttributes
log
-
Fields inherited from interface nl.nn.adapterframework.core.IExtendedPipe
LONG_DURATION_MONITORING_EVENT, MESSAGE_SIZE_MONITORING_EVENT, PIPE_EXCEPTION_MONITORING_EVENT
-
-
Constructor Summary
Constructors Constructor Description CompressPipe()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configure()
checks for correct configuration of forwardPipeRunResult
doPipe(Message message, PipeLineSession session)
This is where the action takes place.CompressPipe.FileFormat
getFileFormat()
String
getFilenamePattern()
String
getOutputDirectory()
String
getZipEntryPattern()
boolean
isCompress()
boolean
isMessageIsContent()
boolean
isResultIsContent()
void
setCompress(boolean b)
iftrue
the pipe compresses, otherwise it decompressvoid
setFileFormat(CompressPipe.FileFormat format)
void
setFilenamePattern(String string)
required if result is a file, the pattern for the result filename.void
setMessageIsContent(boolean b)
flag indicates whether the message is the content or the path to a file with the contents.void
setOutputDirectory(String string)
required if result is a file, the directory in which to store the result filevoid
setResultIsContent(boolean b)
flag indicates whether the result must be written to the message or to a file (filename = message)void
setZipEntryPattern(String string)
the pattern for the zipentry name in case a zipfile is read or written-
Methods inherited from class nl.nn.adapterframework.pipes.FixedForwardPipe
getIfParam, getIfValue, getOnlyIfSessionKey, getOnlyIfValue, getParameterValue, getSuccessForward, getUnlessSessionKey, getUnlessValue, isSkipOnEmptyInput, setIfParam, setIfValue, setOnlyIfSessionKey, setOnlyIfValue, setSkipOnEmptyInput, setUnlessSessionKey, setUnlessValue, skipPipe
-
Methods inherited from class nl.nn.adapterframework.pipes.AbstractPipe
addParameter, consumesSessionVariable, createBean, findForward, getAdapter, getApplicationContext, getChompCharSize, getConfigurationClassLoader, getDurationThreshold, getElementToMove, getElementToMoveChain, getElementToMoveSessionKey, getEmptyInputReplacement, getEventSourceName, getForwards, getGetInputFromFixedValue, getGetInputFromSessionKey, getHideRegex, getInSizeStatDummyObject, getLocker, getLogIntermediaryResults, getMaxThreads, getName, getOutSizeStatDummyObject, getParameterList, getPipeLine, getSecLogSessionKeys, getStoreResultInSessionKey, hasSizeStatistics, isPreserveInput, isRemoveCompactMsgNamespaces, isRestoreMovedElements, isWriteToSecLog, registerEvent, registerForward, setApplicationContext, setChompCharSize, setDurationThreshold, setElementToMove, setElementToMoveChain, setElementToMoveSessionKey, setEmptyInputReplacement, setEventPublisher, setGetInputFromFixedValue, setGetInputFromSessionKey, setHideRegex, setLocker, setLogIntermediaryResults, setMaxThreads, setName, setPipeLine, setPreserveInput, setRemoveCompactMsgNamespaces, setRestoreMovedElements, setSecLogSessionKeys, setSizeStatistics, setStoreResultInSessionKey, setWriteToSecLog, start, stop, throwEvent
-
Methods inherited from class nl.nn.adapterframework.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 nl.nn.adapterframework.core.IExtendedPipe
throwEvent
-
-
-
-
Method Detail
-
configure
public void configure() throws ConfigurationException
Description copied from class:FixedForwardPipe
checks for correct configuration of forward- Specified by:
configure
in interfaceIConfigurable
- Specified by:
configure
in interfaceIPipe
- Overrides:
configure
in classFixedForwardPipe
- 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 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.- Throws:
PipeRunException
-
setCompress
public void setCompress(boolean b)
iftrue
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()
-
-