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

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

/**
 * @see NlWasModelP222Eml520ExportMapper
 * @see NlWasModelP222Osv56CsvExportMapper
 */
public class NlWasModelP222MainDocumentExportMapper extends AbstractNlWasModelP222DocumentExportMapper implements NlWasModelP222ExportMapper {

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

  public NlWasModelP222MainDocumentExportMapper() {
    super();
  }

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

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

  /*
   * 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;
  }
}
