
package de.ivu.elect.dokumente.ergebnistabelle;

public interface ErgebnistabelleDocumentColumn {

  boolean hasGruppierung();

  /** Wahlberechtigte, Wähler, Wahl in den Wahlkreisen, ... */
  String getGruppierung();

  boolean hasUntergruppierung();

  /** laut Wählerverzeichnis, Direkststimmen, von den gültigen Stimmen entfallen auf die Wahlvorschläge, ... */
  String getUntergruppierung();

  /** Statistische Gemeindekennziffer, CDU, SPD, ... */
  String getBezeichnung();

  boolean hasKennung();

  /** A1 + A2, D5, ... */
  String getKennung();

  String getValue(AbstractErgebnistabelleCsvDTO dto);

  ErgebnistabelleSpreadsheetStyleTemplate getTextStyle(AbstractErgebnistabelleCsvDTO dto);

  /**
   * z.B. wird eine Spalte mit relativer Breite 2 doppelt so breit dargestellt wie eine Spalte mit relativer Breite 1
   */
  int getRelativeSpaltenBreite();
}
