Class WekaFileReader

  • All Implemented Interfaces:
    AdditionalInformationHandler, CleanUpHandler, Destroyable, GlobalInfoSupporter, LoggingLevelHandler, LoggingSupporter, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<Actor>, SizeOfHandler, Stoppable, StoppableWithFeedback, VariablesInspectionHandler, VariableChangeListener, Actor, ErrorHandler, InputConsumer, OutputProducer, Serializable, Comparable

    public class WekaFileReader
    extends AbstractTransformer
    Reads any file format that Weka's converters can handle and returns the full dataset or single weka.core.Instance objects. This actor takes the file or URL to read as input. In case of URLs, the associated loader must implement weka.core.converters.URLSourcedLoader.

    Input/output:
    - accepts:
       java.lang.String
       java.io.File
       java.net.URL
    - generates:
       weka.core.Instances


    Valid options are:

    -D <int> (property: debugLevel)
        The greater the number the more additional info the scheme may output to 
        the console (0 = off).
        default: 0
        minimum: 0
     
    -name <java.lang.String> (property: name)
        The name of the actor.
        default: WekaFileReader
     
    -annotation <adams.core.base.BaseText> (property: annotations)
        The annotations to attach to this actor.
        default: 
     
    -skip (property: skip)
        If set to true, transformation is skipped and the input token is just forwarded 
        as it is.
     
    -stop-flow-on-error (property: stopFlowOnError)
        If set to true, the flow gets stopped in case this actor encounters an error;
         useful for critical actors.
     
    -use-custom (property: useCustomLoader)
        If set to true, then the custom loader will be used for loading the data.
     
    -loader <weka.core.converters.AbstractFileLoader> (property: customLoader)
        The custom loader to use if enabled.
        default: weka.core.converters.SafeArffLoader
     
    -output-type <DATASET|HEADER|INCREMENTAL> (property: outputType)
        Defines how the data is output, e.g., as complete dataset or row-by-row.
        default: DATASET
     
    Author:
    fracpete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • BACKUP_STRUCTURE

        public static final String BACKUP_STRUCTURE
        the key for storing the current structure in the backup.
        See Also:
        Constant Field Values
      • BACKUP_SOURCE

        public static final String BACKUP_SOURCE
        the key for storing the current source in the backup.
        See Also:
        Constant Field Values
      • m_UseCustomLoader

        protected boolean m_UseCustomLoader
        whether to use a custom converter.
      • m_CustomLoader

        protected weka.core.converters.AbstractFileLoader m_CustomLoader
        the custom loader.
      • m_Structure

        protected weka.core.Instances m_Structure
        the structure.
      • m_Source

        protected weka.core.converters.ConverterUtils.DataSource m_Source
        the actual loader for loading the data.
    • Constructor Detail

      • WekaFileReader

        public WekaFileReader()
    • Method Detail

      • accepts

        public Class[] accepts()
        Returns the class that the consumer accepts.
        Returns:
        java.lang.String.class, java.io.File.class, java.net.URL.class
      • generates

        public Class[] generates()
        Returns the class of objects that it generates.
        Returns:
        weka.core.Instances.class
      • setUseCustomLoader

        public void setUseCustomLoader​(boolean value)
        Sets whether to use a custom loader or not.
        Parameters:
        value - if true then the custom loader will be used
      • getUseCustomLoader

        public boolean getUseCustomLoader()
        Returns whether a custom loader is used or not.
        Returns:
        true if a custom loader is used
      • useCustomLoaderTipText

        public String useCustomLoaderTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setCustomLoader

        public void setCustomLoader​(weka.core.converters.AbstractFileLoader value)
        Sets the custom loader to use.
        Parameters:
        value - the custom loader
      • getCustomLoader

        public weka.core.converters.AbstractFileLoader getCustomLoader()
        Returns the custom loader in use.
        Returns:
        the custom loader
      • customLoaderTipText

        public String customLoaderTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • setOutputType

        public void setOutputType​(WekaFileReader.OutputType value)
        Sets how to output the data.
        Parameters:
        value - the output type
      • outputTypeTipText

        public String outputTypeTipText()
        Returns the tip text for this property.
        Returns:
        tip text for this property suitable for displaying in the GUI or for listing the options.
      • reset

        protected void reset()
        Resets the scheme.
        Overrides:
        reset in class AbstractActor
      • doExecute

        protected String doExecute()
        Executes the flow item.
        Specified by:
        doExecute in class AbstractActor
        Returns:
        null if everything is fine, otherwise error message