
package de.ivu.elect.dokumente.ergebnis;

import de.ivu.elect.business.ergebnis.control.NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext;
import de.ivu.elect.business.wahl.control.AbstractNlExportArtefaktNachSystemExportstatusExportContext;

/**
 * @see NlWasModelO3Bijlage1DocumentExportMapper
 * @see NlWasModelO3Eml510cExportMapper
 * @see NlWasModelO3Osv43CsvExportMapper
 *
 * @deprecated ELECT-15233, Model O 3 -> Model O 7
 */
@Deprecated
public class NlWasModelO3MainDocumentExportMapper extends AbstractNlWasModelO3DocumentExportMapper {

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

  public NlWasModelO3MainDocumentExportMapper() {
    super();
  }

  @Override
  protected boolean isAcceptContextIgnoringSystemExportstatus(NlWasErgebnisArtefaktNachGebietErgebniseingabestatusExportContext context) {
    return FILE_FORMAT_EXPORTIERBAR && super.isAcceptContextIgnoringSystemExportstatus(context); // ELECT-15233, Model O 3 -> Model O 7
  }

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

  @Override
  protected String getDokumentVorlageNameInfix() {
    return "Model O 3";
  }

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

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

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