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 intm_BufferSizethe buffer size to use.protected PlaceholderFilem_Outputthe filename of the GZIP output.protected booleanm_RemoveInputFilewhether 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.StringbufferSizeTipText()Returns the tip text for this property.protected abstract Stringcompress(byte[] inBytes, gnu.trove.list.TByteList outBytes)Compresses the bytes.protected abstract Stringcompress(File inFile, File outFile)Compresses the file.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.protected abstract StringgetDefaultExtension()Returns the default extension that the compressed archive has, e.g., ".gz" for gzipped files.PlaceholderFilegetOutput()Returns the GZIP output filename.StringgetQuickInfo()Returns a quick info about the actor, which will be displayed in the GUI.booleangetRemoveInputFile()Returns whether to remove the original input after the file has been compressed.abstract StringoutputTipText()Returns the tip text for this property.StringremoveInputFileTipText()Returns the tip text for this property.voidsetBufferSize(int value)Sets the buffer size for the stream.voidsetOutput(PlaceholderFile value)Sets the GZIP output filename.voidsetRemoveInputFile(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:
defineOptionsin interfaceOptionHandler- Overrides:
defineOptionsin 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:
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
-
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:
doExecutein classAbstractActor- Returns:
- null if everything is fine, otherwise error message
-
-