"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_types_statkue_LehrerLehrbefaehigung = exports.LehrerLehrbefaehigung = void 0;
const JavaObject_1 = require("../../../java/lang/JavaObject");
const HashMap_1 = require("../../../java/util/HashMap");
const LehrerKatalogLehrbefaehigungEintrag_1 = require("../../../core/data/lehrer/LehrerKatalogLehrbefaehigungEintrag");
class LehrerLehrbefaehigung extends JavaObject_1.JavaObject {
    /** the name of the enumeration value */
    __name;
    /** the ordinal value for the enumeration value */
    __ordinal;
    /** an array containing all values of this enumeration */
    static all_values_by_ordinal = [];
    /** an array containing all values of this enumeration indexed by their name*/
    static all_values_by_name = new Map();
    static AH = new LehrerLehrbefaehigung("AH", 0, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(174, "AH", "Arbeitslehre / Schwerpunkt Haushaltslehre", null, null)]);
    static AL = new LehrerLehrbefaehigung("AL", 1, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(175, "AL", "Arbeitslehre", null, null)]);
    static AM = new LehrerLehrbefaehigung("AM", 2, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(176, "AM", "Arabisch (Muttersprachl. Unterricht)", null, null)]);
    static AT = new LehrerLehrbefaehigung("AT", 3, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(177, "AT", "Arbeitslehre / Schwerpunkt Technik", null, null)]);
    static AW = new LehrerLehrbefaehigung("AW", 4, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(178, "AW", "Arbeitslehre / Wirtschaft", null, null)]);
    static BE = new LehrerLehrbefaehigung("BE", 5, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(179, "BE", "Betreuung", null, null)]);
    static BI = new LehrerLehrbefaehigung("BI", 6, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(180, "BI", "Biologie", null, null)]);
    static BM = new LehrerLehrbefaehigung("BM", 7, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(181, "BM", "Bosnisch (Muttersprachl. Unterricht)", null, null)]);
    static C = new LehrerLehrbefaehigung("C", 8, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(182, "C", "Chinesisch", null, null)]);
    static CH = new LehrerLehrbefaehigung("CH", 9, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(183, "CH", "Chemie", null, null)]);
    static CM = new LehrerLehrbefaehigung("CM", 10, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(184, "CM", "Kroatisch (Muttersprachl. Unterricht)", null, null)]);
    static D = new LehrerLehrbefaehigung("D", 11, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(185, "D", "Deutsch", null, null)]);
    static E = new LehrerLehrbefaehigung("E", 12, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(186, "E", "Englisch", null, null)]);
    static EK = new LehrerLehrbefaehigung("EK", 13, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(187, "EK", "Erdkunde", null, null)]);
    static EM = new LehrerLehrbefaehigung("EM", 14, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(188, "EM", "Serbisch (Muttersprachl. Unterricht)", null, null)]);
    static ER = new LehrerLehrbefaehigung("ER", 15, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(189, "ER", "Evangelische Religionslehre", null, null)]);
    static F = new LehrerLehrbefaehigung("F", 16, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(190, "F", "Französisch", null, null)]);
    static FP = new LehrerLehrbefaehigung("FP", 17, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(191, "FP", "Fachpraxis", null, null)]);
    static G = new LehrerLehrbefaehigung("G", 18, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(192, "G", "Griechisch", null, null)]);
    static GE = new LehrerLehrbefaehigung("GE", 19, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(193, "GE", "Geschichte", null, null)]);
    static GM = new LehrerLehrbefaehigung("GM", 20, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(194, "GM", "Griechisch (Muttersprachl. Unterricht)", null, null)]);
    static GP = new LehrerLehrbefaehigung("GP", 21, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(195, "GP", "Geschichte / Politische Bildung", null, null)]);
    static GS = new LehrerLehrbefaehigung("GS", 22, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(196, "GS", "Kunst/Gestalten (Kunst oder Textilgestaltung)", null, null)]);
    static GU = new LehrerLehrbefaehigung("GU", 23, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(197, "GU", "Gesamtunterricht", null, null)]);
    static H = new LehrerLehrbefaehigung("H", 24, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(198, "H", "Hebräisch", null, null)]);
    static HA = new LehrerLehrbefaehigung("HA", 25, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(199, "HA", "Hauswirtschaft", null, null)]);
    static HR = new LehrerLehrbefaehigung("HR", 26, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(200, "HR", "Jüdische Religionslehre", null, null)]);
    static HW = new LehrerLehrbefaehigung("HW", 27, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(201, "HW", "Hauswirtschaft (-swissenschaft)", null, null)]);
    static I = new LehrerLehrbefaehigung("I", 28, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(202, "I", "Italienisch", null, null)]);
    static IF = new LehrerLehrbefaehigung("IF", 29, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(203, "IF", "Informatik (nachgewiesen durch 2. Staatsprüfung, sonst siehe IK)", null, null)]);
    static IM = new LehrerLehrbefaehigung("IM", 30, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(204, "IM", "Italienisch (Muttersprachl. Unterricht)", null, null)]);
    static IR = new LehrerLehrbefaehigung("IR", 31, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(205, "IR", "Islamkunde", null, null)]);
    static K = new LehrerLehrbefaehigung("K", 32, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(206, "K", "Japanisch", null, null)]);
    static KG = new LehrerLehrbefaehigung("KG", 33, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(207, "KG", "Kunst/Gestalten", null, null)]);
    static KR = new LehrerLehrbefaehigung("KR", 34, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(208, "KR", "Katholische Religionslehre", null, null)]);
    static KS = new LehrerLehrbefaehigung("KS", 35, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(209, "KS", "Kurzschrift", null, null)]);
    static KU = new LehrerLehrbefaehigung("KU", 36, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(210, "KU", "Kunst / Werken", null, null)]);
    static KW = new LehrerLehrbefaehigung("KW", 37, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(211, "KW", "Kunstwissenschaft", null, null)]);
    static L = new LehrerLehrbefaehigung("L", 38, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(212, "L", "Lateinisch", null, null)]);
    static LI = new LehrerLehrbefaehigung("LI", 39, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(213, "LI", "Literaturwissenschaft", null, null)]);
    static LM = new LehrerLehrbefaehigung("LM", 40, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(214, "LM", "Albanisch (Muttersprachl. Unterricht)", null, null)]);
    static LN = new LehrerLehrbefaehigung("LN", 41, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(215, "LN", "Linguistik", null, null)]);
    static M = new LehrerLehrbefaehigung("M", 42, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(216, "M", "Mathematik", null, null)]);
    static MM = new LehrerLehrbefaehigung("MM", 43, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(217, "MM", "Makedonisch (Muttersprachl. Unterricht)", null, null)]);
    static MS = new LehrerLehrbefaehigung("MS", 44, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(218, "MS", "Maschinenschreiben", null, null)]);
    static MU = new LehrerLehrbefaehigung("MU", 45, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(219, "MU", "Musik", null, null)]);
    static N = new LehrerLehrbefaehigung("N", 46, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(220, "N", "Niederländisch", null, null)]);
    static O = new LehrerLehrbefaehigung("O", 47, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(221, "O", "Portugiesisch", null, null)]);
    static OA = new LehrerLehrbefaehigung("OA", 48, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(222, "OA", "Ohne Angabe", null, null)]);
    static OM = new LehrerLehrbefaehigung("OM", 49, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(223, "OM", "Portugiesisch (Muttersprachl. Unterricht)", null, null)]);
    static OR = new LehrerLehrbefaehigung("OR", 50, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(224, "OR", "Griechisch-orthodoxe Religionslehre", null, null)]);
    static PA = new LehrerLehrbefaehigung("PA", 51, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(225, "PA", "Pädagogik", null, null)]);
    static PH = new LehrerLehrbefaehigung("PH", 52, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(226, "PH", "Physik (Astronomie)", null, null)]);
    static PI = new LehrerLehrbefaehigung("PI", 53, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(227, "PI", "Philosophie/Praktische Philosophie", null, null)]);
    static PK = new LehrerLehrbefaehigung("PK", 54, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(228, "PK", "Politik", null, null)]);
    static PL = new LehrerLehrbefaehigung("PL", 55, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(229, "PL", "Philosophie", null, null)]);
    static PM = new LehrerLehrbefaehigung("PM", 56, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(230, "PM", "Polnisch (Muttersprachl. Unterricht)", null, null)]);
    static PP = new LehrerLehrbefaehigung("PP", 57, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(231, "PP", "Praktische Philosophie", null, null)]);
    static PS = new LehrerLehrbefaehigung("PS", 58, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(232, "PS", "Psychologie", null, null)]);
    static R = new LehrerLehrbefaehigung("R", 59, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(233, "R", "Russisch", null, null)]);
    static RM = new LehrerLehrbefaehigung("RM", 60, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(234, "RM", "Russisch (Muttersprachl. Unterricht)", null, null)]);
    static RW = new LehrerLehrbefaehigung("RW", 61, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(235, "RW", "Rechtswissenschaft", null, null)]);
    static S = new LehrerLehrbefaehigung("S", 62, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(236, "S", "Spanisch", null, null)]);
    static SE = new LehrerLehrbefaehigung("SE", 63, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(237, "SE", "Sozial- und Erziehungswissenschaft", null, null)]);
    static SF = new LehrerLehrbefaehigung("SF", 64, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(238, "SF", "Sozialpflege", null, null)]);
    static SM = new LehrerLehrbefaehigung("SM", 65, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(239, "SM", "Spanisch (Muttersprachl. Unterricht)", null, null)]);
    static SN = new LehrerLehrbefaehigung("SN", 66, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(240, "SN", "Sonderpädagogik", null, null)]);
    static SO = new LehrerLehrbefaehigung("SO", 67, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(241, "SO", "Sozialpädagogik", null, null)]);
    static SP = new LehrerLehrbefaehigung("SP", 68, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(242, "SP", "Sport", null, null)]);
    static SR = new LehrerLehrbefaehigung("SR", 69, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(243, "SR", "sonstige Sprachen", null, null)]);
    static SU = new LehrerLehrbefaehigung("SU", 70, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(244, "SU", "Sachunterricht", null, null)]);
    static SW = new LehrerLehrbefaehigung("SW", 71, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(245, "SW", "Sozialwissenschaften", null, null)]);
    static T = new LehrerLehrbefaehigung("T", 72, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(246, "T", "Türkisch", null, null)]);
    static TC = new LehrerLehrbefaehigung("TC", 73, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(247, "TC", "Technik", null, null)]);
    static TE = new LehrerLehrbefaehigung("TE", 74, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(248, "TE", "Technologie", null, null)]);
    static TM = new LehrerLehrbefaehigung("TM", 75, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(249, "TM", "Türkisch (Muttersprachl. Unterricht)", null, null)]);
    static TX = new LehrerLehrbefaehigung("TX", 76, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(250, "TX", "Textilgestaltung", null, null)]);
    static UW = new LehrerLehrbefaehigung("UW", 77, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(251, "UW", "Unterweisung", null, null)]);
    static W = new LehrerLehrbefaehigung("W", 78, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(252, "W", "Werken (Musisches)", null, null)]);
    static WM = new LehrerLehrbefaehigung("WM", 79, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(253, "WM", "Slowenisch (Muttersprachl. Unterricht)", null, null)]);
    static WP = new LehrerLehrbefaehigung("WP", 80, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(254, "WP", "Wirtschaftslehre/Politik", null, null)]);
    static WT = new LehrerLehrbefaehigung("WT", 81, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(255, "WT", "Technisches Werken", null, null)]);
    static WW = new LehrerLehrbefaehigung("WW", 82, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(256, "WW", "Wirtschafts- und Arbeitslehre", null, null)]);
    static XM = new LehrerLehrbefaehigung("XM", 83, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(257, "XM", "sonstige Muttersprache", null, null)]);
    static YR = new LehrerLehrbefaehigung("YR", 84, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(258, "YR", "Syrisch-orthodoxe Religionslehre", null, null)]);
    static Z = new LehrerLehrbefaehigung("Z", 85, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(259, "Z", "Neugriechisch", null, null)]);
    static AR = new LehrerLehrbefaehigung("AR", 86, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(260, "AR", "Alevitische Religionslehre nach den Grundsätzen des AABF", null, null)]);
    static AE = new LehrerLehrbefaehigung("AE", 87, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(261, "AE", "Ästhetische Erziehung", null, null)]);
    static DZ = new LehrerLehrbefaehigung("DZ", 88, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(262, "DZ", "Deutsch für Schülerinnen und Schüler mit Zuwanderungsgeschichte", null, null)]);
    static MG = new LehrerLehrbefaehigung("MG", 89, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(263, "MG", "Mathematische Grundbildung", null, null)]);
    static NG = new LehrerLehrbefaehigung("NG", 90, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(264, "NG", "Natur- und Gesellschaftswissenschaften", null, null)]);
    static SB = new LehrerLehrbefaehigung("SB", 91, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(265, "SB", "Sprachliche Grundbildung", null, null)]);
    static MB = new LehrerLehrbefaehigung("MB", 92, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(266, "MB", "Religionslehre der mennonitischen Brüdergemeinden in RW (Lehrerlaubnis)", null, null)]);
    static VM = new LehrerLehrbefaehigung("VM", 93, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(267, "VM", "Bulgarisch (Herkunftssprache)", null, null)]);
    static QM = new LehrerLehrbefaehigung("QM", 94, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(268, "QM", "Farsi (Herkunftssprache)", null, null)]);
    static YM = new LehrerLehrbefaehigung("YM", 95, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(269, "YM", "Koreanisch (Herkunftssprache)", null, null)]);
    static ZM = new LehrerLehrbefaehigung("ZM", 96, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(270, "ZM", "Kurdische Sprachen (Herkunftssprache) (Sorani, Komaci, Zaza)", null, null)]);
    static NM = new LehrerLehrbefaehigung("NM", 97, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(271, "NM", "Niederländisch (Herkunftssprache)", null, null)]);
    static UM = new LehrerLehrbefaehigung("UM", 98, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(272, "UM", "Rumänisch (Herkunftssprache)", null, null)]);
    static IL = new LehrerLehrbefaehigung("IL", 99, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(273, "IL", "Islamische Religionslehre", null, null)]);
    static A = new LehrerLehrbefaehigung("A", 100, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(274, "A", "Arabisch", null, null)]);
    static BN = new LehrerLehrbefaehigung("BN", 101, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(275, "BN", "Braille´sche Punktschrift", null, null)]);
    static DS = new LehrerLehrbefaehigung("DS", 102, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(276, "DS", "Darstellen und Gestalten", null, null)]);
    static EL = new LehrerLehrbefaehigung("EL", 103, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(277, "EL", "Hauswirtschaft (Konsum/Ernährung/Gesundheit)", null, null)]);
    static DF = new LehrerLehrbefaehigung("DF", 104, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(278, "DF", "Design/Fotografie", null, null)]);
    static GW = new LehrerLehrbefaehigung("GW", 105, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(279, "GW", "Gesellschaftswissenschaften", null, null)]);
    static MJ = new LehrerLehrbefaehigung("MJ", 106, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(280, "MJ", "Malerei/Grafik/Gestaltung", null, null)]);
    static NW = new LehrerLehrbefaehigung("NW", 107, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(281, "NW", "Naturwissenschaften", null, null)]);
    static SI = new LehrerLehrbefaehigung("SI", 108, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(282, "SI", "Sozialwesen", null, null)]);
    static ZB = new LehrerLehrbefaehigung("ZB", 109, [new LehrerKatalogLehrbefaehigungEintrag_1.LehrerKatalogLehrbefaehigungEintrag(283, "ZB", "Zusatzqualifikation Bilinguales Lernen", null, null)]);
    static VERSION = 1;
    daten;
    historie;
    static _lehrbefaehigungenByID = new HashMap_1.HashMap();
    static _lehrbefaehigungenByKuerzel = new HashMap_1.HashMap();
    /**
     * Erzeugt eine neue Lehrbefähigung in der Aufzählung.
     *
     * @param historie   die Historie der Lehrbefähigungen, welches ein Array von {@link LehrerKatalogLehrbefaehigungEintrag} ist
     */
    constructor(name, ordinal, historie) {
        super();
        this.__name = name;
        this.__ordinal = ordinal;
        LehrerLehrbefaehigung.all_values_by_ordinal.push(this);
        LehrerLehrbefaehigung.all_values_by_name.set(name, this);
        this.historie = historie;
        this.daten = historie[historie.length - 1];
    }
    /**
     * Gibt eine Map von den IDs der Lehrbefähigungen auf die zugehörigen Lehrbefähigungen
     * zurück. Sollte diese noch nicht initialisiert sein, so wird sie initielisiert.
     *
     * @return die Map von den IDs der Lehrbefähigungen auf die zugehörigen Lehrbefähigungen
     */
    static getMapLehrbefaehigungByID() {
        if (LehrerLehrbefaehigung._lehrbefaehigungenByID.size() === 0)
            for (let l of LehrerLehrbefaehigung.values())
                LehrerLehrbefaehigung._lehrbefaehigungenByID.put(l.daten.id, l);
        return LehrerLehrbefaehigung._lehrbefaehigungenByID;
    }
    /**
     * Gibt eine Map von den Kürzeln der Lehrbefähigungen auf die zugehörigen Lehrbefähigungen
     * zurück. Sollte diese noch nicht initialisiert sein, so wird sie initielisiert.
     *
     * @return die Map von den Kürzeln der Lehrbefähigungen auf die zugehörigen Lehrbefähigungen
     */
    static getMapLehrbefaehigungByKuerzel() {
        if (LehrerLehrbefaehigung._lehrbefaehigungenByKuerzel.size() === 0)
            for (let l of LehrerLehrbefaehigung.values())
                LehrerLehrbefaehigung._lehrbefaehigungenByKuerzel.put(l.daten.kuerzel, l);
        return LehrerLehrbefaehigung._lehrbefaehigungenByKuerzel;
    }
    /**
     * Gibt die Lehrbefähigung anhand der angegebenen ID zurück.
     *
     * @param id   die ID der Lehrbefähigung
     *
     * @return die Lehrbefähigung oder null, falls die IF ungültig ist
     */
    static getByID(id) {
        return LehrerLehrbefaehigung.getMapLehrbefaehigungByID().get(id);
    }
    /**
     * Gibt die Lehrbefähigung anhand des angegebenen Kürzels zurück.
     *
     * @param kuerzel   das Kürzel der Lehrbefähigung
     *
     * @return die Lehrbefähigung oder null, falls das Kürzel ungültig ist
     */
    static getByKuerzel(kuerzel) {
        return LehrerLehrbefaehigung.getMapLehrbefaehigungByKuerzel().get(kuerzel);
    }
    /**
     * Returns the name of this enumeration value.
     *
     * @returns the name
     */
    name() {
        return this.__name;
    }
    /**
     * Returns the ordinal value of this enumeration value.
     *
     * @returns the ordinal value
     */
    ordinal() {
        return this.__ordinal;
    }
    /**
     * Returns the name of this enumeration value.
     *
     * @returns the name
     */
    toString() {
        return this.__name;
    }
    /**
     * Returns true if this and the other enumeration values are equal.
     *
     * @param other   the other enumeration value
     *
     * @returns true if they are equal and false otherwise
     */
    equals(other) {
        if (!(other instanceof LehrerLehrbefaehigung))
            return false;
        return this === other;
    }
    /**
     * Returns the ordinal value as hashcode, since the ordinal value is unique.
     *
     * @returns the ordinal value as hashcode
     */
    hashCode() {
        return this.__ordinal;
    }
    /**
     * Compares this enumeration value with the other enumeration value by their ordinal value.
     *
     * @param other   the other enumeration value
     *
     * @returns a negative, zero or postive value as this enumeration value is less than, equal to
     *          or greater than the other enumeration value
     */
    compareTo(other) {
        return this.__ordinal - other.__ordinal;
    }
    /**
     * Returns an array with enumeration values.
     *
     * @returns the array with enumeration values
     */
    static values() {
        return [...this.all_values_by_ordinal];
    }
    /**
     * Returns the enumeration value with the specified name.
     *
     * @param name   the name of the enumeration value
     *
     * @returns the enumeration values or null
     */
    static valueOf(name) {
        let tmp = this.all_values_by_name.get(name);
        return (!tmp) ? null : tmp;
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.types.statkue.LehrerLehrbefaehigung'].includes(name);
    }
}
exports.LehrerLehrbefaehigung = LehrerLehrbefaehigung;
function cast_de_nrw_schule_svws_core_types_statkue_LehrerLehrbefaehigung(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_types_statkue_LehrerLehrbefaehigung = cast_de_nrw_schule_svws_core_types_statkue_LehrerLehrbefaehigung;
//# sourceMappingURL=LehrerLehrbefaehigung.js.map