Class ArffLoader

All Implemented Interfaces:
Serializable, BatchConverter, FileSourcedConverter, IncrementalConverter, Loader, URLSourcedLoader, EnvironmentHandler, RevisionHandler

public class ArffLoader extends AbstractFileLoader implements BatchConverter, IncrementalConverter, URLSourcedLoader
Reads a source that is in arff (attribute relation file format) format.

Version:
$Revision: 14509 $
Author:
Mark Hall (mhall@cs.waikato.ac.nz), FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Field Details

    • FILE_EXTENSION

      public static String FILE_EXTENSION
      the file extension
    • FILE_EXTENSION_COMPRESSED

      public static String FILE_EXTENSION_COMPRESSED
  • Constructor Details

    • ArffLoader

      public ArffLoader()
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this Loader
      Returns:
      a description of the Loader suitable for displaying in the explorer/experimenter gui
    • retainStringValsTipText

      public String retainStringValsTipText()
      Tool tip text for this property
      Returns:
      the tool tip for this property
    • setRetainStringVals

      public void setRetainStringVals(boolean retain)
      Set whether to retain the values of string attributes in memory (in the header) when reading incrementally.
      Parameters:
      retain - true if string values are to be retained in memory when reading incrementally
    • getRetainStringVals

      public boolean getRetainStringVals()
      Get whether to retain the values of string attributes in memory (in the header) when reading incrementally.
      Returns:
      true if string values are to be retained in memory when reading incrementally
    • getFileExtension

      public String getFileExtension()
      Get the file extension used for arff files
      Specified by:
      getFileExtension in interface FileSourcedConverter
      Returns:
      the file extension
    • 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
    • getFileDescription

      public String getFileDescription()
      Returns a description of the file type.
      Specified by:
      getFileDescription in interface FileSourcedConverter
      Returns:
      a short file description
    • reset

      public void reset() throws IOException
      Resets the Loader ready to read a new data set or the same data set again.
      Specified by:
      reset in interface Loader
      Overrides:
      reset in class AbstractFileLoader
      Throws:
      IOException - if something goes wrong
    • setSource

      public void setSource(URL url) throws IOException
      Resets the Loader object and sets the source of the data set to be the supplied url.
      Parameters:
      url - the source url.
      Throws:
      IOException - if an error occurs
    • retrieveFile

      public File retrieveFile()
      get the File specified as the source
      Specified by:
      retrieveFile in interface FileSourcedConverter
      Overrides:
      retrieveFile in class AbstractFileLoader
      Returns:
      the source file
    • setFile

      public void setFile(File file) throws IOException
      sets the source File
      Specified by:
      setFile in interface FileSourcedConverter
      Overrides:
      setFile in class AbstractFileLoader
      Parameters:
      file - the source file
      Throws:
      IOException - if an error occurs
    • setURL

      public void setURL(String url) throws IOException
      Set the url to load from
      Specified by:
      setURL in interface URLSourcedLoader
      Parameters:
      url - the url to load from
      Throws:
      IOException - if the url can't be set.
    • retrieveURL

      public String retrieveURL()
      Return the current url
      Specified by:
      retrieveURL in interface URLSourcedLoader
      Returns:
      the current url
    • setSource

      public void setSource(InputStream in) throws 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:
      IOException - always thrown.
    • getStructure

      public Instances getStructure() throws 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:
      IOException - if an error occurs
    • getDataSet

      public Instances getDataSet() throws 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:
      IOException - if there is no source or parsing fails
    • getNextInstance

      public Instance getNextInstance(Instances structure) throws 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
      Parameters:
      structure - the dataset header information, will get updated in case of string or relational attributes
      Returns:
      the next instance in the data set as an Instance object or null if there are no more instances to be read
      Throws:
      IOException - if there is an error during parsing
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Returns:
      the revision
    • main

      public static void main(String[] args)
      Main method.
      Parameters:
      args - should contain the name of an input file.