Class AbstractLoader

java.lang.Object
weka.core.converters.AbstractLoader
All Implemented Interfaces:
Serializable, Loader, RevisionHandler
Direct Known Subclasses:
AbstractFileLoader, DatabaseLoader, TextDirectoryLoader

public abstract class AbstractLoader extends Object implements Loader
Abstract class gives default implementation of setSource methods. All other methods must be overridden.
Version:
$Revision: 12184 $
Author:
Richard Kirkby (rkirkby@cs.waikato.ac.nz)
See Also:
  • Constructor Details

    • AbstractLoader

      public AbstractLoader()
  • Method Details

    • setRetrieval

      public void setRetrieval(int mode)
      Sets the retrieval mode.
      Specified by:
      setRetrieval in interface Loader
      Parameters:
      mode - the retrieval mode
    • setSource

      public void setSource(File file) throws IOException
      Default implementation throws an IOException.
      Specified by:
      setSource in interface Loader
      Parameters:
      file - the File
      Throws:
      IOException - always
    • reset

      public void reset() throws Exception
      Default implementation sets retrieval mode to NONE
      Specified by:
      reset in interface Loader
      Throws:
      Exception - if Loader can't be reset for some reason.
    • setSource

      public void setSource(InputStream input) throws IOException
      Default implementation throws an IOException.
      Specified by:
      setSource in interface Loader
      Parameters:
      input - the input stream
      Throws:
      IOException - always
    • getStructure

      public abstract Instances getStructure() throws IOException
      Description copied from interface: Loader
      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
      Returns:
      the structure of the data set as an empty set of Instances
      Throws:
      IOException - if there is no source or parsing fails
       
          public_normal_behavior
            requires: model_sourceSupplied == true
                      && model_structureDetermined == false
                      && (* successful parse *);
            modifiable: model_structureDetermined;
            ensures: \result != null
                     && \result.numInstances() == 0
                     && model_structureDetermined == true;
        also
          public_exceptional_behavior
            requires: model_sourceSupplied == false
                      || (* unsuccessful parse *);
            signals: (IOException);
       
       
    • getDataSet

      public abstract Instances getDataSet() throws IOException
      Description copied from interface: Loader
      Return the full data set. If the structure hasn't yet been determined by a call to getStructure then the method should do so before processing the rest of the data set.
      Specified by:
      getDataSet in interface Loader
      Returns:
      the full data set as an Instances object
      Throws:
      IOException - if there is an error during parsing or if getNextInstance has been called on this source (either incremental or batch loading can be used, not both).
       
          public_normal_behavior
            requires: model_sourceSupplied == true
                      && (* successful parse *);
            modifiable: model_structureDetermined;
            ensures: \result != null
                     && \result.numInstances() >= 0
                     && model_structureDetermined == true;
        also
          public_exceptional_behavior
            requires: model_sourceSupplied == false
                      || (* unsuccessful parse *);
            signals: (IOException);
       
       
    • getNextInstance

      public abstract Instance getNextInstance(Instances structure) throws IOException
      Description copied from interface: Loader
      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. If it is not possible to read the data set incrementally (ie. in cases where the data set structure cannot be fully established before all instances have been seen) then an exception should be thrown.
      Specified by:
      getNextInstance in interface Loader
      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 or if getDataSet has been called on this source (either incremental or batch loading can be used, not both).