001    /**
002     * ProgressListener.java
003     * jCOLIBRI2 framework. 
004     * @author Juan A. Recio-García.
005     * GAIA - Group for Artificial Intelligence Applications
006     * http://gaia.fdi.ucm.es
007     * 11/01/2007
008     */
009    package jcolibri.util;
010    
011    /**
012     * Interface implemented by the listeners of a progress.
013     * The implementations of this interface must register in the ProgressController to recieve the progress.
014     * @author Juan A. Recio-Garcia
015     * @version 1.0
016     * @see jcolibri.util.ProgressController
017     */
018    public interface ProgressListener {
019            
020            /**
021             * Method call when a progress begins.
022             * @param info Some textual info
023             * @param numberOfSteps Estimated number of steps (-1 if unknown).
024             */
025            public void init(String info, int numberOfSteps);
026            
027            /**
028             * An step executed.
029             */
030            public void step();
031            
032            /**
033             * Process finished.
034             */
035            public void finish();
036    }