
package de.ivu.elect.exchange.gebietsbaum.csv;

import de.ivu.elect.business.gebietsbaum.control.GebietsbaumExchangeContext;
import de.ivu.elect.business.gebietsbaum.entity.Gebiet;
import de.ivu.elect.exchange.gebietsbaum.AbstractGebietDTO;

public class DefaultGebietsbaumCsvExportMapper extends AbstractGebietsbaumCsvExportMapper<AbstractGebietDTO> {

  public static final String FILE_FORMAT_NAME = "file.format.gebietsbaum.default";

  public DefaultGebietsbaumCsvExportMapper() {
    super();
  }

  @Override
  public boolean isAcceptContext(GebietsbaumExchangeContext context) {
    return context.hasWahl() || context.hasWahltermin();
  }

  @Override
  protected String getFileFormatName() {
    return FILE_FORMAT_NAME;
  }

  @Override
  protected boolean isRelevantGebiet(Gebiet gebiet, GebietsbaumExchangeContext context) {
    return true;
  }

  @Override
  protected AbstractGebietDTO createDto(Gebiet gebiet, GebietsbaumExchangeContext context) {
    return new DefaultGebietCsvDTO(gebiet);
  }
}
