"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_data_gost_AbiturKursMarkierung = exports.AbiturKursMarkierung = void 0;
const JavaObject_1 = require("../../../java/lang/JavaObject");
class AbiturKursMarkierung extends JavaObject_1.JavaObject {
    fuerBerechnung = false;
    aufAbiturZeugnis = false;
    /**
     * Implementation for method overloads of 'constructor'
     */
    constructor(__param0, __param1) {
        super();
        if ((typeof __param0 === "undefined") && (typeof __param1 === "undefined")) {
            this.fuerBerechnung = false;
            this.aufAbiturZeugnis = true;
        }
        else if (((typeof __param0 !== "undefined") && typeof __param0 === "boolean") && (typeof __param1 === "undefined")) {
            let fuerBerechnung = __param0;
            this.fuerBerechnung = fuerBerechnung;
            this.aufAbiturZeugnis = true;
        }
        else if (((typeof __param0 !== "undefined") && typeof __param0 === "boolean") && ((typeof __param1 !== "undefined") && typeof __param1 === "boolean")) {
            let fuerBerechnung = __param0;
            let aufAbiturZeugnis = __param1;
            this.fuerBerechnung = fuerBerechnung;
            this.aufAbiturZeugnis = aufAbiturZeugnis;
        }
        else
            throw new Error('invalid method overload');
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.data.gost.AbiturKursMarkierung'].includes(name);
    }
    static transpilerFromJSON(json) {
        const obj = JSON.parse(json);
        const result = new AbiturKursMarkierung();
        if (typeof obj.fuerBerechnung === "undefined")
            throw new Error('invalid json format, missing attribute fuerBerechnung');
        result.fuerBerechnung = obj.fuerBerechnung;
        if (typeof obj.aufAbiturZeugnis === "undefined")
            throw new Error('invalid json format, missing attribute aufAbiturZeugnis');
        result.aufAbiturZeugnis = obj.aufAbiturZeugnis;
        return result;
    }
    static transpilerToJSON(obj) {
        let result = '{';
        result += '"fuerBerechnung" : ' + obj.fuerBerechnung + ',';
        result += '"aufAbiturZeugnis" : ' + obj.aufAbiturZeugnis + ',';
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
    static transpilerToJSONPatch(obj) {
        let result = '{';
        if (typeof obj.fuerBerechnung !== "undefined") {
            result += '"fuerBerechnung" : ' + obj.fuerBerechnung + ',';
        }
        if (typeof obj.aufAbiturZeugnis !== "undefined") {
            result += '"aufAbiturZeugnis" : ' + obj.aufAbiturZeugnis + ',';
        }
        result = result.slice(0, -1);
        result += '}';
        return result;
    }
}
exports.AbiturKursMarkierung = AbiturKursMarkierung;
function cast_de_nrw_schule_svws_core_data_gost_AbiturKursMarkierung(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_data_gost_AbiturKursMarkierung = cast_de_nrw_schule_svws_core_data_gost_AbiturKursMarkierung;
//# sourceMappingURL=AbiturKursMarkierung.js.map