Package adams.flow.transformer
Class AbstractMultiDecompress
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.core.logging.CustomLoggingLevelObject
-
- adams.core.option.AbstractOptionHandler
-
- adams.flow.core.AbstractActor
-
- adams.flow.transformer.AbstractTransformer
-
- adams.flow.transformer.AbstractMultiDecompress
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ErrorHandler
,InputConsumer
,OutputProducer
,Serializable
,Comparable
public abstract class AbstractMultiDecompress extends AbstractTransformer
Ancestor for compression schemes that manage archives with multiple files (incl directory structure) like zip archives.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected int
m_BufferSize
the buffer size to use.protected boolean
m_CreateDirectories
whether to restore the directory structure.protected boolean
m_InvertMatching
invert matching sense.protected PlaceholderDirectory
m_OutputDir
the output directory.protected BaseRegExp
m_RegExp
the regular expression that the filenames must match to be extracted.-
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
-
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description AbstractMultiDecompress()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.String
bufferSizeTipText()
Returns the tip text for this property.String
createDirectoriesTipText()
Returns the tip text for this property.protected abstract List<File>
decompress(File inFile, MessageCollection errors)
Decompresses the archive.void
defineOptions()
Adds options to the internal list of options.protected String
doExecute()
Performs the actual transformation.Class[]
generates()
Returns the class of objects that it generates.int
getBufferSize()
Returns the buffer size for the stream.boolean
getCreateDirectories()
Returns whether to restore the directory structure from the archive.boolean
getInvertMatching()
Returns whether to invert the matching sense of the regular expression.PlaceholderDirectory
getOutputDir()
Returns the alternative output directory to use.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.BaseRegExp
getRegExp()
Returns the regular expression that the filenames must match.String
invertMatchingTipText()
Returns the tip text for this property.String
outputDirTipText()
Returns the tip text for this property.String
regExpTipText()
Returns the tip text for this property.void
setBufferSize(int value)
Sets the buffer size for the stream.void
setCreateDirectories(boolean value)
Sets whether to restore the directory structure from the archive.void
setInvertMatching(boolean value)
Sets whether to invert the matching sense of the regular expression.void
setOutputDir(PlaceholderDirectory value)
Sets output directory to use.void
setRegExp(BaseRegExp value)
Sets the regular expression that the filenames must match.-
Methods inherited from class adams.flow.transformer.AbstractTransformer
backupState, currentInput, execute, hasInput, hasPendingOutput, input, output, postExecute, restoreState, wrapUp
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, configureLogger, destroy, equals, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, preExecute, pruneBackup, pruneBackup, reset, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, globalInfo, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_OutputDir
protected PlaceholderDirectory m_OutputDir
the output directory.
-
m_RegExp
protected BaseRegExp m_RegExp
the regular expression that the filenames must match to be extracted.
-
m_InvertMatching
protected boolean m_InvertMatching
invert matching sense.
-
m_CreateDirectories
protected boolean m_CreateDirectories
whether to restore the directory structure.
-
m_BufferSize
protected int m_BufferSize
the buffer size to use.
-
-
Method Detail
-
defineOptions
public void defineOptions()
Adds options to the internal list of options.- Specified by:
defineOptions
in interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractActor
-
setOutputDir
public void setOutputDir(PlaceholderDirectory value)
Sets output directory to use.- Parameters:
value
- the directory
-
getOutputDir
public PlaceholderDirectory getOutputDir()
Returns the alternative output directory to use.- Returns:
- the directory
-
outputDirTipText
public String outputDirTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setRegExp
public void setRegExp(BaseRegExp value)
Sets the regular expression that the filenames must match.- Parameters:
value
- the regular expression
-
getRegExp
public BaseRegExp getRegExp()
Returns the regular expression that the filenames must match.- Returns:
- the regular expression
-
regExpTipText
public String regExpTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setInvertMatching
public void setInvertMatching(boolean value)
Sets whether to invert the matching sense of the regular expression.- Parameters:
value
- true if the matching sense is to be inverted
-
getInvertMatching
public boolean getInvertMatching()
Returns whether to invert the matching sense of the regular expression.- Returns:
- true if the matching sense is to be inverted
-
invertMatchingTipText
public String invertMatchingTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setCreateDirectories
public void setCreateDirectories(boolean value)
Sets whether to restore the directory structure from the archive.- Parameters:
value
- true if the directory structure is to be restored
-
getCreateDirectories
public boolean getCreateDirectories()
Returns whether to restore the directory structure from the archive.- Returns:
- true if the directory structure will be restored
-
createDirectoriesTipText
public String createDirectoriesTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setBufferSize
public void setBufferSize(int value)
Sets the buffer size for the stream.- Parameters:
value
- the size in bytes
-
getBufferSize
public int getBufferSize()
Returns the buffer size for the stream.- Returns:
- the size in bytes
-
bufferSizeTipText
public String bufferSizeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
getQuickInfo
public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.- Specified by:
getQuickInfo
in interfaceActor
- Specified by:
getQuickInfo
in interfaceQuickInfoSupporter
- Overrides:
getQuickInfo
in classAbstractActor
- Returns:
- null if no info available, otherwise short string
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Returns:
- the accepted input
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Returns:
- the generated output
-
decompress
protected abstract List<File> decompress(File inFile, MessageCollection errors)
Decompresses the archive.- Parameters:
inFile
- the archive to decompresserrors
- for storing any error output- Returns:
- the decompressed files (full paths)
-
doExecute
protected String doExecute()
Performs the actual transformation.- Specified by:
doExecute
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-