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

import org.apache.commons.lang3.StringUtils;

import de.ivu.elect.business.stimmzettel.entity.Stimmzettel;
import de.ivu.elect.business.stimmzettel.entity.StimmzettelConstants;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

public class StimmzettelColumn extends AbstractStimmzettelColumn<Stimmzettel> {

  private static final long serialVersionUID = 1L;

  public static final int MAX_STELLEN_STIMMZETTEL_NUMMER = 30;

  public StimmzettelColumn(Messages messages) {
    super("Stimmzettel-Nummer", messages, StimmzettelConstants.MESSAGE_KEY_NUMMER_EINZAHL, ColumnType.STRING, Stimmzettel::getNummer);
  }


  @Override
  public String getSortByValue(Stimmzettel entity) {
    // ELECTKOM-887
    if (entity == null) {
      return "";
    }

    return entity.getPrefixVorNummer() + StringUtils.leftPad(Long.toString(entity.getNummerAsLong()), MAX_STELLEN_STIMMZETTEL_NUMMER, '0');
  }

}
