adams.flow.transformer
Class AbstractSingleDecompress

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.transformer.AbstractTransformer
                  extended by adams.flow.transformer.AbstractSingleDecompress
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable
Direct Known Subclasses:
GUNZIP, UnBzip2, UnLzf, UnLzma

public abstract class AbstractSingleDecompress
extends AbstractTransformer

Ancestor for decompression algorithms that only work with archives that consists of a single file, like gunzip.

Version:
$Revision: 4584 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
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_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
AbstractSingleDecompress()
           
 
Method Summary
 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(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, execute, hasPendingOutput, input, output, postExecute, reset, restoreState, wrapUp
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, globalInfo, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
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, debug, destroy, equals, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 

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.

Constructor Detail

AbstractSingleDecompress

public AbstractSingleDecompress()
Method Detail

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

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.

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 interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractActor
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 String decompress(File inFile,
                                     File outFile)
Decompresses the archive.

Parameters:
inFile - the compressed archive
outFile - the decompressed output file
Returns:
null if successful, otherwise error message

doExecute

protected String doExecute()
Performs the actual transformation.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message


Copyright © 2013 University of Waikato, Hamilton, NZ. All Rights Reserved.