
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.RechteKonfigurationExportExchange;
import de.ivu.elect.business.benutzerverwaltung.entity.RechteKonfiguration;
import de.ivu.elect.business.benutzerverwaltung.entity.RechteKonfigurationExchangeContext;
import de.ivu.elect.business.exchange.control.AbstractExporter;
import de.ivu.elect.business.exchange.control.ExportExchange;
import de.ivu.elect.business.exchange.entity.DateiExportArt;

/**
 *  on 16.07.2015.
 */
@Stateless
public class RechteKonfigurationExporter extends AbstractExporter<List<RechteKonfiguration>, RechteKonfigurationExchangeContext> {

  @Inject
  private transient RechteKonfigurationExportExchange rechteKonfigurationExportExchange;

  @Inject
  private RechteKonfigurationDAO rechteKonfigurationDAO;

  public RechteKonfigurationExporter() {
    super();
  }

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

  @Override
  protected ExportExchange<List<RechteKonfiguration>, RechteKonfigurationExchangeContext> getExchange() {
    return rechteKonfigurationExportExchange;
  }

  @Override
  protected List<RechteKonfiguration> getExportObject(RechteKonfigurationExchangeContext context) {
    return rechteKonfigurationDAO.findByAll(context.getMandant());
  }

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