Class SpectrumFileWriter

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.QuickInfoSupporter, adams.core.ShallowCopySupporter<adams.flow.core.Actor>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.core.StoppableWithFeedback, adams.core.VariablesInspectionHandler, adams.event.VariableChangeListener, adams.flow.core.Actor, adams.flow.core.ErrorHandler, adams.flow.core.InputConsumer, adams.flow.core.OutputProducer, Serializable, Comparable

    public class SpectrumFileWriter
    extends adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
    Saves a spectrum to disk with the specified writer and passes the absolute filename on.
    As filename/directory name (depending on the writer) the database ID of the spectrum is used (below the specified output directory).

    Input/output:
    - accepts:
       knir.data.spectrum.Spectrum
       knir.data.spectrum.Spectrum[]
       knir.data.spectrum.MultiSpectrum
    - generates:
       java.lang.String


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: SpectrumFileWriter
     
    -annotation <adams.core.base.BaseAnnotation> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip <boolean> (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
        default: false
     
    -stop-flow-on-error <boolean> (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
        default: false
     
    -writer <adams.data.io.output.AbstractDataContainerWriter> (property: writer)
        The writer to use for saving the data.
        default: knir.data.output.SimpleSpectrumWriter
     
    -dir <adams.core.io.PlaceholderDirectory> (property: outputDir)
        The output directory for the data.
        default: ${CWD}
     
    Version:
    $Revision: 2242 $
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class adams.flow.transformer.AbstractDataContainerFileWriter

        adams.flow.transformer.AbstractDataContainerFileWriter.FileNameGeneration
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean m_OutputReport
      whether to output the "global" report in an empty spectrum.
      • Fields inherited from class adams.flow.transformer.AbstractDataContainerFileWriter

        m_FileNameGeneration, m_OutputDir, m_SuppliedFileName, m_Writer
      • 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
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Class[] accepts()
      Returns the class that the consumer accepts.
      void defineOptions()
      Adds options to the internal list of options.
      protected String doExecute()
      Executes the flow item.
      protected Class getDataContainerClass()
      Returns the data container class in use.
      protected adams.data.io.output.AbstractDataContainerWriter<Spectrum> getDefaultWriter()
      Returns the default writer to use.
      boolean getOutputReport()
      Returns whether to output the global report of the multi-spectrum as separate (= first) report-only spectrum (ie no spectral data).
      String globalInfo()
      Returns a string describing the object.
      String outputReportTipText()
      Returns the tip text for this property.
      void setOutputReport​(boolean value)
      Sets whether to output the global report of the multi-spectrum as separate (= first) report-only spectrum (ie no spectral data).
      • Methods inherited from class adams.flow.transformer.AbstractDataContainerFileWriter

        doWrite, fileNameGenerationTipText, generates, getDefaultExtension, getDefaultSuppliedFileName, getFileNameGeneration, getOutputDir, getQuickInfo, getSuppliedFileName, getWriter, outputDirTipText, setFileNameGeneration, setOutputDir, setSuppliedFileName, setWriter, suppliedFileNameTipText, writerTipText
      • 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, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
      • Methods inherited from class adams.core.logging.LoggingObject

        getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
      • 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_OutputReport

        protected boolean m_OutputReport
        whether to output the "global" report in an empty spectrum.
    • Constructor Detail

      • SpectrumFileWriter

        public SpectrumFileWriter()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
      • setOutputReport

        public void setOutputReport​(boolean value)
        Sets whether to output the global report of the multi-spectrum as separate (= first) report-only spectrum (ie no spectral data).
        Parameters:
        value - true if to output
      • getOutputReport

        public boolean getOutputReport()
        Returns whether to output the global report of the multi-spectrum as separate (= first) report-only spectrum (ie no spectral data).
        Returns:
        true if to output
      • outputReportTipText

        public String outputReportTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • getDefaultWriter

        protected adams.data.io.output.AbstractDataContainerWriter<Spectrum> getDefaultWriter()
        Returns the default writer to use.
        Specified by:
        getDefaultWriter in class adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
        Returns:
        the default writer
      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Specified by:
        accepts in interface adams.flow.core.InputConsumer
        Overrides:
        accepts in class adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
        Returns:
        the data type
      • getDataContainerClass

        protected Class getDataContainerClass()
        Returns the data container class in use.
        Specified by:
        getDataContainerClass in class adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
        Returns:
        the container class
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Overrides:
        doExecute in class adams.flow.transformer.AbstractDataContainerFileWriter<Spectrum>
        Returns:
        null if everything is fine, otherwise error message