Class ZippedSpectrumWriter

  • 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.output.DataContainerWriter>, adams.core.SizeOfHandler, adams.data.io.output.DataContainerWriter<Spectrum>, Serializable, Comparable

    public class ZippedSpectrumWriter
    extends AbstractSpectrumWriter
    Writes spectra to the zip file using the specified base writer (must support streaming).

    -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
     
    -output <adams.core.io.PlaceholderFile> (property: output)
        The file to write the spectra to.
        default: ${TMP}/out.tmp
     
    -writer <adams.data.io.output.StreamableDataContainerWriter> (property: writer)
        The base writer to use for writing the spectra in the zip file.
        default: adams.data.io.output.SimpleSpectrumWriter
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected adams.data.io.output.StreamableDataContainerWriter m_Writer
      the base writer to use.
      • Fields inherited from class adams.data.io.output.AbstractDataContainerWriter

        m_Output, m_OutputIsFile
      • Fields inherited from class adams.core.option.AbstractOptionHandler

        m_OptionManager
      • Fields inherited from class adams.core.logging.LoggingObject

        m_Logger, m_LoggingIsEnabled, m_LoggingLevel
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean canWriteMultiple()
      Returns whether writing of multiple containers is supported.
      void defineOptions()
      Adds options to the internal list of options.
      String getFormatDescription()
      Returns a string describing the format (used in the file chooser).
      String[] getFormatExtensions()
      Returns the extension(s) of the format.
      adams.data.io.output.StreamableDataContainerWriter getWriter()
      The base writer to use.
      String globalInfo()
      Returns a string describing the object.
      protected void initialize()
      Initializes the members.
      protected String newName​(int index, Spectrum data, Set<String> names)
      Generates a new name.
      void setWriter​(adams.data.io.output.StreamableDataContainerWriter value)
      Sets the base writer to us.
      protected boolean writeData​(List<Spectrum> data)
      Performs the actual writing.
      String writerTipText()
      Returns the tip text for this property.
      • Methods inherited from class adams.data.io.output.AbstractDataContainerWriter

        checkData, cleanUp, compareTo, destroy, equals, forCommandLine, forName, getAdditionalInformation, getDefaultFormatExtension, getOutput, isOutputFile, reset, setOutput, shallowCopy, shallowCopy, write, write
      • 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

        configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
      • Methods inherited from interface adams.core.logging.LoggingLevelHandler

        getLoggingLevel
      • Methods inherited from interface adams.core.option.OptionHandler

        cleanUpOptions, getOptionManager, toCommandLine
    • Field Detail

      • m_Writer

        protected adams.data.io.output.StreamableDataContainerWriter m_Writer
        the base writer to use.
    • Constructor Detail

      • ZippedSpectrumWriter

        public ZippedSpectrumWriter()
    • 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.data.io.output.AbstractDataContainerWriter<Spectrum>
      • initialize

        protected void initialize()
        Initializes the members.
        Overrides:
        initialize in class adams.core.option.AbstractOptionHandler
      • setWriter

        public void setWriter​(adams.data.io.output.StreamableDataContainerWriter value)
        Sets the base writer to us.
        Parameters:
        value - the writer to use
      • getWriter

        public adams.data.io.output.StreamableDataContainerWriter getWriter()
        The base writer to use.
        Returns:
        the writer to use
      • writerTipText

        public String writerTipText()
        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.output.AbstractDataContainerWriter<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.output.AbstractDataContainerWriter<Spectrum>
        Returns:
        the extension(s) (without the dot!)
      • canWriteMultiple

        public boolean canWriteMultiple()
        Returns whether writing of multiple containers is supported.
        Specified by:
        canWriteMultiple in interface adams.data.io.output.DataContainerWriter<Spectrum>
        Overrides:
        canWriteMultiple in class AbstractSpectrumWriter
        Returns:
        true if multiple containers are supported
      • newName

        protected String newName​(int index,
                                 Spectrum data,
                                 Set<String> names)
        Generates a new name. Uses the sample ID by default, but may use (index+1) to disambiguate it.
        Parameters:
        index - the current index of the spectra to write
        data - the spectrum to write
        names - the names so far
        Returns:
        the new name
      • writeData

        protected boolean writeData​(List<Spectrum> data)
        Performs the actual writing.
        Specified by:
        writeData in class adams.data.io.output.AbstractDataContainerWriter<Spectrum>
        Parameters:
        data - the data to write
        Returns:
        true if successfully written