
package de.ivu.elect.business.stimmeingabe.boundary;

import javax.ejb.Stateless;
import javax.inject.Inject;

import de.ivu.elect.business.ergebnis.control.NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext;
import de.ivu.elect.business.exchange.control.AbstractExporter;
import de.ivu.elect.business.exchange.entity.DateiExportArt;
import de.ivu.elect.business.stimmeingabe.control.Eml510bImportiertExportExchange;
import de.ivu.elect.business.wahl.boundary.WahlDAO;
import de.ivu.elect.business.wahl.control.NlExportArtefaktNachSystemExportstatusExportObject;

@Stateless
public class Eml510bImportiertExporter extends AbstractExporter<NlExportArtefaktNachSystemExportstatusExportObject, NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext> {

  @Inject
  private transient Eml510bImportiertExportExchange exportExchange;

  @Inject
  private transient WahlDAO wahlDAO;

  public Eml510bImportiertExporter() {
    super();
  }

  @Override
  protected DateiExportArt getDateiExportArt() {
    return DateiExportArt.ERGEBNIS_EXPORT;
  }

  @Override
  public Eml510bImportiertExportExchange getExchange() {
    return exportExchange;
  }

  @Override
  protected NlExportArtefaktNachSystemExportstatusExportObject getExportObject(NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext context) {
    return new NlExportArtefaktNachSystemExportstatusExportObject(wahlDAO.attach(context.getWahl()));
  }
}
