
package de.ivu.elect.presentation.gruppe.table;

import de.ivu.elect.business.gruppe.entity.GruppeKumulierteStimmen;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;
import de.ivu.elect.presentation.table.AbstractColumnEntry;

public abstract class AbstractGruppeKumulierteStimmenColumn extends AbstractColumnEntry<GruppeKumulierteStimmen> {

  private static final long serialVersionUID = 1L;

  public static final ColumnType STIMMEN_ANZAHL_COLUMN_TYPE = ColumnType.LONG;

  public static final ColumnType STIMMEN_ANTEIL_COLUMN_TYPE = ColumnType.DECIMAL_ONE_FRACTION_DIGIT_PERCENTAGE;

  public static final ColumnType STIMMEN_ANZAHL_DIFFERENZ_COLUMN_TYPE = STIMMEN_ANZAHL_COLUMN_TYPE;

  // NOTE ELECT-6406, dass dieser Wert in Prozentpunkten angegeben wird!
  public static final ColumnType STIMMEN_ANTEIL_DIFFERENZ_COLUMN_TYPE = ColumnType.DECIMAL_ONE_FRACTION_DIGIT_PERCENTAGE_POINTS;

  protected static final String ANZAHL_COLUMN_STYLE_CLASS = "ui-dt-anzahl";

  protected static final String ANTEIL_COLUMN_STYLE_CLASS = ANZAHL_COLUMN_STYLE_CLASS;

  protected static final String DIFFERENZ_COLUMN_STYLE_CLASS = "ui-dt-light";

  protected static final String HEADER_IGNORING_ERGEBNISART_FUER_DIFFERENZ_PLACEHOLDER_MSG_KEY = "ergebnis.ergebnisart.filter";

  protected AbstractGruppeKumulierteStimmenColumn(Messages messages) {
    super(messages);
  }

  /**
   * @return ERGEBNISART UNABHÄNGIGER Header zur Auswahl auf der Maske!
   *
   * @see ELECT-9394
   */
  public abstract String getHeaderIgnoringErgebnisartFuerDifferenz();
}
