Package weka.core.converters

# Class AbstractFileSaver

java.lang.Object
weka.core.converters.AbstractSaver
weka.core.converters.AbstractFileSaver

All Implemented Interfaces:
  `Serializable`, `CapabilitiesHandler`, `FileSourcedConverter`, `Saver`, `EnvironmentHandler`, `OptionHandler`, `RevisionHandler`

Direct Known Subclasses:
  `ArffSaver`, `C45Saver`, `CSVSaver`, `LibSVMSaver`, `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: 9023 $
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`
`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

`getCapabilities, getInstances, getWriteMode, resetStructure, 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 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