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

import javax.annotation.Nullable;

import de.ivu.elect.business.anschrift.entity.EntityMitBarrierefreiheit;
import de.ivu.elect.jee.faces.Messages;
import de.ivu.elect.jee.presentation.Icons;
import de.ivu.elect.jee.presentation.dynamictable.ColumnType;

public class EntityMitBarrierefreiheitColumn<E extends EntityMitBarrierefreiheit> extends AbstractEntityMitBarrierefreiheitColumn<E> {

  private static final long serialVersionUID = 1L;

  public EntityMitBarrierefreiheitColumn(Messages messages, Icons icons) {
    super(messages, icons);
  }

  @Override
  public ColumnType getType() {
    return ColumnType.STRING;
  }

  @Override
  public Object getValue(E entityMitBarrierefreiheit) {
    if (isVollstaendigBarrierefrei(entityMitBarrierefreiheit)) {
      return getMessage("barrierefreiheit.vollstaendig");
    }

    return getMessage("barrierefreiheit.nicht.vollstaendig");
  }

  @Override
  public boolean isIconPresent() {
    return true;
  }

  @Override
  public boolean isIconRendered(E entityMitBarrierefreiheit) {
    return isVollstaendigBarrierefrei(entityMitBarrierefreiheit);
  }

  @Nullable
  @Override
  public String getIcon(E entityMitBarrierefreiheit) {
    if (isIconRendered(entityMitBarrierefreiheit)) {
      return getIcons().getIconCheck();
    }

    return super.getIcon(entityMitBarrierefreiheit);
  }
}
