
package de.ivu.elect.was.exchange.ergebnis;

import java.util.Collection;

import javax.inject.Inject;

import de.ivu.elect.business.ergebnis.control.NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext;
import de.ivu.elect.business.security.Customer;
import de.ivu.elect.business.stimmeingabe.entity.Ergebniseingabestatus;
import de.ivu.elect.business.wahl.entity.NlWahlart;
import de.ivu.elect.business.wahl.entity.Wahl;
import de.ivu.elect.was.exchange.ergebnis.eml.AbstractNlWasEml510xNachGebietErgebniseingabestatusExportMapper;
import de.ivu.elect.was.exchange.ergebnis.eml.Eml510cHSBErgebnisExportMapper;

/**
 * @see NlWasModelO3MainDocumentExportMapper
 * @see NlWasModelO3Bijlage1DocumentExportMapper
 * @see NlWasModelO3Osv43CsvExportMapper
 *
 * @deprecated ELECT-15233, Model O 3 -> Model O 7
 */
@Deprecated
public class NlWasModelO3Eml510cExportMapper extends AbstractNlWasEml510xNachGebietErgebniseingabestatusExportMapper implements NlWasModelO3ExportMapper {

  @Inject
  private transient Eml510cHSBErgebnisExportMapper eml510cHSBErgebnisExportMapper;

  public NlWasModelO3Eml510cExportMapper() {
    super();
  }

  @Override
  protected boolean isAcceptContextIgnoringSystemExportstatus(NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext context) {
    return FILE_FORMAT_EXPORTIERBAR && super.isAcceptContextIgnoringSystemExportstatus(context); // ELECT-15233, Model O 3 -> Model O 7
  }

  @Override
  protected boolean isAcceptWahlebene(Wahl wahl, Customer customer) {
    return NlWasModelO3ExportMapperHelper.isAcceptWahlebene(wahl, customer);
  }

  @Override
  protected Collection<NlWahlart> collectWahlartenAccepted() {
    return NlWasModelO3ExportMapperHelper.collectWahlartenAccepted();
  }

  @Override
  protected Collection<Ergebniseingabestatus> collectErgebniseingabestatusAccepted() {
    return NlWasModelO3ExportMapperHelper.collectErgebniseingabestatusAccepted();
  }

  @Override
  protected Eml510cHSBErgebnisExportMapper getEmlExportMapper() {
    return eml510cHSBErgebnisExportMapper;
  }
}
