Class AbstractFileSaver

java.lang.Object
weka.core.converters.AbstractSaver
weka.core.converters.AbstractFileSaver
All Implemented Interfaces:
Serializable, CapabilitiesHandler, CapabilitiesIgnorer, FileSourcedConverter, Saver, EnvironmentHandler, OptionHandler, RevisionHandler
Direct Known Subclasses:
ArffSaver, C45Saver, CSVSaver, DictionarySaver, JSONSaver, LibSVMSaver, MatlabSaver, SerializedInstancesSaver, SVMLightSaver, XRFFSaver

public abstract class AbstractFileSaver extends AbstractSaver implements OptionHandler, FileSourcedConverter, EnvironmentHandler
Abstract class for Savers that save to a file Valid options are: -i input arff file
The input filw in arff format.

-o the output file
The output file. The prefix of the output file is sufficient. If no output file is given, Saver tries to use standard out.

Version:
$Revision: 12074 $
Author:
Richard Kirkby (rkirkby@cs.waikato.ac.nz), Stefan Mutter (mutter@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • AbstractFileSaver

      public AbstractFileSaver()
  • Method Details

    • resetOptions

      public void resetOptions()
      resets the options
      Overrides:
      resetOptions in class AbstractSaver
    • getWriter

      public BufferedWriter getWriter()
      Gets the writer
      Returns:
      the BufferedWriter
    • resetWriter

      public void resetWriter()
      Sets the writer to null.
    • getFileExtension

      public String getFileExtension()
      Gets ihe file extension.
      Specified by:
      getFileExtension in interface FileSourcedConverter
      Specified by:
      getFileExtension in interface Saver
      Overrides:
      getFileExtension in class AbstractSaver
      Returns:
      the file extension as a string.
    • getFileExtensions

      public String[] getFileExtensions()
      Gets all the file extensions used for this type of file
      Specified by:
      getFileExtensions in interface FileSourcedConverter
      Returns:
      the file extensions
    • retrieveFile

      public File retrieveFile()
      Gets the destination file.
      Specified by:
      retrieveFile in interface FileSourcedConverter
      Returns:
      the destination file.
    • setFile

      public void setFile(File outputFile) throws IOException
      Sets the destination file.
      Specified by:
      setFile in interface FileSourcedConverter
      Specified by:
      setFile in interface Saver
      Overrides:
      setFile in class AbstractSaver
      Parameters:
      outputFile - the destination file.
      Throws:
      IOException - throws an IOException if file cannot be set
    • setFilePrefix

      public void setFilePrefix(String prefix)
      Sets the file name prefix
      Specified by:
      setFilePrefix in interface Saver
      Overrides:
      setFilePrefix in class AbstractSaver
      Parameters:
      prefix - the file name prefix
    • filePrefix

      public String filePrefix()
      Gets the file name prefix
      Specified by:
      filePrefix in interface Saver
      Overrides:
      filePrefix in class AbstractSaver
      Returns:
      the prefix of the filename
    • setDir

      public void setDir(String dir)
      Sets the directory where the instances should be stored
      Specified by:
      setDir in interface Saver
      Overrides:
      setDir in class AbstractSaver
      Parameters:
      dir - a string containing the directory path and name
    • retrieveDir

      public String retrieveDir()
      Gets the directory
      Specified by:
      retrieveDir in interface Saver
      Overrides:
      retrieveDir in class AbstractSaver
      Returns:
      a string with the file name
    • setEnvironment

      public void setEnvironment(Environment env)
      Set the environment variables to use.
      Specified by:
      setEnvironment in interface EnvironmentHandler
      Parameters:
      env - the environment variables to use
    • listOptions

      public Enumeration<Option> listOptions()
      Returns an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Returns:
      an enumeration of all the available options.
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses a given list of options. Valid option is:

      -i input arff file
      The input filw in arff format.

      -o the output file
      The output file. The prefix of the output file is sufficient. If no output file is given, Saver tries to use standard out.

      Specified by:
      setOptions in interface OptionHandler
      Parameters:
      options - the list of options as an array of strings
      Throws:
      Exception - if an option is not supported
    • getOptions

      public String[] getOptions()
      Gets the current settings of the Saver object.
      Specified by:
      getOptions in interface OptionHandler
      Returns:
      an array of strings suitable for passing to setOptions
    • cancel

      public void cancel()
      Cancels the incremental saving process.
      Overrides:
      cancel in class AbstractSaver
    • setDestination

      public void setDestination(File file) throws IOException
      Sets the destination file (and directories if necessary).
      Specified by:
      setDestination in interface Saver
      Overrides:
      setDestination in class AbstractSaver
      Parameters:
      file - the File
      Throws:
      IOException - always
    • setDestination

      public void setDestination(OutputStream output) throws IOException
      Sets the destination output stream.
      Specified by:
      setDestination in interface Saver
      Overrides:
      setDestination in class AbstractSaver
      Parameters:
      output - the output stream.
      Throws:
      IOException - throws an IOException if destination cannot be set
    • setDirAndPrefix

      public void setDirAndPrefix(String relationName, String add)
      Sets the directory and the file prefix. This method is used in the KnowledgeFlow GUI
      Specified by:
      setDirAndPrefix in interface Saver
      Overrides:
      setDirAndPrefix in class AbstractSaver
      Parameters:
      relationName - the name of the relation to save
      add - additional string which should be part of the filename
    • getFileDescription

      public abstract String getFileDescription()
      to be pverridden
      Specified by:
      getFileDescription in interface FileSourcedConverter
      Returns:
      the file type description.
    • useRelativePathTipText

      public String useRelativePathTipText()
      Tip text suitable for displaying int the GUI
      Returns:
      a description of this property as a String
    • setUseRelativePath

      public void setUseRelativePath(boolean rp)
      Set whether to use relative rather than absolute paths
      Specified by:
      setUseRelativePath in interface FileSourcedConverter
      Parameters:
      rp - true if relative paths are to be used
    • getUseRelativePath

      public boolean getUseRelativePath()
      Gets whether relative paths are to be used
      Specified by:
      getUseRelativePath in interface FileSourcedConverter
      Returns:
      true if relative paths are to be used
    • runFileSaver

      public static void runFileSaver(AbstractFileSaver saver, String[] options)
      runs the given saver with the specified options
      Parameters:
      saver - the saver to run
      options - the commandline options