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 intm_BufferSizethe buffer size to use.protected booleanm_CreateDirectorieswhether to restore the directory structure.protected booleanm_InvertMatchinginvert matching sense.protected PlaceholderDirectorym_OutputDirthe output directory.protected BaseRegExpm_RegExpthe 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.StringbufferSizeTipText()Returns the tip text for this property.StringcreateDirectoriesTipText()Returns the tip text for this property.protected abstract List<File>decompress(File inFile, MessageCollection errors)Decompresses the archive.voiddefineOptions()Adds options to the internal list of options.protected StringdoExecute()Performs the actual transformation.Class[]generates()Returns the class of objects that it generates.intgetBufferSize()Returns the buffer size for the stream.booleangetCreateDirectories()Returns whether to restore the directory structure from the archive.booleangetInvertMatching()Returns whether to invert the matching sense of the regular expression.PlaceholderDirectorygetOutputDir()Returns the alternative output directory to use.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.BaseRegExpgetRegExp()Returns the regular expression that the filenames must match.StringinvertMatchingTipText()Returns the tip text for this property.StringoutputDirTipText()Returns the tip text for this property.StringregExpTipText()Returns the tip text for this property.voidsetBufferSize(int value)Sets the buffer size for the stream.voidsetCreateDirectories(boolean value)Sets whether to restore the directory structure from the archive.voidsetInvertMatching(boolean value)Sets whether to invert the matching sense of the regular expression.voidsetOutputDir(PlaceholderDirectory value)Sets output directory to use.voidsetRegExp(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:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin 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:
getQuickInfoin interfaceActor- Specified by:
getQuickInfoin interfaceQuickInfoSupporter- Overrides:
getQuickInfoin 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:
doExecutein classAbstractActor- Returns:
- null if everything is fine, otherwise error message
-
-