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

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

import de.ivu.elect.business.ergebnis.control.ErgebnisDatenCreator;
import de.ivu.elect.business.ergebnis.control.ErgebnisdokumentTypExportObject;
import de.ivu.elect.business.ergebnis.control.gesamtergebnis.ErgebnisGesamtergebnisTabellarischDocumentExportContext;
import de.ivu.elect.business.ergebnis.control.gesamtergebnis.ErgebnisGesamtergebnisTabellarischDocumentExportExchange;
import de.ivu.elect.business.exchange.control.AbstractExporter;
import de.ivu.elect.business.exchange.control.ExportExchange;
import de.ivu.elect.business.exchange.entity.DateiExportArt;

@Stateless
public class ErgebnisGesamtergebnisTabellarischDocumentExporter extends AbstractExporter<ErgebnisdokumentTypExportObject, ErgebnisGesamtergebnisTabellarischDocumentExportContext> {

  @Inject
  private transient ErgebnisGesamtergebnisTabellarischDocumentExportExchange exportExchange;

  @Inject
  private transient ErgebnisDatenCreator ergebnisDatenCreator;

  public ErgebnisGesamtergebnisTabellarischDocumentExporter() {
    super();
  }

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

  @Override
  protected boolean isExportHeader() {
    return true;
  }

  @Override
  protected ExportExchange<ErgebnisdokumentTypExportObject, ErgebnisGesamtergebnisTabellarischDocumentExportContext> getExchange() {
    return exportExchange;
  }

  @Override
  protected ErgebnisdokumentTypExportObject getExportObject(ErgebnisGesamtergebnisTabellarischDocumentExportContext context) {
    return context.toExportObject(ergebnisDatenCreator);
  }
}
