
package de.ivu.elect.presentation.stimmeingabe;

import de.ivu.elect.business.stimmeingabe.entity.ErgebniseingangGenerierenProgress;
import de.ivu.elect.presentation.dokumente.AbstractProgressMonitor;

public class FiktiveErgebniseingaengeErzeugenProgressMonitor extends AbstractProgressMonitor {

  private static final long serialVersionUID = 1L;

  private volatile boolean completed = false;

  @Override
  public void reset() {
    super.reset();
    completed = false;
  }

  public void requestCancel() {
    getCancelRequested().set(true);
  }

  @Override
  public void progress(Enum< ? > progress, int count, int size) {
    if (progress.equals(ErgebniseingangGenerierenProgress.ABGESCHLOSSEN)
        || progress.equals(ErgebniseingangGenerierenProgress.ABGEBROCHEN_WEGEN_FEHLERN)) {
      setCompleted(true);
    }

    super.progress(progress, count, size);
  }

  private void setCompleted(boolean completed) {
    this.completed = completed;
  }

  public boolean isCompleted() {
    return completed;
  }

}
