001    package net.sf.cpsolver.ifs.util;
002    
003    /**
004     * Progress bar listener.
005     *
006     * @version
007     * IFS 1.1 (Iterative Forward Search)<br>
008     * Copyright (C) 2006 Tomáš Müller<br>
009     * <a href="mailto:muller@unitime.org">muller@unitime.org</a><br>
010     * Lazenska 391, 76314 Zlin, Czech Republic<br>
011     * <br>
012     * This library is free software; you can redistribute it and/or
013     * modify it under the terms of the GNU Lesser General Public
014     * License as published by the Free Software Foundation; either
015     * version 2.1 of the License, or (at your option) any later version.
016     * <br><br>
017     * This library is distributed in the hope that it will be useful,
018     * but WITHOUT ANY WARRANTY; without even the implied warranty of
019     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
020     * Lesser General Public License for more details.
021     * <br><br>
022     * You should have received a copy of the GNU Lesser General Public
023     * License along with this library; if not, write to the Free Software
024     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
025     */
026    public interface ProgressListener {
027        /** Progress status is changed 
028         * @param status current status name
029         */
030        public void statusChanged(String status);
031        /** Progress phase is changed 
032         * @param phase current phase name
033         */
034        public void phaseChanged(String phase);
035        /** Progress bar is changed
036         * @param currentProgress current progress
037         * @param maxProgress maximum progress in this phase
038         */
039        public void progressChanged(long currentProgress, long maxProgress);
040        /** Progress is saved */
041        public void progressSaved();
042        /** Progress is restored */
043        public void progressRestored();
044        /** Progress message is printed */
045        public void progressMessagePrinted(Progress.Message message);
046    }