package com.laytonsmith.PureUtilities;
/**
* A progress iterator is an interface that can be passed in to any long running internal process
* that may want to provide progress updates to the controlling code. There is a method
* for updating the controller when a significant progress event happens.
*/
public interface ProgressIterator {
/**
* Called once a progress change is detected. This is the "current" value of the
* progress, which in combination with the total progress can be used to determine
* the progress percentage (by finding current/total).
* @param current The current progress, always less than or equal to total, which
* represents the current progress of the task.
* @param total The total progress, which once reaches this value is "100% done"
*/
void progressChanged(double current, double total);
}