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

import javax.ejb.Stateless;
import javax.inject.Inject;
import java.util.List;

import de.ivu.elect.business.exchange.control.AbstractExporter;
import de.ivu.elect.business.exchange.control.ExportExchange;
import de.ivu.elect.business.exchange.control.NoContext;
import de.ivu.elect.business.exchange.entity.DateiExportArt;
import de.ivu.elect.business.person.control.BerufExportExchange;
import de.ivu.elect.business.person.entity.Beruf;
import de.ivu.elect.business.person.entity.QBeruf;

@Stateless
public class BerufExporter extends AbstractExporter<List<Beruf>, NoContext> {

  @Inject
  private BerufExportExchange exportExchange;

  @Inject
  private BerufDAO dao;

  @Override
  protected ExportExchange<List<Beruf>, NoContext> getExchange() {
    return exportExchange;
  }

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

  @Override
  protected List<Beruf> getExportObject(NoContext context) {
    return dao.getQueryDsl().from(QBeruf.beruf).list(QBeruf.beruf);
  }

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