/** * */ package de.rub.syssec.saaf.analysis.steps; import java.util.concurrent.CopyOnWriteArrayList; /** * A helper class that handles updates to all ProgressListeners. * * @author Tilman Bender <tilman.bender@rub.de> * */ public class ProgressHandler implements ProgressObservable { private CopyOnWriteArrayList<ProgressListener> listeners; public ProgressHandler() { super(); this.listeners = new CopyOnWriteArrayList<ProgressListener>(); } /* (non-Javadoc) * @see de.rub.syssec.saaf.analysis.steps.ProgressObservable#addProgressListener(de.rub.syssec.saaf.analysis.steps.ProgressListener) */ @Override public void addProgressListener(ProgressListener p) { this.listeners.add(p); } public void notifyCanceled() { for( ProgressListener listener : listeners) { listener.canceled(); } } public void notifyFinsihed() { for( ProgressListener listener : listeners) { listener.finished(); } } public void notifyMax(int maximum) { for( ProgressListener listener : listeners) { listener.setMaximum(maximum); } } public void notifyProgress(int progress) { for( ProgressListener listener : listeners) { listener.setProgress(progress); } } public void notifyProgress(String message) { for( ProgressListener listener : listeners) { listener.setProgress(message); } } public void notifyStarted() { for( ProgressListener listener : listeners) { listener.started(); } } }