Package adams.flow.transformer
Class AbstractSingleDecompress
- 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.AbstractSingleDecompress
-
- All Implemented Interfaces:
AdditionalInformationHandler
,BufferSupporter
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ErrorHandler
,InputConsumer
,OutputProducer
,Serializable
,Comparable
public abstract class AbstractSingleDecompress extends AbstractTransformer implements BufferSupporter
Ancestor for decompression algorithms that only work with archives that consists of a single file, like gunzip.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static String
DUMMY_EXTENSION
the dummy extension if the file doesn't end with .gz.protected String
m_AlternativeFilename
the alternative filename to use.protected PlaceholderDirectory
m_AlternativeOutputDir
the alternative output directory.protected int
m_BufferSize
the buffer size to use.protected boolean
m_UseAlternativeOutputDir
whether to use an alternative location for the file.-
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 AbstractSingleDecompress()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.abstract String
alternativeFilenameTipText()
Returns the tip text for this property.String
alternativeOutputDirTipText()
Returns the tip text for this property.String
bufferSizeTipText()
Returns the tip text for this property.protected abstract String
decompress(byte[] inBytes, gnu.trove.list.TByteList outBytes)
Decompresses the bytes.protected abstract String
decompress(File inFile, File outFile)
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.String
getAlternativeFilename()
Returns the alternative filename to use.PlaceholderDirectory
getAlternativeOutputDir()
Returns the alternative output directory to use.int
getBufferSize()
Returns the buffer size for the stream.protected abstract String
getDefaultExtension()
Returns the default extension that the compressed archive has, e.g., ".gz" for gzipped files.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.boolean
getUseAlternativeOutputDir()
Returns whether to use an alternative output directory.void
setAlternativeFilename(String value)
Sets alternative filename to use.void
setAlternativeOutputDir(PlaceholderDirectory value)
Sets alternative output directory to use.void
setBufferSize(int value)
Sets the buffer size for the stream.void
setUseAlternativeOutputDir(boolean value)
Sets whether to use an alternative output directory.abstract String
useAlternativeOutputDirTipText()
Returns the tip text for this property.-
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
-
DUMMY_EXTENSION
public static final String DUMMY_EXTENSION
the dummy extension if the file doesn't end with .gz.- See Also:
- Constant Field Values
-
m_UseAlternativeOutputDir
protected boolean m_UseAlternativeOutputDir
whether to use an alternative location for the file.
-
m_AlternativeOutputDir
protected PlaceholderDirectory m_AlternativeOutputDir
the alternative output directory.
-
m_AlternativeFilename
protected String m_AlternativeFilename
the alternative filename to use.
-
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
-
getDefaultExtension
protected abstract String getDefaultExtension()
Returns the default extension that the compressed archive has, e.g., ".gz" for gzipped files.- Returns:
- the extension, including the dot
-
setUseAlternativeOutputDir
public void setUseAlternativeOutputDir(boolean value)
Sets whether to use an alternative output directory.- Parameters:
value
- true if an alternative output directory is used
-
getUseAlternativeOutputDir
public boolean getUseAlternativeOutputDir()
Returns whether to use an alternative output directory.- Returns:
- true if an alternative output directory is used
-
useAlternativeOutputDirTipText
public abstract String useAlternativeOutputDirTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAlternativeOutputDir
public void setAlternativeOutputDir(PlaceholderDirectory value)
Sets alternative output directory to use.- Parameters:
value
- the directory
-
getAlternativeOutputDir
public PlaceholderDirectory getAlternativeOutputDir()
Returns the alternative output directory to use.- Returns:
- the directory
-
alternativeOutputDirTipText
public String alternativeOutputDirTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setAlternativeFilename
public void setAlternativeFilename(String value)
Sets alternative filename to use.- Parameters:
value
- the filename
-
getAlternativeFilename
public String getAlternativeFilename()
Returns the alternative filename to use.- Returns:
- the filename
-
alternativeFilenameTipText
public abstract String alternativeFilenameTipText()
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.- Specified by:
setBufferSize
in interfaceBufferSupporter
- Parameters:
value
- the size in bytes
-
getBufferSize
public int getBufferSize()
Returns the buffer size for the stream.- Specified by:
getBufferSize
in interfaceBufferSupporter
- Returns:
- the size in bytes
-
bufferSizeTipText
public String bufferSizeTipText()
Returns the tip text for this property.- Specified by:
bufferSizeTipText
in interfaceBufferSupporter
- 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.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- the accepted input
-
generates
public Class[] generates()
Returns the class of objects that it generates.- Specified by:
generates
in interfaceOutputProducer
- Returns:
- the generated output
-
decompress
protected abstract String decompress(File inFile, File outFile)
Decompresses the archive.- Parameters:
inFile
- the compressed archiveoutFile
- the decompressed output file- Returns:
- null if successful, otherwise error message
-
decompress
protected abstract String decompress(byte[] inBytes, gnu.trove.list.TByteList outBytes)
Decompresses the bytes.- Parameters:
inBytes
- the compressed bytesoutBytes
- the decompressed bytes- Returns:
- null if successful, otherwise error message
-
doExecute
protected String doExecute()
Performs the actual transformation.- Specified by:
doExecute
in classAbstractActor
- Returns:
- null if everything is fine, otherwise error message
-
-