
package de.ivu.elect.business.exchange.control;

import java.nio.charset.Charset;

import de.ivu.elect.business.datei.entity.CsvAnfuehrungszeichen;
import de.ivu.elect.business.datei.entity.CsvMaskierungszeichen;
import de.ivu.elect.business.datei.entity.CsvTrennzeichen;
import de.ivu.elect.business.datei.entity.CsvZeichensatz;

/**
 * Diese Klasse kennt die Einstellungen der CSV-Datei beim Import. Wird eine CSV-Datei importiert, so ist dies die aktuell ausgewählte Datei, die im Conversation-Store hinterlegt ist.
 */
public interface CsvFileKonfiguration extends FileKonfiguration {

  default Charset getCharset() {
    return getZeichensatz().toCharset();
  }

  CsvZeichensatz getZeichensatz();

  Boolean isWithHeader();

  Long getAnzahlKopfzeilen();

  CsvTrennzeichen getTrennzeichen();

  // ELECTDD-168, Trennzeichen nach letzter Spalte wird erwartet
  Boolean isNutzeTrennzeichenNachLetztemFeld();

  CsvAnfuehrungszeichen getAnfuehrungszeichen();

  CsvMaskierungszeichen getMaskierungszeichen();
}
