Package weka.core.converters

# 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:
  - Serialized Form

- ## Field Summary

  ### Fields inherited from interface weka.core.converters.Saver

  `BATCH, INCREMENTAL, NONE`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AbstractFileSaver()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `cancel()`
  Cancels the incremental saving process.
  `String`
  `filePrefix()`
  Gets the file name prefix
  `abstract String`
  `getFileDescription()`
  to be pverridden
  `String`
  `getFileExtension()`
  Gets ihe file extension.
  `String[]`
  `getFileExtensions()`
  Gets all the file extensions used for this type of file
  `String[]`
  `getOptions()`
  Gets the current settings of the Saver object.
  `boolean`
  `getUseRelativePath()`
  Gets whether relative paths are to be used
  `BufferedWriter`
  `getWriter()`
  Gets the writer
  `Enumeration<Option>`
  `listOptions()`
  Returns an enumeration describing the available options.
  `void`
  `resetOptions()`
  resets the options
  `void`
  `resetWriter()`
  Sets the writer to null.
  `String`
  `retrieveDir()`
  Gets the directory
  `File`
  `retrieveFile()`
  Gets the destination file.
  `static void`
  `runFileSaver(AbstractFileSaver saver, String[] options)`
  runs the given saver with the specified options
  `void`
  `setDestination(File file)`
  Sets the destination file (and directories if necessary).
  `void`
  `setDestination(OutputStream output)`
  Sets the destination output stream.
  `void`
  `setDir(String dir)`
  Sets the directory where the instances should be stored
  `void`
  `setDirAndPrefix(String relationName, String add)`
  Sets the directory and the file prefix.
  `void`
  `setEnvironment(Environment env)`
  Set the environment variables to use.
  `void`
  `setFile(File outputFile)`
  Sets the destination file.
  `void`
  `setFilePrefix(String prefix)`
  Sets the file name prefix
  `void`
  `setOptions(String[] options)`
  Parses a given list of options.
  `void`
  `setUseRelativePath(boolean rp)`
  Set whether to use relative rather than absolute paths
  `String`
  `useRelativePathTipText()`
  Tip text suitable for displaying int the GUI

  ### Methods inherited from class weka.core.converters.AbstractSaver

  `doNotCheckCapabilitiesTipText, getCapabilities, getDoNotCheckCapabilities, getInstances, getWriteMode, resetStructure, setDoNotCheckCapabilities, setInstances, setRetrieval, setStructure, writeBatch, writeIncremental`

  ### Methods inherited from class java.lang.Object

  `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface weka.core.RevisionHandler

  `getRevision`

- ## 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