Class ZippedSpectrumReader

  • 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.AbstractDataContainerReader>, adams.core.SizeOfHandler, adams.core.Stoppable, Serializable, Comparable

    public class ZippedSpectrumReader
    extends AbstractSpectrumReader
    Reads spectra from the zip file using the specified base reader.

    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
     
    -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
     
    -reader <adams.data.io.input.AbstractSpectrumReader> (property: reader)
        The reader to use for reading the spectra from the zip file.
        default: adams.data.io.input.SimpleSpectrumReader
     
    -reg-exp <adams.core.base.BaseRegExp> (property: regExp)
        The regular expression that the file names must match in order to be extracted.
        default: .*
        more: https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html
     
    -invert <boolean> (property: invertMatching)
        If set to true, the matching sense of the regular expression is inverted.
        default: false
     
    -buffer <int> (property: bufferSize)
        The size of the buffer in bytes for the data stream.
        default: 1024
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_RegExp

        protected adams.core.base.BaseRegExp m_RegExp
        the regular expression that the filenames must match to be extracted.
      • m_InvertMatching

        protected boolean m_InvertMatching
        invert matching sense.
      • m_BufferSize

        protected int m_BufferSize
        the buffer size to use.
    • Constructor Detail

      • ZippedSpectrumReader

        public ZippedSpectrumReader()
    • 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 reader.
        Overrides:
        initialize in class adams.data.io.input.AbstractDataContainerReader<Spectrum>
      • setReader

        public void setReader​(AbstractSpectrumReader value)
        Sets the reader to use.
        Parameters:
        value - the reader to use
      • readerTipText

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

        public void setRegExp​(adams.core.base.BaseRegExp value)
        Sets the regular expression that the filenames must match.
        Parameters:
        value - the regular expression
      • getRegExp

        public adams.core.base.BaseRegExp getRegExp()
        Returns the regular expression that the filenames must match.
        Returns:
        the regular expression
      • regExpTipText

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

        public void setInvertMatching​(boolean value)
        Sets whether to invert the matching sense of the regular expression.
        Parameters:
        value - true if the matching sense is to be inverted
      • getInvertMatching

        public boolean getInvertMatching()
        Returns whether to invert the matching sense of the regular expression.
        Returns:
        true if the matching sense is to be inverted
      • invertMatchingTipText

        public String invertMatchingTipText()
        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.
      • 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!)
      • readData

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

        public static void main​(String[] args)
        Runs the reader from the command-line. If the option AbstractSpectrumReader.OPTION_OUTPUTDIR is specified then the read spectra get output as .spec files in that directory.
        Parameters:
        args - the command-line options to use