
package de.ivu.elect;

import org.jsefa.csv.lowlevel.config.QuoteMode;

import de.ivu.elect.business.datei.entity.CsvMaskierungszeichen;
import de.ivu.elect.business.datei.entity.CsvZeichensatz;
import de.ivu.elect.business.security.Customer;
import de.ivu.elect.business.wahl.entity.NlWahlCustomData;
import de.ivu.elect.business.wahl.entity.NlWahlPhase;
import de.ivu.elect.business.wahl.entity.NlWahlart;
import de.ivu.elect.business.wahl.entity.Wahl;

public interface NlCsvExportMapper { // Maker Interface ELECTVAPP-1251

  default boolean isAcceptWahlart(Wahl wahl, Customer customer) {
    return /* ELECT-16699 */ NlWahlart.isUrnenwahlUnterstuetzt(wahl) && isAcceptWahlPhase(wahl.getCustomData(NlWahlCustomData.class).getNlWahlPhase());
  }

  boolean isAcceptWahlPhase(NlWahlPhase nlWahlPhase);

  boolean isInjectSave(); // ELECTVAPP-754

  QuoteMode getQuoteMode(); // ELECTVAPP-883

  boolean isTrennzeichenNachLetztemFeld(); //ELECTVAPP-883

  CsvMaskierungszeichen setMaskierungszeichen(); //ELECTVAPP-935

  CsvZeichensatz setCsvZeichensatz(); // ELECTVAPP-1251
}
