1    // ============================================================================
2    //   Copyright 2006, 2007, 2008 Daniel W. Dyer
3    //
4    //   Licensed under the Apache License, Version 2.0 (the "License");
5    //   you may not use this file except in compliance with the License.
6    //   You may obtain a copy of the License at
7    //
8    //       http://www.apache.org/licenses/LICENSE-2.0
9    //
10   //   Unless required by applicable law or agreed to in writing, software
11   //   distributed under the License is distributed on an "AS IS" BASIS,
12   //   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   //   See the License for the specific language governing permissions and
14   //   limitations under the License.
15   // ============================================================================
16   package org.uncommons.watchmaker.examples.travellingsalesman;
17   
18   /**
19    * Call-back interface for keeping track of the progress of a
20    * {@link TravellingSalesmanStrategy} implementation.
21    * @author Daniel Dyer
22    */
23   public interface ProgressListener
24   {
25       /**
26        * Call-back method that informs the implementing object
27        * of the current completion percentage.
28        * @param percentComplete A percentage between 0 and 100.
29        */
30       void updateProgress(double percentComplete);
31   }
32