Package weka.gui.streams

# Class InstanceJoiner

java.lang.Object
weka.gui.streams.InstanceJoiner

All Implemented Interfaces:
  `Serializable`, `EventListener`, `InstanceProducer`, `SerialInstanceListener`

public class InstanceJoiner extends Object implements Serializable, InstanceProducer, SerialInstanceListener
A bean that joins two streams of instances into one.

Version:
  $Revision: 7059 $
Author:
  Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`InstanceJoiner()`
Setup the initial states of the member variables

## Method Summary

Modifier and Type
Method
Description
`void`
`addInstanceListener(InstanceListener ipl)`
`void`
`batchFinished()`
Signify that this batch of input to the filter is finished.
`boolean`
`getDebug()`
`boolean`
`input(Instance instance)`
`boolean`
`inputFormat(Instances instanceInfo)`
Sets the format of the input instances.
`void`
`instanceProduced(InstanceEvent e)`
`Instances`
`outputFormat()`
Gets the format of the output instances.
`Instance`
`outputPeek()`
Output an instance after filtering but do not remove from the output queue.
`void`
`removeInstanceListener(InstanceListener ipl)`
`void`
`secondInstanceProduced(InstanceEvent e)`
`void`
`setDebug(boolean debug)`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### InstanceJoiner

public InstanceJoiner()
Setup the initial states of the member variables

## Method Details

### inputFormat

public boolean inputFormat(Instances instanceInfo)
Sets the format of the input instances. If the filter is able to determine the output format before seeing any input instances, it does so here. This default implementation assumes the output format is determined when batchFinished() is called.

Parameters:
  `instanceInfo` - an Instances object containing the input instance structure (any instances contained in the object are ignored - only the structure is required).
Returns:
  true if the outputFormat may be collected immediately

### outputFormat

public Instances outputFormat() throws Exception
Gets the format of the output instances. This should only be called after input() or batchFinished() has returned true.

Specified by:
  `outputFormat` in interface `InstanceProducer`
Returns:
  an Instances object containing the output instance structure only.
Throws:
  `Exception` - if no input structure has been defined (or the output format hasn't been determined yet)

### input

public boolean input(Instance instance) throws Exception

Throws:
  `Exception`

### batchFinished

public void batchFinished() throws Exception
Signify that this batch of input to the filter is finished. If the filter requires all instances prior to filtering, output() may now be called to retrieve the filtered instances. Any subsequent instances filtered should be filtered based on setting obtained from the first batch (unless the inputFormat has been re-assigned or new options have been set). This default implementation assumes all instance processing occurs during inputFormat() and input().

Throws:
  `Exception` - if no input structure has been defined

### outputPeek

public Instance outputPeek() throws Exception
Output an instance after filtering but do not remove from the output queue.

Specified by:
  `outputPeek` in interface `InstanceProducer`
Returns:
  the instance that has most recently been filtered (or null if the queue is empty).
Throws:
  `Exception` - if no input structure has been defined

### setDebug

public void setDebug(boolean debug)

### getDebug

public boolean getDebug()

### addInstanceListener

public void addInstanceListener(InstanceListener ipl)

Specified by:
  `addInstanceListener` in interface `InstanceProducer`

### removeInstanceListener

public void removeInstanceListener(InstanceListener ipl)

Specified by:
  `removeInstanceListener` in interface `InstanceProducer`

### instanceProduced

public void instanceProduced(InstanceEvent e)

### secondInstanceProduced

public void secondInstanceProduced(InstanceEvent e)

Specified by:
  `secondInstanceProduced` in interface `SerialInstanceListener`