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

import static java.util.Collections.emptyList;

import java.util.Collection;

import javax.inject.Inject;

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.csv.AbstractNlWasOsvXxCsvNachGebietErgebniseingabestatusExportMapper;
import de.ivu.elect.was.exchange.ergebnis.csv.Osv43ErgebnisCsvExportMapper;

/**
 * @see NlWasModelP221MainDocumentExportMapper
 * @see NlWasModelP221Eml520ExportMapper
 * @see NlWasModelP221Osv56CsvExportMapper
 */
public class NlWasModelP221Osv43CsvExportMapper extends AbstractNlWasOsvXxCsvNachGebietErgebniseingabestatusExportMapper implements NlWasModelP221ExportMapper {

  @Inject
  private transient Osv43ErgebnisCsvExportMapper osv43ErgebnisCsvExportMapper;

  public NlWasModelP221Osv43CsvExportMapper() {
    super();
  }

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

  @Override // ELECT-12706, cf. NlWasModelNa312Osv43CsvExportMapper#isAcceptWahlebene, NlWasModelNa311Osv43CsvExportMapper#isAcceptWahlebene...
  protected Collection<NlWahlart> collectWahlartenAccepted() {
    return emptyList(); // ELECT-12706 -> DEAKTIVIERT!!! NlWasModelP221ExportMapperHelper.collectWahlartenAccepted()
  }

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

  @Override
  protected Osv43ErgebnisCsvExportMapper getCsvExportMapper() {
    return osv43ErgebnisCsvExportMapper;
  }
}
