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: 10222 $
Author:
Len Trigg (trigg@cs.waikato.ac.nz)
See Also:
  • 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