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

/**
 * Gemeinsames Interface von Systemparatern und Mandantenparametern
 */
public interface ElectSystemMandantKonfigurationWerte extends CustomParameterTemplate {

  KonfigurationMandantArt getKonfigurationMandantArt();

  static ElectSystemMandantKonfigurationWerte bestimmeKeyEnum(String keyValue) {
    try {
      var electKonfigurationWerte = ElectKonfigurationWerte.bestimmeKeyEnum(keyValue);

      if (electKonfigurationWerte != null) {
        return electKonfigurationWerte;
      }
    } catch (Exception e) {
      // nichts tun
    }

    try {
      return MandantKonfigurationWerte.valueOf(keyValue);
    } catch (Exception e) {
      // nichts tun
    }

    throw new IllegalArgumentException("Unbekannter Parameter: " + keyValue);
  }
}
