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

import de.ivu.elect.business.person.entity.Sperrmerkmal;
import de.ivu.elect.business.security.control.ElectCommonPrincipal;

public interface EntityMitSperrmerkmal {

  Sperrmerkmal getSperrmerkmal();

  default boolean isSperrmerkmalGesetzt() {
    return Sperrmerkmal.isGesetzt(this);
  }

  default boolean isSperrmerkmalBerechtigt(ElectCommonPrincipal principal) {
    return principal != null && getSperrmerkmal() != null && principal.hasUseCasePermission(getSperrmerkmal().getBenoetigtesRecht());
  }
}
