Class AbstractAdamsExperimentWriter

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.io.FileFormatHandler, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.SizeOfHandler, Serializable
    Direct Known Subclasses:
    JsonAdamsExperimentWriter, NestedAdamsExperimentWriter, SerializedAdamsExperimentWriter

    public abstract class AbstractAdamsExperimentWriter
    extends adams.core.option.AbstractOptionHandler
    implements adams.core.io.FileFormatHandler
    Ancestor for ADAMS Experiment writers.
    Version:
    $Revision$
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Constructor Detail

      • AbstractAdamsExperimentWriter

        public AbstractAdamsExperimentWriter()
    • Method Detail

      • getFormatDescription

        public abstract String getFormatDescription()
        Returns a string describing the format (used in the file chooser).
        Specified by:
        getFormatDescription in interface adams.core.io.FileFormatHandler
        Returns:
        a description suitable for displaying in the file chooser
      • getFormatExtensions

        public abstract String[] getFormatExtensions()
        Returns the extension(s) of the format.
        Specified by:
        getFormatExtensions in interface adams.core.io.FileFormatHandler
        Returns:
        the extension (without the dot!)
      • getDefaultFormatExtension

        public String getDefaultFormatExtension()
        Returns the default extension of the format.
        Specified by:
        getDefaultFormatExtension in interface adams.core.io.FileFormatHandler
        Returns:
        the default extension (without the dot!)
      • getCorrespondingReader

        public abstract AbstractAdamsExperimentReader getCorrespondingReader()
        Returns, if available, the corresponding reader.
        Returns:
        the reader, null if none available
      • isAvailable

        public boolean isAvailable()
        Returns whether the writer is actually available.
        Returns:
        true if available and ready to use
      • check

        protected void check​(AbstractExperiment exp)
        Performs checks.
        Parameters:
        exp - the experiment to check
      • doWrite

        protected abstract String doWrite​(adams.core.io.PlaceholderFile file,
                                          AbstractExperiment exp)
        Performs the actual writing of the experiment file.
        Parameters:
        file - the file to write to
        exp - the experiment to write
        Returns:
        null if successfully written, otherwise error message
      • write

        public String write​(adams.core.io.PlaceholderFile file,
                            AbstractExperiment exp)
        Writes the experiment file.
        Parameters:
        file - the file to write to
        exp - the experiment to write
        Returns:
        null if successfully written, otherwise error message
      • getWriters

        public static Class[] getWriters()
        Returns a list with classes of writers.
        Returns:
        the writer classes