package de.ivu.elect.was.sitzberechnung.entity;

import de.ivu.elect.business.kandidatur.entity.Kandidatur;
import de.ivu.elect.sitzberechnung.Kandidat;

import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Collectors;


public class SitzberechnungKandidat extends AbstractElectSitzberechnungObject implements Kandidat {

  private final Set<Kandidatur> kandidaturen;

  public SitzberechnungKandidat(Collection<Kandidatur> kandidaturen) {
    super(kandidaturen.stream().map(k -> k.getPk().toString()).sorted().collect(Collectors.joining("_")));
    this.kandidaturen = new HashSet<>(kandidaturen);
  }

  @Override
  public String toString() {
    return "SitzberechnungKandidat{" +
            "kandidaturen=" + kandidaturen +
            '}';
  }
}
