
package de.ivu.elect.business.entschaedigung.entity;

import static org.apache.commons.lang3.StringUtils.equalsIgnoreCase;

import de.ivu.elect.business.person.entity.PersonendatenArt;
import de.ivu.elect.jee.faces.Messages;

public interface EntschaedigungsartKriteriumPersonendatenArt extends EntschaedigungsartKriterium {

  String MSG_KEY_PREFIX = PersonendatenArt.MSG_KEY_PREFIX;

  EntschaedigungsartKriteriumPersonendatenArt IRRELEVANT = () -> "IRRELEVANT";

  @Override
  default String getDisplayName(Messages messages) {
    if (this.equals(IRRELEVANT)) {
      return messages.getMessageForMessageKey("EntschaedigungsartKriterium.IRRELEVANT");
    }

    return messages.getMessageForMessageKey(MSG_KEY_PREFIX + getTechnicalName());
  }

  default boolean matchesPersonendatenArt(PersonendatenArt personendatenArt) {
    return personendatenArt != null && equalsIgnoreCase(getTechnicalName(), personendatenArt.getTechnicalName());
  }
}
