adams.flow.transformer
Class WekaInstanceBuffer

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.WekaInstanceBuffer
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, ErrorHandler, InputConsumer, OutputProducer, ProvenanceSupporter, Serializable, Comparable

public class WekaInstanceBuffer
extends AbstractTransformer
implements ProvenanceSupporter

Can act in two different ways:
1. Instance -> Instances (row -> dataset)
Buffers weka.core.Instance objects and outputs a weka.core.Instances object, whenever the interval condition has been met.
2. Instances -> Instance (dataset -> row)
Outputs all the weka.core.Instance objects that the incoming weka.core.Instances object contains.

Input/output:
- accepts:
   weka.core.Instance
   weka.core.Instance[]
- 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: WekaInstanceBuffer
 
-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.
 
-operation <INSTANCES_TO_INSTANCE|INSTANCE_TO_INSTANCES> (property: operation)
    The way the buffer operates, 'dataset -> row' or 'row -> dataset'.
    default: INSTANCE_TO_INSTANCES
 
-check (property: checkHeader)
    Whether to check the headers - if the headers change, the Instance object 
    gets dumped into a new file (in case of INSTANCE_TO_INSTANCES).
 
-interval <int> (property: interval)
    The interval at which to output the Instances object (in case of INSTANCE_TO_INSTANCES
    ).
    default: 1
    minimum: 1
 

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

Nested Class Summary
static class WekaInstanceBuffer.Operation
          Defines how the buffer actor operates.
 
Field Summary
static String BACKUP_BUFFER
          the key for storing the current buffer in the backup.
static String BACKUP_ITERATOR
          the key for storing the current iterator in the backup.
protected  weka.core.Instances m_Buffer
          the currently buffered data.
protected  boolean m_CheckHeader
          whether to check the header.
protected  int m_Interval
          the interval of when to output the Instances object.
protected  Iterator<weka.core.Instance> m_Iterator
          the iterator for broadcasting Instance objects.
protected  WekaInstanceBuffer.Operation m_Operation
          the way the buffer operates.
 
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
WekaInstanceBuffer()
           
 
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 checkHeaderTipText()
          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.
 boolean getCheckHeader()
          Returns whether the header gets checked or not.
 int getInterval()
          Returns the interval for outputting the Instances objects.
 WekaInstanceBuffer.Operation getOperation()
          Returns the way the buffer operates.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 String globalInfo()
          Returns a string describing the object.
 boolean hasPendingOutput()
          Checks whether there is pending output to be collected after executing the flow item.
 String intervalTipText()
          Returns the tip text for this property.
 String operationTipText()
          Returns the tip text for this property.
 Token output()
          Returns the generated token.
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 setCheckHeader(boolean value)
          Sets whether to check the header or not.
 void setInterval(int value)
          Sets the interval for outputting the Instances objects.
 void setOperation(WekaInstanceBuffer.Operation value)
          Sets the way the buffer operates.
 void updateProvenance(ProvenanceContainer cont)
          Updates the provenance information in the provided container.
 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_BUFFER

public static final String BACKUP_BUFFER
the key for storing the current buffer in the backup.

See Also:
Constant Field Values

BACKUP_ITERATOR

public static final String BACKUP_ITERATOR
the key for storing the current iterator in the backup.

See Also:
Constant Field Values

m_Buffer

protected weka.core.Instances m_Buffer
the currently buffered data.


m_Iterator

protected Iterator<weka.core.Instance> m_Iterator
the iterator for broadcasting Instance objects.


m_Operation

protected WekaInstanceBuffer.Operation m_Operation
the way the buffer operates.


m_CheckHeader

protected boolean m_CheckHeader
whether to check the header.


m_Interval

protected int m_Interval
the interval of when to output the Instances object.

Constructor Detail

WekaInstanceBuffer

public WekaInstanceBuffer()
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

setOperation

public void setOperation(WekaInstanceBuffer.Operation value)
Sets the way the buffer operates.

Parameters:
value - the operation

getOperation

public WekaInstanceBuffer.Operation getOperation()
Returns the way the buffer operates.

Returns:
the operation

operationTipText

public String operationTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setCheckHeader

public void setCheckHeader(boolean value)
Sets whether to check the header or not.

Parameters:
value - if true then the headers get checked

getCheckHeader

public boolean getCheckHeader()
Returns whether the header gets checked or not.

Returns:
true if the header gets checked

checkHeaderTipText

public String checkHeaderTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setInterval

public void setInterval(int value)
Sets the interval for outputting the Instances objects.

Parameters:
value - the interval

getInterval

public int getInterval()
Returns the interval for outputting the Instances objects.

Returns:
the interval

intervalTipText

public String intervalTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

accepts

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

Specified by:
accepts in interface InputConsumer
Returns:
weka.core.Instance.class, weka.core.Instance[].class

generates

public Class[] generates()
Returns the class of objects that it generates.

Specified by:
generates in interface OutputProducer
Returns:
weka.core.Instances.class

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

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

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

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.