Package adams.flow.transformer
Class AbstractSingleCompress
- 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.AbstractSingleCompress
-
- 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 AbstractSingleCompress extends AbstractTransformer
Ancestor for compression algorithms that only take a single file, like gzip.- 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 PlaceholderFile
m_Output
the filename of the GZIP output.protected boolean
m_RemoveInputFile
whether to remove the original input 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 AbstractSingleCompress()
-
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.protected abstract String
compress(byte[] inBytes, gnu.trove.list.TByteList outBytes)
Compresses the bytes.protected abstract String
compress(File inFile, File outFile)
Compresses the file.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.protected abstract String
getDefaultExtension()
Returns the default extension that the compressed archive has, e.g., ".gz" for gzipped files.PlaceholderFile
getOutput()
Returns the GZIP output filename.String
getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.boolean
getRemoveInputFile()
Returns whether to remove the original input after the file has been compressed.abstract String
outputTipText()
Returns the tip text for this property.String
removeInputFileTipText()
Returns the tip text for this property.void
setBufferSize(int value)
Sets the buffer size for the stream.void
setOutput(PlaceholderFile value)
Sets the GZIP output filename.void
setRemoveInputFile(boolean value)
Sets whether to remove the original input after the file has been compressed.-
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_RemoveInputFile
protected boolean m_RemoveInputFile
whether to remove the original input file.
-
m_Output
protected PlaceholderFile m_Output
the filename of the GZIP output.
-
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
-
setRemoveInputFile
public void setRemoveInputFile(boolean value)
Sets whether to remove the original input after the file has been compressed.- Parameters:
value
- true if the input file should be removed
-
getRemoveInputFile
public boolean getRemoveInputFile()
Returns whether to remove the original input after the file has been compressed.- Returns:
- true if the input file will be removed
-
removeInputFileTipText
public String removeInputFileTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setOutput
public void setOutput(PlaceholderFile value)
Sets the GZIP output filename.- Parameters:
value
- the filename
-
getOutput
public PlaceholderFile getOutput()
Returns the GZIP output filename.- Returns:
- the filename
-
outputTipText
public abstract String outputTipText()
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
-
compress
protected abstract String compress(File inFile, File outFile)
Compresses the file.- Parameters:
inFile
- the uncompressed input fileoutFile
- the compressed output file- Returns:
- null if successfully compressed, otherwise error message
-
compress
protected abstract String compress(byte[] inBytes, gnu.trove.list.TByteList outBytes)
Compresses the bytes.- Parameters:
inBytes
- the uncompressed bytesoutBytes
- the compressed bytes- Returns:
- null if successfully compressed, 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
-
-