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

import de.ivu.elect.business.gruppe.control.GruppeBySchluesselComparator;
import de.ivu.elect.business.gruppe.entity.Gruppe;
import de.ivu.elect.business.gruppe.entity.GruppeConstants;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

public class GruppeSchluesselSortableColumn<E extends Gruppe> extends AbstractGruppeColumn<E> {

  private static final long serialVersionUID = 1L;

  public GruppeSchluesselSortableColumn(Messages messages) {
    super(messages, GruppeConstants.MESSAGE_KEY_SCHLUESSEL_EINZAHL, ColumnType.STRING, Gruppe::getSchluessel);
  }

  @Override
  public String getSortByValue(E gruppe) {
    // ELECT-2204, Schlüssel werden (wahlabhängig) alphanumerisch oder NUR numerisch sortiert!
    return GruppeBySchluesselComparator.normalizeSchluessel((String) super.getSortByValue(gruppe));
  }
}
