"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_data_schueler_SchuelerLernabschnittsdaten = exports.SchuelerLernabschnittsdaten = void 0;
const JavaObject_1 = require("../../../java/lang/JavaObject");
const SchuelerLeistungsdaten_1 = require("../../../core/data/schueler/SchuelerLeistungsdaten");
const SchuelerLernabschnittNachpruefungsdaten_1 = require("../../../core/data/schueler/SchuelerLernabschnittNachpruefungsdaten");
const SchuelerLernabschnittBemerkungen_1 = require("../../../core/data/schueler/SchuelerLernabschnittBemerkungen");
const Vector_1 = require("../../../java/util/Vector");
class SchuelerLernabschnittsdaten extends JavaObject_1.JavaObject {
    id = 0;
    schuelerID = 0;
    schuljahresabschnitt = 0;
    wechselNr = null;
    datumAnfang = null;
    datumEnde = null;
    datumKonferenz = null;
    datumZeugnis = null;
    anzahlSchulbesuchsjahre = null;
    istGewertet = true;
    istWiederholung = false;
    pruefungsOrdnung = "";
    klassenID = -1;
    folgeklassenID = null;
    schulgliederung = null;
    jahrgangID = -1;
    fachklasseID = null;
    schwerpunktID = null;
    organisationsform = null;
    Klassenart = "RK";
    fehlstundenGesamt = 0;
    fehlstundenUnentschuldigt = 0;
    fehlstundenGrenzwert = null;
    hatSchwerbehinderungsNachweis = false;
    hatAOSF = false;
    hatAutismus = false;
    hatZieldifferentenUnterricht = false;
    foerderschwerpunkt1ID = null;
    foerderschwerpunkt2ID = null;
    sonderpaedagogeID = null;
    bilingualerZweig = null;
    istFachpraktischerAnteilAusreichend = true;
    versetzungsvermerk = null;
    noteDurchschnitt = null;
    noteLernbereichGSbzwAL = null;
    noteLernbereichNW = null;
    abschlussart = null;
    istAbschlussPrognose = false;
    abschluss = null;
    abschlussBerufsbildend = null;
    textErgebnisPruefungsalgorithmus = null;
    zeugnisart = null;
    nachpruefungen = null;
    bemerkungen = new SchuelerLernabschnittBemerkungen_1.SchuelerLernabschnittBemerkungen();
    leistungsdaten = new Vector_1.Vector();
    constructor() {
        super();
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.data.schueler.SchuelerLernabschnittsdaten'].includes(name);
    }
    static transpilerFromJSON(json) {
        const obj = JSON.parse(json);
        const result = new SchuelerLernabschnittsdaten();
        if (typeof obj.id === "undefined")
            throw new Error('invalid json format, missing attribute id');
        result.id = obj.id;
        if (typeof obj.schuelerID === "undefined")
            throw new Error('invalid json format, missing attribute schuelerID');
        result.schuelerID = obj.schuelerID;
        if (typeof obj.schuljahresabschnitt === "undefined")
            throw new Error('invalid json format, missing attribute schuljahresabschnitt');
        result.schuljahresabschnitt = obj.schuljahresabschnitt;
        result.wechselNr = typeof obj.wechselNr === "undefined" ? null : obj.wechselNr;
        result.datumAnfang = typeof obj.datumAnfang === "undefined" ? null : obj.datumAnfang;
        result.datumEnde = typeof obj.datumEnde === "undefined" ? null : obj.datumEnde;
        result.datumKonferenz = typeof obj.datumKonferenz === "undefined" ? null : obj.datumKonferenz;
        result.datumZeugnis = typeof obj.datumZeugnis === "undefined" ? null : obj.datumZeugnis;
        result.anzahlSchulbesuchsjahre = typeof obj.anzahlSchulbesuchsjahre === "undefined" ? null : obj.anzahlSchulbesuchsjahre;
        if (typeof obj.istGewertet === "undefined")
            throw new Error('invalid json format, missing attribute istGewertet');
        result.istGewertet = obj.istGewertet;
        if (typeof obj.istWiederholung === "undefined")
            throw new Error('invalid json format, missing attribute istWiederholung');
        result.istWiederholung = obj.istWiederholung;
        if (typeof obj.pruefungsOrdnung === "undefined")
            throw new Error('invalid json format, missing attribute pruefungsOrdnung');
        result.pruefungsOrdnung = obj.pruefungsOrdnung;
        if (typeof obj.klassenID === "undefined")
            throw new Error('invalid json format, missing attribute klassenID');
        result.klassenID = obj.klassenID;
        result.folgeklassenID = typeof obj.folgeklassenID === "undefined" ? null : obj.folgeklassenID;
        result.schulgliederung = typeof obj.schulgliederung === "undefined" ? null : obj.schulgliederung;
        if (typeof obj.jahrgangID === "undefined")
            throw new Error('invalid json format, missing attribute jahrgangID');
        result.jahrgangID = obj.jahrgangID;
        result.fachklasseID = typeof obj.fachklasseID === "undefined" ? null : obj.fachklasseID;
        result.schwerpunktID = typeof obj.schwerpunktID === "undefined" ? null : obj.schwerpunktID;
        result.organisationsform = typeof obj.organisationsform === "undefined" ? null : obj.organisationsform;
        result.Klassenart = typeof obj.Klassenart === "undefined" ? null : obj.Klassenart;
        if (typeof obj.fehlstundenGesamt === "undefined")
            throw new Error('invalid json format, missing attribute fehlstundenGesamt');
        result.fehlstundenGesamt = obj.fehlstundenGesamt;
        if (typeof obj.fehlstundenUnentschuldigt === "undefined")
            throw new Error('invalid json format, missing attribute fehlstundenUnentschuldigt');
        result.fehlstundenUnentschuldigt = obj.fehlstundenUnentschuldigt;
        result.fehlstundenGrenzwert = typeof obj.fehlstundenGrenzwert === "undefined" ? null : obj.fehlstundenGrenzwert;
        if (typeof obj.hatSchwerbehinderungsNachweis === "undefined")
            throw new Error('invalid json format, missing attribute hatSchwerbehinderungsNachweis');
        result.hatSchwerbehinderungsNachweis = obj.hatSchwerbehinderungsNachweis;
        if (typeof obj.hatAOSF === "undefined")
            throw new Error('invalid json format, missing attribute hatAOSF');
        result.hatAOSF = obj.hatAOSF;
        if (typeof obj.hatAutismus === "undefined")
            throw new Error('invalid json format, missing attribute hatAutismus');
        result.hatAutismus = obj.hatAutismus;
        if (typeof obj.hatZieldifferentenUnterricht === "undefined")
            throw new Error('invalid json format, missing attribute hatZieldifferentenUnterricht');
        result.hatZieldifferentenUnterricht = obj.hatZieldifferentenUnterricht;
        result.foerderschwerpunkt1ID = typeof obj.foerderschwerpunkt1ID === "undefined" ? null : obj.foerderschwerpunkt1ID;
        result.foerderschwerpunkt2ID = typeof obj.foerderschwerpunkt2ID === "undefined" ? null : obj.foerderschwerpunkt2ID;
        result.sonderpaedagogeID = typeof obj.sonderpaedagogeID === "undefined" ? null : obj.sonderpaedagogeID;
        result.bilingualerZweig = typeof obj.bilingualerZweig === "undefined" ? null : obj.bilingualerZweig;
        if (typeof obj.istFachpraktischerAnteilAusreichend === "undefined")
            throw new Error('invalid json format, missing attribute istFachpraktischerAnteilAusreichend');
        result.istFachpraktischerAnteilAusreichend = obj.istFachpraktischerAnteilAusreichend;
        result.versetzungsvermerk = typeof obj.versetzungsvermerk === "undefined" ? null : obj.versetzungsvermerk;
        result.noteDurchschnitt = typeof obj.noteDurchschnitt === "undefined" ? null : obj.noteDurchschnitt;
        result.noteLernbereichGSbzwAL = typeof obj.noteLernbereichGSbzwAL === "undefined" ? null : obj.noteLernbereichGSbzwAL;
        result.noteLernbereichNW = typeof obj.noteLernbereichNW === "undefined" ? null : obj.noteLernbereichNW;
        result.abschlussart = typeof obj.abschlussart === "undefined" ? null : obj.abschlussart;
        if (typeof obj.istAbschlussPrognose === "undefined")
            throw new Error('invalid json format, missing attribute istAbschlussPrognose');
        result.istAbschlussPrognose = obj.istAbschlussPrognose;
        result.abschluss = typeof obj.abschluss === "undefined" ? null : obj.abschluss;
        result.abschlussBerufsbildend = typeof obj.abschlussBerufsbildend === "undefined" ? null : obj.abschlussBerufsbildend;
        result.textErgebnisPruefungsalgorithmus = typeof obj.textErgebnisPruefungsalgorithmus === "undefined" ? null : obj.textErgebnisPruefungsalgorithmus;
        result.zeugnisart = typeof obj.zeugnisart === "undefined" ? null : obj.zeugnisart;
        result.nachpruefungen = typeof obj.nachpruefungen === "undefined" ? null : SchuelerLernabschnittNachpruefungsdaten_1.SchuelerLernabschnittNachpruefungsdaten.transpilerFromJSON(JSON.stringify(obj.nachpruefungen));
        if (typeof obj.bemerkungen === "undefined")
            throw new Error('invalid json format, missing attribute bemerkungen');
        result.bemerkungen = SchuelerLernabschnittBemerkungen_1.SchuelerLernabschnittBemerkungen.transpilerFromJSON(JSON.stringify(obj.bemerkungen));
        if (!!obj.leistungsdaten) {
            for (let elem of obj.leistungsdaten) {
                result.leistungsdaten?.add(SchuelerLeistungsdaten_1.SchuelerLeistungsdaten.transpilerFromJSON(JSON.stringify(elem)));
            }
        }
        return result;
    }
    static transpilerToJSON(obj) {
        let result = '{';
        result += '"id" : ' + obj.id + ',';
        result += '"schuelerID" : ' + obj.schuelerID + ',';
        result += '"schuljahresabschnitt" : ' + obj.schuljahresabschnitt + ',';
        result += '"wechselNr" : ' + ((!obj.wechselNr) ? 'null' : obj.wechselNr.valueOf()) + ',';
        result += '"datumAnfang" : ' + ((!obj.datumAnfang) ? 'null' : '"' + obj.datumAnfang.valueOf() + '"') + ',';
        result += '"datumEnde" : ' + ((!obj.datumEnde) ? 'null' : '"' + obj.datumEnde.valueOf() + '"') + ',';
        result += '"datumKonferenz" : ' + ((!obj.datumKonferenz) ? 'null' : '"' + obj.datumKonferenz.valueOf() + '"') + ',';
        result += '"datumZeugnis" : ' + ((!obj.datumZeugnis) ? 'null' : '"' + obj.datumZeugnis.valueOf() + '"') + ',';
        result += '"anzahlSchulbesuchsjahre" : ' + ((!obj.anzahlSchulbesuchsjahre) ? 'null' : obj.anzahlSchulbesuchsjahre.valueOf()) + ',';
        result += '"istGewertet" : ' + obj.istGewertet + ',';
        result += '"istWiederholung" : ' + obj.istWiederholung + ',';
        result += '"pruefungsOrdnung" : ' + '"' + obj.pruefungsOrdnung.valueOf() + '"' + ',';
        result += '"klassenID" : ' + obj.klassenID + ',';
        result += '"folgeklassenID" : ' + ((!obj.folgeklassenID) ? 'null' : obj.folgeklassenID.valueOf()) + ',';
        result += '"schulgliederung" : ' + ((!obj.schulgliederung) ? 'null' : '"' + obj.schulgliederung.valueOf() + '"') + ',';
        result += '"jahrgangID" : ' + obj.jahrgangID + ',';
        result += '"fachklasseID" : ' + ((!obj.fachklasseID) ? 'null' : obj.fachklasseID.valueOf()) + ',';
        result += '"schwerpunktID" : ' + ((!obj.schwerpunktID) ? 'null' : obj.schwerpunktID.valueOf()) + ',';
        result += '"organisationsform" : ' + ((!obj.organisationsform) ? 'null' : '"' + obj.organisationsform.valueOf() + '"') + ',';
        result += '"Klassenart" : ' + ((!obj.Klassenart) ? 'null' : '"' + obj.Klassenart.valueOf() + '"') + ',';
        result += '"fehlstundenGesamt" : ' + obj.fehlstundenGesamt + ',';
        result += '"fehlstundenUnentschuldigt" : ' + obj.fehlstundenUnentschuldigt + ',';
        result += '"fehlstundenGrenzwert" : ' + ((!obj.fehlstundenGrenzwert) ? 'null' : obj.fehlstundenGrenzwert.valueOf()) + ',';
        result += '"hatSchwerbehinderungsNachweis" : ' + obj.hatSchwerbehinderungsNachweis + ',';
        result += '"hatAOSF" : ' + obj.hatAOSF + ',';
        result += '"hatAutismus" : ' + obj.hatAutismus + ',';
        result += '"hatZieldifferentenUnterricht" : ' + obj.hatZieldifferentenUnterricht + ',';
        result += '"foerderschwerpunkt1ID" : ' + ((!obj.foerderschwerpunkt1ID) ? 'null' : obj.foerderschwerpunkt1ID.valueOf()) + ',';
        result += '"foerderschwerpunkt2ID" : ' + ((!obj.foerderschwerpunkt2ID) ? 'null' : obj.foerderschwerpunkt2ID.valueOf()) + ',';
        result += '"sonderpaedagogeID" : ' + ((!obj.sonderpaedagogeID) ? 'null' : obj.sonderpaedagogeID.valueOf()) + ',';
        result += '"bilingualerZweig" : ' + ((!obj.bilingualerZweig) ? 'null' : '"' + obj.bilingualerZweig.valueOf() + '"') + ',';
        result += '"istFachpraktischerAnteilAusreichend" : ' + obj.istFachpraktischerAnteilAusreichend + ',';
        result += '"versetzungsvermerk" : ' + ((!obj.versetzungsvermerk) ? 'null' : '"' + obj.versetzungsvermerk.valueOf() + '"') + ',';
        result += '"noteDurchschnitt" : ' + ((!obj.noteDurchschnitt) ? 'null' : '"' + obj.noteDurchschnitt.valueOf() + '"') + ',';
        result += '"noteLernbereichGSbzwAL" : ' + ((!obj.noteLernbereichGSbzwAL) ? 'null' : obj.noteLernbereichGSbzwAL.valueOf()) + ',';
        result += '"noteLernbereichNW" : ' + ((!obj.noteLernbereichNW) ? 'null' : obj.noteLernbereichNW.valueOf()) + ',';
        result += '"abschlussart" : ' + ((!obj.abschlussart) ? 'null' : obj.abschlussart.valueOf()) + ',';
        result += '"istAbschlussPrognose" : ' + obj.istAbschlussPrognose + ',';
        result += '"abschluss" : ' + ((!obj.abschluss) ? 'null' : '"' + obj.abschluss.valueOf() + '"') + ',';
        result += '"abschlussBerufsbildend" : ' + ((!obj.abschlussBerufsbildend) ? 'null' : '"' + obj.abschlussBerufsbildend.valueOf() + '"') + ',';
        result += '"textErgebnisPruefungsalgorithmus" : ' + ((!obj.textErgebnisPruefungsalgorithmus) ? 'null' : '"' + obj.textErgebnisPruefungsalgorithmus.valueOf() + '"') + ',';
        result += '"zeugnisart" : ' + ((!obj.zeugnisart) ? 'null' : '"' + obj.zeugnisart.valueOf() + '"') + ',';
        result += '"nachpruefungen" : ' + ((!obj.nachpruefungen) ? 'null' : SchuelerLernabschnittNachpruefungsdaten_1.SchuelerLernabschnittNachpruefungsdaten.transpilerToJSON(obj.nachpruefungen)) + ',';
        result += '"bemerkungen" : ' + SchuelerLernabschnittBemerkungen_1.SchuelerLernabschnittBemerkungen.transpilerToJSON(obj.bemerkungen) + ',';
        if (!obj.leistungsdaten) {
            result += '[]';
        }
        else {
            result += '[ ';
            for (let i = 0; i < obj.leistungsdaten.size(); i++) {
                let elem = obj.leistungsdaten.get(i);
                result += SchuelerLeistungsdaten_1.SchuelerLeistungsdaten.transpilerToJSON(elem);
                if (i < obj.leistungsdaten.size() - 1)
                    result += ',';
            }
            result += ' ]' + ',';
        }
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
    static transpilerToJSONPatch(obj) {
        let result = '{';
        if (typeof obj.id !== "undefined") {
            result += '"id" : ' + obj.id + ',';
        }
        if (typeof obj.schuelerID !== "undefined") {
            result += '"schuelerID" : ' + obj.schuelerID + ',';
        }
        if (typeof obj.schuljahresabschnitt !== "undefined") {
            result += '"schuljahresabschnitt" : ' + obj.schuljahresabschnitt + ',';
        }
        if (typeof obj.wechselNr !== "undefined") {
            result += '"wechselNr" : ' + ((!obj.wechselNr) ? 'null' : obj.wechselNr.valueOf()) + ',';
        }
        if (typeof obj.datumAnfang !== "undefined") {
            result += '"datumAnfang" : ' + ((!obj.datumAnfang) ? 'null' : '"' + obj.datumAnfang.valueOf() + '"') + ',';
        }
        if (typeof obj.datumEnde !== "undefined") {
            result += '"datumEnde" : ' + ((!obj.datumEnde) ? 'null' : '"' + obj.datumEnde.valueOf() + '"') + ',';
        }
        if (typeof obj.datumKonferenz !== "undefined") {
            result += '"datumKonferenz" : ' + ((!obj.datumKonferenz) ? 'null' : '"' + obj.datumKonferenz.valueOf() + '"') + ',';
        }
        if (typeof obj.datumZeugnis !== "undefined") {
            result += '"datumZeugnis" : ' + ((!obj.datumZeugnis) ? 'null' : '"' + obj.datumZeugnis.valueOf() + '"') + ',';
        }
        if (typeof obj.anzahlSchulbesuchsjahre !== "undefined") {
            result += '"anzahlSchulbesuchsjahre" : ' + ((!obj.anzahlSchulbesuchsjahre) ? 'null' : obj.anzahlSchulbesuchsjahre.valueOf()) + ',';
        }
        if (typeof obj.istGewertet !== "undefined") {
            result += '"istGewertet" : ' + obj.istGewertet + ',';
        }
        if (typeof obj.istWiederholung !== "undefined") {
            result += '"istWiederholung" : ' + obj.istWiederholung + ',';
        }
        if (typeof obj.pruefungsOrdnung !== "undefined") {
            result += '"pruefungsOrdnung" : ' + '"' + obj.pruefungsOrdnung.valueOf() + '"' + ',';
        }
        if (typeof obj.klassenID !== "undefined") {
            result += '"klassenID" : ' + obj.klassenID + ',';
        }
        if (typeof obj.folgeklassenID !== "undefined") {
            result += '"folgeklassenID" : ' + ((!obj.folgeklassenID) ? 'null' : obj.folgeklassenID.valueOf()) + ',';
        }
        if (typeof obj.schulgliederung !== "undefined") {
            result += '"schulgliederung" : ' + ((!obj.schulgliederung) ? 'null' : '"' + obj.schulgliederung.valueOf() + '"') + ',';
        }
        if (typeof obj.jahrgangID !== "undefined") {
            result += '"jahrgangID" : ' + obj.jahrgangID + ',';
        }
        if (typeof obj.fachklasseID !== "undefined") {
            result += '"fachklasseID" : ' + ((!obj.fachklasseID) ? 'null' : obj.fachklasseID.valueOf()) + ',';
        }
        if (typeof obj.schwerpunktID !== "undefined") {
            result += '"schwerpunktID" : ' + ((!obj.schwerpunktID) ? 'null' : obj.schwerpunktID.valueOf()) + ',';
        }
        if (typeof obj.organisationsform !== "undefined") {
            result += '"organisationsform" : ' + ((!obj.organisationsform) ? 'null' : '"' + obj.organisationsform.valueOf() + '"') + ',';
        }
        if (typeof obj.Klassenart !== "undefined") {
            result += '"Klassenart" : ' + ((!obj.Klassenart) ? 'null' : '"' + obj.Klassenart.valueOf() + '"') + ',';
        }
        if (typeof obj.fehlstundenGesamt !== "undefined") {
            result += '"fehlstundenGesamt" : ' + obj.fehlstundenGesamt + ',';
        }
        if (typeof obj.fehlstundenUnentschuldigt !== "undefined") {
            result += '"fehlstundenUnentschuldigt" : ' + obj.fehlstundenUnentschuldigt + ',';
        }
        if (typeof obj.fehlstundenGrenzwert !== "undefined") {
            result += '"fehlstundenGrenzwert" : ' + ((!obj.fehlstundenGrenzwert) ? 'null' : obj.fehlstundenGrenzwert.valueOf()) + ',';
        }
        if (typeof obj.hatSchwerbehinderungsNachweis !== "undefined") {
            result += '"hatSchwerbehinderungsNachweis" : ' + obj.hatSchwerbehinderungsNachweis + ',';
        }
        if (typeof obj.hatAOSF !== "undefined") {
            result += '"hatAOSF" : ' + obj.hatAOSF + ',';
        }
        if (typeof obj.hatAutismus !== "undefined") {
            result += '"hatAutismus" : ' + obj.hatAutismus + ',';
        }
        if (typeof obj.hatZieldifferentenUnterricht !== "undefined") {
            result += '"hatZieldifferentenUnterricht" : ' + obj.hatZieldifferentenUnterricht + ',';
        }
        if (typeof obj.foerderschwerpunkt1ID !== "undefined") {
            result += '"foerderschwerpunkt1ID" : ' + ((!obj.foerderschwerpunkt1ID) ? 'null' : obj.foerderschwerpunkt1ID.valueOf()) + ',';
        }
        if (typeof obj.foerderschwerpunkt2ID !== "undefined") {
            result += '"foerderschwerpunkt2ID" : ' + ((!obj.foerderschwerpunkt2ID) ? 'null' : obj.foerderschwerpunkt2ID.valueOf()) + ',';
        }
        if (typeof obj.sonderpaedagogeID !== "undefined") {
            result += '"sonderpaedagogeID" : ' + ((!obj.sonderpaedagogeID) ? 'null' : obj.sonderpaedagogeID.valueOf()) + ',';
        }
        if (typeof obj.bilingualerZweig !== "undefined") {
            result += '"bilingualerZweig" : ' + ((!obj.bilingualerZweig) ? 'null' : '"' + obj.bilingualerZweig.valueOf() + '"') + ',';
        }
        if (typeof obj.istFachpraktischerAnteilAusreichend !== "undefined") {
            result += '"istFachpraktischerAnteilAusreichend" : ' + obj.istFachpraktischerAnteilAusreichend + ',';
        }
        if (typeof obj.versetzungsvermerk !== "undefined") {
            result += '"versetzungsvermerk" : ' + ((!obj.versetzungsvermerk) ? 'null' : '"' + obj.versetzungsvermerk.valueOf() + '"') + ',';
        }
        if (typeof obj.noteDurchschnitt !== "undefined") {
            result += '"noteDurchschnitt" : ' + ((!obj.noteDurchschnitt) ? 'null' : '"' + obj.noteDurchschnitt.valueOf() + '"') + ',';
        }
        if (typeof obj.noteLernbereichGSbzwAL !== "undefined") {
            result += '"noteLernbereichGSbzwAL" : ' + ((!obj.noteLernbereichGSbzwAL) ? 'null' : obj.noteLernbereichGSbzwAL.valueOf()) + ',';
        }
        if (typeof obj.noteLernbereichNW !== "undefined") {
            result += '"noteLernbereichNW" : ' + ((!obj.noteLernbereichNW) ? 'null' : obj.noteLernbereichNW.valueOf()) + ',';
        }
        if (typeof obj.abschlussart !== "undefined") {
            result += '"abschlussart" : ' + ((!obj.abschlussart) ? 'null' : obj.abschlussart.valueOf()) + ',';
        }
        if (typeof obj.istAbschlussPrognose !== "undefined") {
            result += '"istAbschlussPrognose" : ' + obj.istAbschlussPrognose + ',';
        }
        if (typeof obj.abschluss !== "undefined") {
            result += '"abschluss" : ' + ((!obj.abschluss) ? 'null' : '"' + obj.abschluss.valueOf() + '"') + ',';
        }
        if (typeof obj.abschlussBerufsbildend !== "undefined") {
            result += '"abschlussBerufsbildend" : ' + ((!obj.abschlussBerufsbildend) ? 'null' : '"' + obj.abschlussBerufsbildend.valueOf() + '"') + ',';
        }
        if (typeof obj.textErgebnisPruefungsalgorithmus !== "undefined") {
            result += '"textErgebnisPruefungsalgorithmus" : ' + ((!obj.textErgebnisPruefungsalgorithmus) ? 'null' : '"' + obj.textErgebnisPruefungsalgorithmus.valueOf() + '"') + ',';
        }
        if (typeof obj.zeugnisart !== "undefined") {
            result += '"zeugnisart" : ' + ((!obj.zeugnisart) ? 'null' : '"' + obj.zeugnisart.valueOf() + '"') + ',';
        }
        if (typeof obj.nachpruefungen !== "undefined") {
            result += '"nachpruefungen" : ' + ((!obj.nachpruefungen) ? 'null' : SchuelerLernabschnittNachpruefungsdaten_1.SchuelerLernabschnittNachpruefungsdaten.transpilerToJSON(obj.nachpruefungen)) + ',';
        }
        if (typeof obj.bemerkungen !== "undefined") {
            result += '"bemerkungen" : ' + SchuelerLernabschnittBemerkungen_1.SchuelerLernabschnittBemerkungen.transpilerToJSON(obj.bemerkungen) + ',';
        }
        if (typeof obj.leistungsdaten !== "undefined") {
            if (!obj.leistungsdaten) {
                result += '[]';
            }
            else {
                result += '[ ';
                for (let i = 0; i < obj.leistungsdaten.size(); i++) {
                    let elem = obj.leistungsdaten.get(i);
                    result += SchuelerLeistungsdaten_1.SchuelerLeistungsdaten.transpilerToJSON(elem);
                    if (i < obj.leistungsdaten.size() - 1)
                        result += ',';
                }
                result += ' ]' + ',';
            }
        }
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
}
exports.SchuelerLernabschnittsdaten = SchuelerLernabschnittsdaten;
function cast_de_nrw_schule_svws_core_data_schueler_SchuelerLernabschnittsdaten(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_data_schueler_SchuelerLernabschnittsdaten = cast_de_nrw_schule_svws_core_data_schueler_SchuelerLernabschnittsdaten;
//# sourceMappingURL=SchuelerLernabschnittsdaten.js.map