package vroom.common.heuristics.vls;
import vroom.common.utilities.callbacks.ICallbackEventTypes;
import vroom.common.utilities.optimization.ISolution;
/**
* <code>VLSCallbackEvents</code> is an implementation of
* {@link ICallbackEventTypes} that is used within the
* {@link VersatileLocalSearch} to describe callback events.
* <p>
* Creation date: Apr 26, 2010 - 2:17:21 PM
*
* @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los
* Andes</a>-<a href="http://copa.uniandes.edu.co">Copa</a> <a
* href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a
* href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a>
* @version 1.0
*/
public enum VLSCallbackEvents implements ICallbackEventTypes {
/**
* Event raised whenever a mSolution has been accepted </p>The following
* parameters will be passed to the callback implementation:
* <ul>
* <li>{@link ISolution} The accepted mSolution</li>
* <li>{@link VLSPhase} The current phase</li>
* <li>{@link IVLSState} The current state</li>
* </ul>
*/
SOLUTION_ACCEPTED("Solution accepted"),
/**
* Event raised whenever a mSolution has been rejected </p>The following
* parameters will be passed to the callback implementation:
* <ul>
* <li>{@link ISolution} The accepted mSolution</li>
* <li>{@link VLSPhase} The current phase</li>
* <li>{@link IVLSState} The current state</li>
* </ul>
*/
SOLUTION_REJECTED("Solution rejected");
/** A description for this event **/
private final String mDescription;
private VLSCallbackEvents(String desc) {
mDescription = desc;
}
/**
* Getter for this event description
*
* @return A description for this event
*/
@Override
public String getDescription() {
return mDescription;
}
}