fr.jussieu.gla.wasa.core
Interface ICustomizer

All Superinterfaces:
java.lang.Cloneable
All Known Implementing Classes:
DefaultCustomizer, EditableCustomizer

public interface ICustomizer
extends java.lang.Cloneable

Define the behaviour of the customizable part of the Algorithm.

This class implements the Cloneable in order to allow concrete ICustomizer instances to be created using the Prototype pattern.

Version:
$Revision: 1.5 $ $Date: 2002/04/16 16:45:54 $
Author:
Laurent Caillette, Florent Selva

Inner Class Summary
static interface ICustomizer.ICustomizerEditor
          Defines a visual editor for letting the user parametrize an ICustomizer instance.
 
Method Summary
 java.lang.Object clone()
           
 ICustomizer.ICustomizerEditor createCustomizerEditor()
          Creates an ICustomizer.ICustomizerEditor instance bound to this.
 void processImprovementFound(Problem problem)
          This method is called before an engine in the state AlgorithmState.IMPROVEMENT_FOUND execute a step.
 void processNoErrorAssigned(Problem problem)
          This method is called before an engine in the state AlgorithmState.NO_ERROR_ASSIGNED execute a step.
 void processNoImprovementFound(Problem problem)
          This method is called before an engine in the state AlgorithmState.NO_IMPROVEMENT_FOUND execute a step.
 void processNoVarFound(Problem problem)
          This method is called before an engine in the state AlgorithmState.NO_VAR_FOUND execute a step.
 void processUninitialized(Problem problem)
          This method is called before an engine in the state AlgorithmState.UNINITIALIZED execute a step.
 

Method Detail

processUninitialized

public void processUninitialized(Problem problem)
                          throws EngineException
This method is called before an engine in the state AlgorithmState.UNINITIALIZED execute a step.

processNoErrorAssigned

public void processNoErrorAssigned(Problem problem)
                            throws EngineException
This method is called before an engine in the state AlgorithmState.NO_ERROR_ASSIGNED execute a step.

processNoVarFound

public void processNoVarFound(Problem problem)
                       throws EngineException
This method is called before an engine in the state AlgorithmState.NO_VAR_FOUND execute a step.

processNoImprovementFound

public void processNoImprovementFound(Problem problem)
                               throws EngineException
This method is called before an engine in the state AlgorithmState.NO_IMPROVEMENT_FOUND execute a step.

processImprovementFound

public void processImprovementFound(Problem problem)
                             throws EngineException
This method is called before an engine in the state AlgorithmState.IMPROVEMENT_FOUND execute a step.

createCustomizerEditor

public ICustomizer.ICustomizerEditor createCustomizerEditor()
Creates an ICustomizer.ICustomizerEditor instance bound to this.

The program using ICustomizerEditor should take care of hiding its visual component after the user entered parameters, and work on a clone of the ICustomizer parametrized instance. Otherwise, it could lead to unclear situations, where ICustomizer state is not reflected by GUI.

Returns:
an ICustomizerEditor instance.

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Overrides:
clone in class java.lang.Object