Class SpectrumFileReader

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.ArrayProvider, 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.ArrayProvider, adams.flow.core.ErrorHandler, adams.flow.core.InputConsumer, adams.flow.core.OutputProducer, Serializable, Comparable

    public class SpectrumFileReader
    extends adams.flow.transformer.AbstractDataContainerFileReader<Spectrum>
    Loads a file/directory containing spectrums from disk with a specified reader and passes them on.

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


    -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: SpectrumFileReader
     
    -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
     
    -reader <adams.data.io.input.AbstractDataContainerReader> (property: reader)
        The reader to use for importing the data.
        default: knir.data.input.SimpleSpectrumReader
     
    -output-multispectrum <boolean> (property: outputMultiSpectrum)
        If enabled, a knir.data.spectrum.MultiSpectrum is output instead of individual 
        knir.data.spectrum.Spectrum.
        default: false
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected AbstractSpectrumComparator m_CustomComparator
      the custom comparator to use.
      protected boolean m_OutputMultiSpectrum
      whether to generate a MultiSpectrum instead.
      protected boolean m_UseCustomComparator
      whether to use a custom comparator.
      • Fields inherited from class adams.flow.transformer.AbstractDataContainerFileReader

        BACKUP_CONTAINERS, m_Containers, m_OutputArray, m_Reader
      • 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
      String customComparatorTipText()
      Returns the tip text for this property.
      void defineOptions()
      Adds options to the internal list of options.
      protected String doExecute()
      Executes the flow item.
      AbstractSpectrumComparator getCustomComparator()
      Returns the custom comparator.
      protected adams.data.io.input.AbstractDataContainerReader getDefaultReader()
      Returns the default reader to use.
      protected Class getItemClass()
      Returns the base class of the items.
      boolean getOutputMultiSpectrum()
      Returns whether to output a MultiSpectrum instead.
      boolean getUseCustomComparator()
      Returns whether to use a custom comparator.
      String globalInfo()
      Returns a string describing the object.
      String outputMultiSpectrumTipText()
      Returns the tip text for this property.
      void setCustomComparator​(AbstractSpectrumComparator value)
      Sets the custom comparator.
      void setOutputMultiSpectrum​(boolean value)
      Sets whether to output a MultiSpectrum instead.
      void setUseCustomComparator​(boolean value)
      Sets whether to use a custom comparator.
      String useCustomComparatorTipText()
      Returns the tip text for this property.
      • Methods inherited from class adams.flow.transformer.AbstractDataContainerFileReader

        accepts, backupState, cleanUp, generates, getOutputArray, getQuickInfo, getReader, hasPendingOutput, output, outputArrayTipText, pruneBackup, readerTipText, reset, restoreState, setOutputArray, setReader, stopExecution
      • Methods inherited from class adams.flow.transformer.AbstractTransformer

        currentInput, execute, hasInput, input, postExecute, wrapUp
      • Methods inherited from class adams.flow.core.AbstractActor

        annotationsTipText, canInspectOptions, canPerformSetUpCheck, 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, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, 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

        compareTo, destroy, equals, execute, 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, toCommandLine, variableChanged, wrapUp
      • 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_OutputMultiSpectrum

        protected boolean m_OutputMultiSpectrum
        whether to generate a MultiSpectrum instead.
      • m_UseCustomComparator

        protected boolean m_UseCustomComparator
        whether to use a custom comparator.
    • Constructor Detail

      • SpectrumFileReader

        public SpectrumFileReader()
    • 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.AbstractDataContainerFileReader<Spectrum>
      • getDefaultReader

        protected adams.data.io.input.AbstractDataContainerReader getDefaultReader()
        Returns the default reader to use.
        Specified by:
        getDefaultReader in class adams.flow.transformer.AbstractDataContainerFileReader<Spectrum>
        Returns:
        the default reader
      • setOutputMultiSpectrum

        public void setOutputMultiSpectrum​(boolean value)
        Sets whether to output a MultiSpectrum instead.
        Parameters:
        value - true if to output a MultiSpectrum
      • getOutputMultiSpectrum

        public boolean getOutputMultiSpectrum()
        Returns whether to output a MultiSpectrum instead.
        Returns:
        true if to output a MultiSpectrum
      • outputMultiSpectrumTipText

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

        public void setUseCustomComparator​(boolean value)
        Sets whether to use a custom comparator.
        Parameters:
        value - true if to use custom comparator
      • getUseCustomComparator

        public boolean getUseCustomComparator()
        Returns whether to use a custom comparator.
        Returns:
        true if to use a custom comparator
      • useCustomComparatorTipText

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

        public void setCustomComparator​(AbstractSpectrumComparator value)
        Sets the custom comparator.
        Parameters:
        value - the custom comparator
      • getCustomComparator

        public AbstractSpectrumComparator getCustomComparator()
        Returns the custom comparator.
        Returns:
        the custom comparator
      • customComparatorTipText

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

        protected Class getItemClass()
        Returns the base class of the items.
        Specified by:
        getItemClass in class adams.flow.transformer.AbstractDataContainerFileReader<Spectrum>
        Returns:
        the class
      • doExecute

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