    001    package ifs.solution;
    002
    003    /**
    004     * IFS solution listener.
    005     *
    006     * @see Solution
    007     *
    008     * @author <a href="mailto:muller@ktiml.mff.cuni.cz">Tomáš Müller</a>
    009     * @version 1.0
    010     */
    011    public interface SolutionListener {
    012        /** Called by the solution when it is updated, see {@link Solution#update(double)}.
    013         * @param solution source solution
    014         */
    015        public void solutionUpdated(Solution solution);
    016
    017        /** Called by the solution when it is asked to produce info table, see {@link Solution#getInfo()}.
    018         * A listener can also add some its info into this table.
    019         * @param solution source solution
    020         * @param info produced info table
    021         */
    022        public void getInfo(Solution solution, java.util.Dictionary info);
    023
    024        /** Called by the solution when method {@link Solution#clearBest()} is called.
    025         * @param solution source solution
    026         */
    027        public void bestCleared(Solution solution);
    028
    029        /** Called by the solution when method {@link Solution#saveBest()} is called.
    030         * @param solution source solution
    031         */
    032        public void bestSaved(Solution solution);
    033
    034        /** Called by the solution when method {@link Solution#restoreBest()} is called.
    035         * @param solution source solution
    036         */
    037        public void bestRestored(Solution solution);
    038    }