ABSTRACT

Consider a class that contains one or several methods whose execution takes a long time, say 1-15 minutes, and whose execution is commonly made while a user is expected to wait for it to complete. One example could be a software installation procedure, or a compilation. To assure the user that the system is not hanging or broken it is common to show progress. I could code a progress indicator by inserting reporting checkpoints in my code, something like

Here the parameter is a percentage of completion. The object progress can be implemented as a visual indicator, as we are used to in modern installation procedures.