weka.core.converters
Class ArffLoader

java.lang.Object
  extended byweka.core.converters.AbstractLoader
      extended byweka.core.converters.ArffLoader
All Implemented Interfaces:
BatchConverter, FileSourcedConverter, IncrementalConverter, Loader, java.io.Serializable

public class ArffLoader
extends AbstractLoader
implements FileSourcedConverter, BatchConverter, IncrementalConverter

Reads a source that is in arff text format.

Version:
$Revision: 1.9 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
Loader, Serialized Form

Field Summary
static java.lang.String FILE_EXTENSION
           
 
Constructor Summary
ArffLoader()
           
 
Method Summary
 Instances getDataSet()
          Return the full data set.
 java.lang.String getFileDescription()
          Returns a description of the file type.
 java.lang.String getFileExtension()
          Get the file extension used for arff files
 Instance getNextInstance()
          Read the data set incrementally---get the next instance in the data set or returns null if there are no more instances to get.
 Instances getStructure()
          Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.
 java.lang.String globalInfo()
          Returns a string describing this Loader
static void main(java.lang.String[] args)
          Main method.
 void reset()
          Resets the Loader ready to read a new data set
 java.io.File retrieveFile()
          get the File specified as the source
 void setFile(java.io.File file)
          sets the source File
 void setSource(java.io.File file)
          Resets the Loader object and sets the source of the data set to be the supplied File object.
 void setSource(java.io.InputStream in)
          Resets the Loader object and sets the source of the data set to be the supplied InputStream.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILE_EXTENSION

public static java.lang.String FILE_EXTENSION
Constructor Detail

ArffLoader

public ArffLoader()
Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing this Loader

Returns:
a description of the Loader suitable for displaying in the explorer/experimenter gui

getFileExtension

public java.lang.String getFileExtension()
Get the file extension used for arff files

Specified by:
getFileExtension in interface FileSourcedConverter
Returns:
the file extension

getFileDescription

public java.lang.String getFileDescription()
Returns a description of the file type.

Specified by:
getFileDescription in interface FileSourcedConverter
Returns:
a short file description

reset

public void reset()
Resets the Loader ready to read a new data set


setSource

public void setSource(java.io.File file)
               throws java.io.IOException
Resets the Loader object and sets the source of the data set to be the supplied File object.

Specified by:
setSource in interface Loader
Overrides:
setSource in class AbstractLoader
Parameters:
file - the source file.
Throws:
java.io.IOException - if an error occurs

retrieveFile

public java.io.File retrieveFile()
get the File specified as the source

Specified by:
retrieveFile in interface FileSourcedConverter
Returns:
the source file

setFile

public void setFile(java.io.File file)
             throws java.io.IOException
sets the source File

Specified by:
setFile in interface FileSourcedConverter
Parameters:
file - the source file
Throws:
java.io.IOException - if an error occurs

setSource

public void setSource(java.io.InputStream in)
               throws java.io.IOException
Resets the Loader object and sets the source of the data set to be the supplied InputStream.

Specified by:
setSource in interface Loader
Overrides:
setSource in class AbstractLoader
Parameters:
in - the source InputStream.
Throws:
java.io.IOException - always thrown.

getStructure

public Instances getStructure()
                       throws java.io.IOException
Determines and returns (if possible) the structure (internally the header) of the data set as an empty set of instances.

Specified by:
getStructure in interface Loader
Specified by:
getStructure in class AbstractLoader
Returns:
the structure of the data set as an empty set of Instances
Throws:
java.io.IOException - if an error occurs

getDataSet

public Instances getDataSet()
                     throws java.io.IOException
Return the full data set. If the structure hasn't yet been determined by a call to getStructure then method should do so before processing the rest of the data set.

Specified by:
getDataSet in interface Loader
Specified by:
getDataSet in class AbstractLoader
Returns:
the structure of the data set as an empty set of Instances
Throws:
java.io.IOException - if there is no source or parsing fails

getNextInstance

public Instance getNextInstance()
                         throws java.io.IOException
Read the data set incrementally---get the next instance in the data set or returns null if there are no more instances to get. If the structure hasn't yet been determined by a call to getStructure then method should do so before returning the next instance in the data set.

Specified by:
getNextInstance in interface Loader
Specified by:
getNextInstance in class AbstractLoader
Returns:
the next instance in the data set as an Instance object or null if there are no more instances to be read
Throws:
java.io.IOException - if there is an error during parsing

main

public static void main(java.lang.String[] args)
Main method.

Parameters:
args - should contain the name of an input file.