
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.RolleExportExchange;
import de.ivu.elect.business.benutzerverwaltung.entity.Rolle;
import de.ivu.elect.business.benutzerverwaltung.entity.RolleExchangeContext;
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 RolleExporter extends AbstractExporter<List<Rolle>, RolleExchangeContext> {

  @Inject
  private transient RolleExportExchange rolleExportExchange;

  @Inject
  private transient RolleDAO rolleDao;

  public RolleExporter() {
    super();
  }

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

  @Override
  protected ExportExchange<List<Rolle>, RolleExchangeContext> getExchange() {
    return rolleExportExchange;
  }

  @Override
  protected List<Rolle> getExportObject(RolleExchangeContext context) {
    return rolleDao.findByAll(context.getMandant());
  }
}
