package vroom.common.modeling.dataModel.attributes; import java.util.Collection; import vroom.common.modeling.dataModel.Fleet; import vroom.common.modeling.dataModel.Vehicle; /** * <code>IVehicleCompatibility</code> is an interface to attributes that represent a compatibility relation between * nodes and vehicles. * * @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 #created 24-Feb-2010 01:48:53 p.m. */ public interface IVehicleCompatibility extends INodeAttribute { /** * Test whether a vehicle is compatible with the associated node. * * @param vehicle * the vehicle which compatibility will be tested * @return can visit the associated node, otherwise */ public boolean isVehicleCompatible(Vehicle vehicle); /** * Identification of compatible vehicles. * * @param fleet * the fleet of vehicles from which compatible vehicles should be identified * @return a collection of vehicles from the given that are compatible with the associated node */ public Collection<Vehicle> getCompatibleVehicles(Fleet<?> fleet); }