/* * */ package vroom.common.modeling.util; import vroom.common.modeling.dataModel.ListRoute.ArrayListRoute; import vroom.common.modeling.dataModel.IRoute; import vroom.common.modeling.dataModel.IVRPInstance; import vroom.common.modeling.dataModel.IVRPSolution; import vroom.common.modeling.dataModel.Solution; import vroom.common.modeling.dataModel.Vehicle; /** * <code>DefaultSolutionFactory</code> is an implementation of {@link ISolutionFactory} that will return instances of * {@link Solution} and {@link ArrayListRoute} * <p> * Creation date: Sep 7, 2010 - 10:42:42 AM * * @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 class DefaultSolutionFactory implements ISolutionFactory { /* (non-Javadoc) * @see vroom.common.modeling.util.ISolutionFactory#newSolution(vroom.common.modeling.dataModel.IVRPInstance, java.lang.Object[]) */ @Override public IVRPSolution<?> newSolution(IVRPInstance instance, Object... params) { return new Solution<ArrayListRoute>(instance); } /* (non-Javadoc) * @see vroom.common.modeling.util.ISolutionFactory#newRoute(vroom.common.modeling.dataModel.IVRPSolution, vroom.common.modeling.dataModel.Vehicle, java.lang.Object[]) */ @Override public IRoute<?> newRoute(IVRPSolution<?> solution, Vehicle vehicle, Object... params) { return new ArrayListRoute(solution, vehicle); } }