001package org.cpsolver.ifs.util; 002 003/** 004 * Progress bar listener. 005 * 006 * @version IFS 1.3 (Iterative Forward Search)<br> 007 * Copyright (C) 2006 - 2014 Tomáš Müller<br> 008 * <a href="mailto:muller@unitime.org">muller@unitime.org</a><br> 009 * <a href="http://muller.unitime.org">http://muller.unitime.org</a><br> 010 * <br> 011 * This library is free software; you can redistribute it and/or modify 012 * it under the terms of the GNU Lesser General Public License as 013 * published by the Free Software Foundation; either version 3 of the 014 * License, or (at your option) any later version. <br> 015 * <br> 016 * This library is distributed in the hope that it will be useful, but 017 * WITHOUT ANY WARRANTY; without even the implied warranty of 018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 019 * Lesser General Public License for more details. <br> 020 * <br> 021 * You should have received a copy of the GNU Lesser General Public 022 * License along with this library; if not see 023 * <a href='http://www.gnu.org/licenses/'>http://www.gnu.org/licenses/</a>. 024 */ 025public interface ProgressListener { 026 /** 027 * Progress status is changed 028 * 029 * @param status 030 * current status name 031 */ 032 public void statusChanged(String status); 033 034 /** 035 * Progress phase is changed 036 * 037 * @param phase 038 * current phase name 039 */ 040 public void phaseChanged(String phase); 041 042 /** 043 * Progress bar is changed 044 * 045 * @param currentProgress 046 * current progress 047 * @param maxProgress 048 * maximum progress in this phase 049 */ 050 public void progressChanged(long currentProgress, long maxProgress); 051 052 /** Progress is saved */ 053 public void progressSaved(); 054 055 /** Progress is restored */ 056 public void progressRestored(); 057 058 /** Progress message is printed 059 * @param message a message to print 060 **/ 061 public void progressMessagePrinted(Progress.Message message); 062}