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

import java.util.List;

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

import de.ivu.elect.business.benutzerverwaltung.control.BenutzerExchangeContext;
import de.ivu.elect.business.benutzerverwaltung.control.BenutzerExportExchange;
import de.ivu.elect.business.benutzerverwaltung.entity.Benutzer;
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 BenutzerExporter extends AbstractExporter<List<Benutzer>, BenutzerExchangeContext> {

  @Inject
  private BenutzerExportExchange benutzerExportExchange;

  @Inject
  private BenutzerDAO benutzerDao;

  public BenutzerExporter() {
    super();
  }

  @Override
  protected ExportExchange<List<Benutzer>, BenutzerExchangeContext> getExchange() {
    return benutzerExportExchange;
  }

  @Override
  protected List<Benutzer> getExportObject(BenutzerExchangeContext context) {
    return benutzerDao.findByAllOrderByBenutzerkennung(context.getMandant());
  }

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