
package de.ivu.elect.business.gruppeimgebiet.control;

import java.io.Serializable;
import java.util.Collection;
import java.util.Comparator;
import java.util.List;

import de.ivu.elect.business.ergebnis.control.StimmenPoolFactory;
import de.ivu.elect.business.gruppeimgebiet.entity.GruppeImGebiet;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.business.wahlvorschlag.entity.Wahlvorschlag;

public class GruppeImGebietReihenfolgeVorsortierer implements Serializable {

  private static final long serialVersionUID = 1L;

  public GruppeImGebietReihenfolgeVorsortierer() {
    super();
  }

  public void sortiere(Wahl wahl, List<GruppeImGebiet> gruppenImGebiet, Collection<Wahlvorschlag> alleWahlvorschlaege, StimmenPoolFactory stimmenPoolFactory) {
    gruppenImGebiet.sort(getComparator(wahl, alleWahlvorschlaege, stimmenPoolFactory));
  }

  public Comparator<GruppeImGebiet> getComparator(Wahl wahl, Collection<Wahlvorschlag> alleWahlvorschlaege, StimmenPoolFactory stimmenPoolFactory) {
    return new GruppeImGebietReihenfolgeVorsortierenComparator();
  }
}
