jigcell.compare.impl
Class DataGeneratorEvaluator

java.lang.Object
  extended by jigcell.compare.impl.DataGeneratorEvaluator
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.util.EventListener

public class DataGeneratorEvaluator
extends java.lang.Object
implements java.beans.PropertyChangeListener

Evaluates a list of data generators on a background thread.

This code is licensed under the DARPA BioCOMP Open Source License. See LICENSE for more details.

Author:
Nicholas Allen

Nested Class Summary
static interface DataGeneratorEvaluator.IProcessor
          Performs any needed processing on the data generator before evaluation.
 
Field Summary
protected  boolean cancel
          Whether the evaluation was cancelled
protected  IDataGenerator currentGenerator
          The data generator currently being evaluated
private  java.lang.Thread executor
          Thread for evaluation
protected  IDataGenerator[] generators
          The list of generators
static java.lang.String OPTION_EVALUATIONNAME
          Option for name to display when evaluating a generator
static java.lang.String OPTION_EVALUATIONTARGET
          Option for indicating the target result when evaluating a generator
protected  int position
          Current position in the list of generators
protected  DataGeneratorEvaluator.IProcessor processor
          Callback for processing generators prior to execution
static java.lang.String PROPERTY_CANCEL
          Event name for cancelling the evaluation
static java.lang.String PROPERTY_EVALUATIONFINISHED
          Event name for a complete evaluation
static java.lang.String PROPERTY_EVALUATIONUPDATE
          Event name for updates
static java.lang.String PROPERTY_MESSAGE
          Event name for a message update
static java.lang.String PROPERTY_PROGRESS
          Event name for a progress update
private  java.beans.PropertyChangeSupport propertySupport
          Support for handling property change events
 
Constructor Summary
DataGeneratorEvaluator(IDataGenerator[] generators)
          Creates a new evaluator for data generators.
DataGeneratorEvaluator(IDataGenerator[] generators, DataGeneratorEvaluator.IProcessor processor)
          Creates a new evaluator for data generators.
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
          Adds a PropertyChangeListener to the listener list.
 void cancel()
          Attempts to cancel the current evaluation.
protected  void doEvaluate()
          Perform a generator evaluation.
protected  void doPostUpdate()
          Perform a status update following generator evaluation.
protected  void doPreUpdate()
          Perform a status update before generator evaluation.
protected  void evaluate()
          Evaluates the list of generators.
 void execute()
          Starts evaluating the given generators.
 void propertyChange(java.beans.PropertyChangeEvent e)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
          Removes a PropertyChangeListener from the listener list.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OPTION_EVALUATIONNAME

public static final java.lang.String OPTION_EVALUATIONNAME
Option for name to display when evaluating a generator

See Also:
Constant Field Values

OPTION_EVALUATIONTARGET

public static final java.lang.String OPTION_EVALUATIONTARGET
Option for indicating the target result when evaluating a generator

See Also:
Constant Field Values

PROPERTY_CANCEL

public static final java.lang.String PROPERTY_CANCEL
Event name for cancelling the evaluation

See Also:
Constant Field Values

PROPERTY_EVALUATIONFINISHED

public static final java.lang.String PROPERTY_EVALUATIONFINISHED
Event name for a complete evaluation

See Also:
Constant Field Values

PROPERTY_EVALUATIONUPDATE

public static final java.lang.String PROPERTY_EVALUATIONUPDATE
Event name for updates

See Also:
Constant Field Values

PROPERTY_MESSAGE

public static final java.lang.String PROPERTY_MESSAGE
Event name for a message update

See Also:
Constant Field Values

PROPERTY_PROGRESS

public static final java.lang.String PROPERTY_PROGRESS
Event name for a progress update

See Also:
Constant Field Values

generators

protected IDataGenerator[] generators
The list of generators


cancel

protected boolean cancel
Whether the evaluation was cancelled


currentGenerator

protected IDataGenerator currentGenerator
The data generator currently being evaluated


position

protected int position
Current position in the list of generators


processor

protected DataGeneratorEvaluator.IProcessor processor
Callback for processing generators prior to execution


propertySupport

private java.beans.PropertyChangeSupport propertySupport
Support for handling property change events


executor

private java.lang.Thread executor
Thread for evaluation

Constructor Detail

DataGeneratorEvaluator

public DataGeneratorEvaluator(IDataGenerator[] generators)
Creates a new evaluator for data generators.

Parameters:
generators - List of generators to evaluate

DataGeneratorEvaluator

public DataGeneratorEvaluator(IDataGenerator[] generators,
                              DataGeneratorEvaluator.IProcessor processor)
Creates a new evaluator for data generators.

Parameters:
generators - List of generators to evaluate
processor - Optional component to process a generator before evaluation
Method Detail

addPropertyChangeListener

public void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a PropertyChangeListener to the listener list.

Parameters:
listener - Listener

cancel

public void cancel()
Attempts to cancel the current evaluation.


execute

public void execute()
Starts evaluating the given generators.


propertyChange

public void propertyChange(java.beans.PropertyChangeEvent e)
Specified by:
propertyChange in interface java.beans.PropertyChangeListener

removePropertyChangeListener

public void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a PropertyChangeListener from the listener list.

Parameters:
listener - Listener

doEvaluate

protected void doEvaluate()
Perform a generator evaluation.


doPostUpdate

protected void doPostUpdate()
Perform a status update following generator evaluation.


doPreUpdate

protected void doPreUpdate()
Perform a status update before generator evaluation.


evaluate

protected void evaluate()
Evaluates the list of generators.