
package de.ivu.elect.dokumente.ergebnis.p22;

import de.ivu.elect.business.wahl.control.AbstractNlExportArtefaktNachSystemExportstatusExportContext;
import de.ivu.elect.was.exchange.ergebnis.NlWasModelP221ExportMapper;

/**
 * @see NlWasModelP221Eml520ExportMapper
 * @see NlWasModelP221Osv43CsvExportMapper
 * @see NlWasModelP221Osv56CsvExportMapper
 */
public class NlWasModelP221MainDocumentExportMapper extends AbstractNlWasModelP221DocumentExportMapper implements NlWasModelP221ExportMapper {

  public static final String FILE_FORMAT_NAME = "file.format.ergebnisdokument.export.modelp221.main";

  public NlWasModelP221MainDocumentExportMapper() {
    super();
  }

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

  @Override
  protected String getDokumentVorlageNameInfix() {
    return "Model P 22-1";
  }

  /*
   * https://support.elect-it.com/wiki/x/XoE8
   */

  @Override
  public boolean requiresWahlausschusssitzungAnschriftStrasseHausnummer(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return false;
  }

  @Override
  public boolean requiresWahlausschusssitzungAnschriftOrt(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return true; // ELECT-10433
  }

  @Override
  public boolean requiresWahlausschusssitzungAnschriftPlz(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return false;
  }

  @Override
  public boolean requiresWahlausschusssitzungBeginn(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return true;
  }

  @Override
  public boolean requiresWahlausschusssitzungEinwaende(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return false;
  }

  @Override
  public boolean requiresWahlausschusssitzungEinwaendeBemerkungen(AbstractNlExportArtefaktNachSystemExportstatusExportContext context) {
    return false;
  }
}
