
package de.ivu.elect.business.ergebniskonflikt.control.util;

import java.util.Collection;
import java.util.Collections;

import de.ivu.elect.business.ergebniskonflikt.entity.ErgebnisKonflikt;

/**
 * Wenn wegen eines ungelösten ErgebnisKonflikts die Sitzverteilung nicht fortgesetzt werden kann oder soll, kann diese
 * mit dieser Exception abgebrochen werden. Der oder die jeweiligen {@link ErgebnisKonflikt}e werden mit der Exception
 * aus der Berechnung "gerettet".
 */
public class SitzverteilungAbbruchBeiErgebnisKonfliktException extends RuntimeException {

  private static final long serialVersionUID = 1L;

  private final Collection<ErgebnisKonflikt> konflikte;

  public SitzverteilungAbbruchBeiErgebnisKonfliktException(ErgebnisKonflikt konflikt) {
    this.konflikte = Collections.singletonList(konflikt);
  }

  public SitzverteilungAbbruchBeiErgebnisKonfliktException(Collection<ErgebnisKonflikt> konflikte) {
    this.konflikte = konflikte;
  }

  public Collection<ErgebnisKonflikt> getKonflikte() {
    return konflikte;
  }
}
