/* CVS: $Id: Evolver.java,v 1.14 2001/03/18 20:54:12 gvijf Exp $ */ package evolution; import java.util.*; /** * Interface for objects which want to register by the Evolution manager. */ public interface Evolver { /** * This method is called when the Evolver should evolve to the * next state. */ public void evolve(double value); /** * Return the priority of this evolver */ public double getPriority(); /** * Check whether this evolver produces energy or not. */ public boolean producesEnergy(); /** * Return the maximum energy production of this evolver. * @param maxProduction A (String, Double) map wich holds the maximal * production of worldresources. * @param leftOver A (String, Double) map wich holds the actual status * of worldresources in calculating the maximum energy production. */ public double maxEnergyProduction(Map maxProduction, Map leftOver); }