
package de.ivu.elect.dokumente.ergebnis;

import java.util.List;

import javax.enterprise.inject.Specializes;
import javax.inject.Inject;

import de.ivu.elect.business.ergebnis.control.ErgebnisDaten;
import de.ivu.elect.business.ergebnis.entity.Stimmabgabeart;
import de.ivu.elect.business.gebietsbaum.entity.Wahldurchfuehrungsgebiet;
import de.ivu.elect.dokumente.WasElectContext;
import de.ivu.elect.dokumente.gebiet.NlCoreGebietCustomDataDocumentBuilder;
import de.ivu.elect.dokumente.wahlvorschlag.WahlvorschlagCoreDaten;

@Specializes
public class NlErgebnisDatenCustomDataDocumentBuilder extends ErgebnisDatenCustomDataDocumentBuilder {

  private static final long serialVersionUID = 1L;

  @Inject
  private transient NlCoreGebietCustomDataDocumentBuilder nlCoreGebietCustomDataDocumentBuilder;

  public NlErgebnisDatenCustomDataDocumentBuilder() {
    super();
  }

  @Override
  public NlErgebnisDatenCustomDataDocument createCustomData(WasElectContext wasElectContext, ErgebnisDaten ergebnisDaten, List<Wahldurchfuehrungsgebiet> auswertungsgebiete,
      Stimmabgabeart stimmabgabeart) {
    return new NlErgebnisDatenCustomDataDocument(wasElectContext, ergebnisDaten, createWahlvorschlagCoreDaten(wasElectContext), auswertungsgebiete, stimmabgabeart);
  }

  private WahlvorschlagCoreDaten createWahlvorschlagCoreDaten(WasElectContext wasElectContext) {
    return nlCoreGebietCustomDataDocumentBuilder.createWahlvorschlagCoreDaten(wasElectContext);
  }
}
