"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungErgebnisFehler = exports.GostBelegpruefungErgebnisFehler = void 0;
const JavaObject_1 = require("../../../java/lang/JavaObject");
const GostBelegpruefungsArt_1 = require("../../../core/abschluss/gost/GostBelegpruefungsArt");
const GostBelegungsfehler_1 = require("../../../core/abschluss/gost/GostBelegungsfehler");
class GostBelegpruefungErgebnisFehler extends JavaObject_1.JavaObject {
    code = "";
    art = "";
    beschreibung = "";
    /**
     * Implementation for method overloads of 'constructor'
     */
    constructor(__param0, __param1) {
        super();
        if (((typeof __param0 !== "undefined") && ((__param0 instanceof JavaObject_1.JavaObject) && (__param0.isTranspiledInstanceOf('de.nrw.schule.svws.core.abschluss.gost.GostBelegungsfehler')))) && ((typeof __param1 !== "undefined") && ((__param1 instanceof JavaObject_1.JavaObject) && (__param1.isTranspiledInstanceOf('de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefungsArt'))))) {
            let f = (0, GostBelegungsfehler_1.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegungsfehler)(__param0);
            let pruef_art = (0, GostBelegpruefungsArt_1.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungsArt)(__param1);
            this.code = f.toString();
            this.art = f.getArt().kuerzel;
            this.beschreibung = f.getText(pruef_art);
        }
        else if ((typeof __param0 === "undefined") && (typeof __param1 === "undefined")) {
        }
        else
            throw new Error('invalid method overload');
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefungErgebnisFehler'].includes(name);
    }
    static transpilerFromJSON(json) {
        const obj = JSON.parse(json);
        const result = new GostBelegpruefungErgebnisFehler();
        if (typeof obj.code === "undefined")
            throw new Error('invalid json format, missing attribute code');
        result.code = obj.code;
        if (typeof obj.art === "undefined")
            throw new Error('invalid json format, missing attribute art');
        result.art = obj.art;
        if (typeof obj.beschreibung === "undefined")
            throw new Error('invalid json format, missing attribute beschreibung');
        result.beschreibung = obj.beschreibung;
        return result;
    }
    static transpilerToJSON(obj) {
        let result = '{';
        result += '"code" : ' + '"' + obj.code.valueOf() + '"' + ',';
        result += '"art" : ' + '"' + obj.art.valueOf() + '"' + ',';
        result += '"beschreibung" : ' + '"' + obj.beschreibung.valueOf() + '"' + ',';
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
    static transpilerToJSONPatch(obj) {
        let result = '{';
        if (typeof obj.code !== "undefined") {
            result += '"code" : ' + '"' + obj.code.valueOf() + '"' + ',';
        }
        if (typeof obj.art !== "undefined") {
            result += '"art" : ' + '"' + obj.art.valueOf() + '"' + ',';
        }
        if (typeof obj.beschreibung !== "undefined") {
            result += '"beschreibung" : ' + '"' + obj.beschreibung.valueOf() + '"' + ',';
        }
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
}
exports.GostBelegpruefungErgebnisFehler = GostBelegpruefungErgebnisFehler;
function cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungErgebnisFehler(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungErgebnisFehler = cast_de_nrw_schule_svws_core_abschluss_gost_GostBelegpruefungErgebnisFehler;
//# sourceMappingURL=GostBelegpruefungErgebnisFehler.js.map