adams.flow.transformer
Class WekaFileReader

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.transformer.AbstractTransformer
                  extended by adams.flow.transformer.WekaFileReader
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, ProvenanceSupporter, Serializable, Comparable

public class WekaFileReader
extends AbstractTransformer
implements ProvenanceSupporter

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.ArffLoader
 
-output-type <DATASET|HEADER|INCREMENTAL> (property: outputType)
    Defines how the data is output, e.g., as complete dataset or row-by-row.
    default: DATASET
 

Version:
$Revision: 4847 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Nested Class Summary
static class WekaFileReader.OutputType
          Defines how to output the data.
 
Field Summary
static String BACKUP_SOURCE
          the key for storing the current source in the backup.
static String BACKUP_STRUCTURE
          the key for storing the current structure in the backup.
protected  weka.core.converters.AbstractFileLoader m_CustomLoader
          the custom loader.
protected  WekaFileReader.OutputType m_OutputType
          how to output the data.
protected  weka.core.converters.ConverterUtils.DataSource m_Source
          the actual loader for loading the data.
protected  weka.core.Instances m_Structure
          the structure.
protected  boolean m_UseCustomLoader
          whether to use a custom converter.
 
Fields inherited from class adams.flow.transformer.AbstractTransformer
BACKUP_INPUT, BACKUP_OUTPUT, m_InputToken, m_OutputToken
 
Fields inherited from class adams.flow.core.AbstractActor
FILE_EXTENSION, FILE_EXTENSION_GZ, m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Constructor Summary
WekaFileReader()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
protected  Hashtable<String,Object> backupState()
          Backs up the current state of the actor before update the variables.
 String customLoaderTipText()
          Returns the tip text for this property.
 void defineOptions()
          Adds options to the internal list of options.
protected  String doExecute()
          Executes the flow item.
 Class[] generates()
          Returns the class of objects that it generates.
 weka.core.converters.AbstractFileLoader getCustomLoader()
          Returns the custom loader in use.
 WekaFileReader.OutputType getOutputType()
          Returns how to output the data.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 boolean getUseCustomLoader()
          Returns whether a custom loader is used or not.
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
 Token output()
          Returns the generated token.
 String outputTypeTipText()
          Returns the tip text for this property.
protected  void pruneBackup()
          Removes entries from the backup.
protected  void reset()
          Resets the scheme.
protected  void restoreState(Hashtable<String,Object> state)
          Restores the state of the actor before the variables got updated.
 void setCustomLoader(weka.core.converters.AbstractFileLoader value)
          Sets the custom loader to use.
 void setOutputType(WekaFileReader.OutputType value)
          Sets how to output the data.
 void setUseCustomLoader(boolean value)
          Sets whether to use a custom loader or not.
 void updateProvenance(ProvenanceContainer cont)
          Updates the provenance information in the provided container.
 String useCustomLoaderTipText()
          Returns the tip text for this property.
 void wrapUp()
          Cleans up after the execution has finished.
 
Methods inherited from class adams.flow.transformer.AbstractTransformer
execute, input, postExecute
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, cleanUp, compareTo, debug, destroy, equals, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, initialize, isBackedUp, isExecuted, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, preExecute, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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_OutputType

protected WekaFileReader.OutputType m_OutputType
how to output the data.


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

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractActor

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Overrides:
getQuickInfo in class AbstractActor
Returns:
null if no info available, otherwise short string

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Specified by:
accepts in interface InputConsumer
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.

Specified by:
generates in interface OutputProducer
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

getOutputType

public WekaFileReader.OutputType getOutputType()
Returns how to output the data.

Returns:
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.

pruneBackup

protected void pruneBackup()
Removes entries from the backup.

Overrides:
pruneBackup in class AbstractActor

backupState

protected Hashtable<String,Object> backupState()
Backs up the current state of the actor before update the variables.

Overrides:
backupState in class AbstractTransformer
Returns:
the backup

restoreState

protected void restoreState(Hashtable<String,Object> state)
Restores the state of the actor before the variables got updated.

Overrides:
restoreState in class AbstractTransformer
Parameters:
state - the backup of the state to restore from

reset

protected void reset()
Resets the scheme.

Overrides:
reset in class AbstractTransformer

doExecute

protected String doExecute()
Executes the flow item.

Specified by:
doExecute in class AbstractActor
Returns:
null if everything is fine, otherwise error message

output

public Token output()
Returns the generated token.

Specified by:
output in interface OutputProducer
Overrides:
output in class AbstractTransformer
Returns:
the generated token

updateProvenance

public void updateProvenance(ProvenanceContainer cont)
Updates the provenance information in the provided container.

Specified by:
updateProvenance in interface ProvenanceSupporter
Parameters:
cont - the provenance container to update

hasPendingOutput

public boolean hasPendingOutput()
Checks whether there is pending output to be collected after executing the flow item.

Specified by:
hasPendingOutput in interface OutputProducer
Overrides:
hasPendingOutput in class AbstractTransformer
Returns:
true if there is pending output

wrapUp

public void wrapUp()
Cleans up after the execution has finished.

Overrides:
wrapUp in class AbstractTransformer


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.