## milk.experiment
Class MIInstancesResultListener

    java.lang.Object
      |
      +--milk.experiment.MICSVResultListener
            |
            +--milk.experiment.MIInstancesResultListener

All Implemented Interfaces:
  MIResultListener, weka.core.OptionHandler, java.io.Serializable

public class MIInstancesResultListener
extends MICSVResultListener

InstancesResultListener outputs the received results in arff format to a Writer. All results must be received before the instances can be written out.

See Also:
  Serialized Form

Field Summary
`protected int[]` `m_AttributeTypes` Stores the attribute types for each column
`protected weka.core.FastVector` `m_Instances` Stores the instances created so far, before assigning to a header
`protected java.util.Hashtable[]` `m_NominalIndexes` For lookup of indices given a string value for each nominal attribute
`protected weka.core.FastVector[]` `m_NominalStrings` Contains strings seen so far for each nominal attribute

Fields inherited from class milk.experiment.MICSVResultListener
`m_Out, m_OutputFile, m_RP`

Constructor Summary
`MIInstancesResultListener()`

Method Summary
`void` `acceptResult(MIResultProducer rp, java.lang.Object[] key, java.lang.Object[] result)` Collects each instance and adjusts the header information.
`java.lang.String` `globalInfo()` Returns a string describing this result listener
`void` `postProcess(MIResultProducer rp)` Perform any postprocessing.
`void` `preProcess(MIResultProducer rp)` Prepare for the results to be received.

Methods inherited from class milk.experiment.MICSVResultListener
`determineColumnConstraints, getOptions, getOutputFile, isResultRequired, listOptions, outputFileTipText, setOptions, setOutputFile`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### m_Instances

    protected transient weka.core.FastVector m_Instances

  Stores the instances created so far, before assigning to a header

### m_AttributeTypes

    protected transient int[] m_AttributeTypes

  Stores the attribute types for each column

### m_NominalIndexes

    protected transient java.util.Hashtable[] m_NominalIndexes

  For lookup of indices given a string value for each nominal attribute

### m_NominalStrings

    protected transient weka.core.FastVector[] m_NominalStrings

  Contains strings seen so far for each nominal attribute

Constructor Detail

### MIInstancesResultListener

    public MIInstancesResultListener()

Method Detail

### globalInfo

    public java.lang.String globalInfo()

  Returns a string describing this result listener

  Overrides:
    `globalInfo` in class `MICSVResultListener`
  Returns:
    a description of the result listener suitable for displaying in the explorer/experimenter gui

### preProcess

    public void preProcess(MIResultProducer rp)
                    throws java.lang.Exception

  Prepare for the results to be received.

  Specified by:
    `preProcess` in interface `MIResultListener`
  Overrides:
    `preProcess` in class `MICSVResultListener`
  Parameters:
    `rp` - the ResultProducer that will generate the results
  Throws:
    `java.lang.Exception` - if an error occurs during preprocessing.

### postProcess

    public void postProcess(MIResultProducer rp)
                     throws java.lang.Exception

  Perform any postprocessing. When this method is called, it indicates that no more results will be sent that need to be grouped together in any way.

  Specified by:
    `postProcess` in interface `MIResultListener`
  Overrides:
    `postProcess` in class `MICSVResultListener`
  Parameters:
    `rp` - the ResultProducer that generated the results
  Throws:
    `java.lang.Exception` - if an error occurs

### acceptResult

    public void acceptResult(MIResultProducer rp,
                             java.lang.Object[] key,
                             java.lang.Object[] result)
                      throws java.lang.Exception

  Collects each instance and adjusts the header information.

  Specified by:
    `acceptResult` in interface `MIResultListener`
  Overrides:
    `acceptResult` in class `MICSVResultListener`
  Parameters:
    `rp` - the ResultProducer that generated the result
    `key` - The key for the results.
    `result` - The actual results.
  Throws:
    `java.lang.Exception` - if the result could not be accepted.