Class AutoDetectSpectrumReader

  • All Implemented Interfaces:
    adams.core.AdditionalInformationHandler, adams.core.CleanUpHandler, adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.io.FileFormatHandler, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.ShallowCopySupporter<adams.data.io.input.DataContainerReader>, adams.core.SizeOfHandler, adams.core.Stoppable, adams.data.io.input.DataContainerReader<Spectrum>, Serializable, Comparable

    public class AutoDetectSpectrumReader
    extends AbstractSpectrumReader
    Uses the specified spectrum readers to read the spectra.
    It identifies the relevant reader based on the supported file extensions.
    Iterates through the list of readers till a match is determined.
    Returns no spectra if no matching reader was identified.
    All readers must process files rather than directories.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
        min-user-mode: Expert
     
    -input <adams.core.io.PlaceholderFile> (property: input)
        The file to read and turn into a container.
        default: ${CWD}
     
    -create-dummy-report <boolean> (property: createDummyReport)
        If true, then a dummy report is created if none present.
        default: false
     
    -instrument <java.lang.String> (property: instrument)
        The name of the instrument that generated the spectra (if not already present
        in data).
        default: unknown
     
    -format <java.lang.String> (property: format)
        The data format string.
        default: NIR
     
    -keep-format <boolean> (property: keepFormat)
        If enabled the format obtained from the file is not replaced by the format
        defined here.
        default: false
     
    -use-absolute-source <boolean> (property: useAbsoluteSource)
        If enabled the source report field stores the absolute file name rather
        than just the name.
        default: false
     
    -base-reader <adams.data.io.input.AbstractSpectrumReader> [-base-reader ...] (property: baseReaders)
        The configured spectrum readers to use for reading the files.
        default:
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • AutoDetectSpectrumReader

        public AutoDetectSpectrumReader()
    • 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 AbstractSpectrumReader
      • initialize

        protected void initialize()
        Initializes the members.
        Overrides:
        initialize in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
      • setBaseReaders

        public void setBaseReaders​(AbstractSpectrumReader[] value)
        Sets the readers to use.
        Parameters:
        value - the readers
      • getBaseReaders

        public AbstractSpectrumReader[] getBaseReaders()
        Returns the readers in use.
        Returns:
        the readers
      • baseReadersTipText

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

        public String getFormatDescription()
        Returns a string describing the format (used in the file chooser).
        Specified by:
        getFormatDescription in interface adams.core.io.FileFormatHandler
        Specified by:
        getFormatDescription in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
        Returns:
        a description suitable for displaying in the file chooser
      • getFormatExtensions

        public String[] getFormatExtensions()
        Returns the extension(s) of the format.
        Specified by:
        getFormatExtensions in interface adams.core.io.FileFormatHandler
        Specified by:
        getFormatExtensions in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
        Returns:
        the extension (without the dot!)
      • handles

        protected boolean handles​(AbstractSpectrumReader reader,
                                  File file)
        Checks whether the spectrum reader can handle the file (based on the extension).
        Parameters:
        reader - the reader to check
        file - the file to check against
        Returns:
        true if handled
      • readData

        protected void readData()
        Performs the actual reading.
        Specified by:
        readData in class adams.data.io.input.AbstractDataContainerReader<Spectrum>