import { JavaObject, cast_java_lang_Object } from '../../../java/lang/JavaObject'; import { KursblockungOutputKursZuSchiene, cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungOutputKursZuSchiene } from '../../../core/data/kursblockung/KursblockungOutputKursZuSchiene'; import { Vector, cast_java_util_Vector } from '../../../java/util/Vector'; import { KursblockungOutputFachwahlZuKurs, cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungOutputFachwahlZuKurs } from '../../../core/data/kursblockung/KursblockungOutputFachwahlZuKurs'; export class KursblockungOutput extends JavaObject { public blockungsRevision : number = -1; public input : number = 0; public kursZuSchiene : Vector = new Vector(); public fachwahlenZuKurs : Vector = new Vector(); public constructor() { super(); } isTranspiledInstanceOf(name : string): boolean { return ['de.nrw.schule.svws.core.data.kursblockung.KursblockungOutput'].includes(name); } public static transpilerFromJSON(json : string): KursblockungOutput { const obj = JSON.parse(json); const result = new KursblockungOutput(); if (typeof obj.blockungsRevision === "undefined") throw new Error('invalid json format, missing attribute blockungsRevision'); result.blockungsRevision = obj.blockungsRevision; if (typeof obj.input === "undefined") throw new Error('invalid json format, missing attribute input'); result.input = obj.input; if (!!obj.kursZuSchiene) { for (let elem of obj.kursZuSchiene) { result.kursZuSchiene?.add(KursblockungOutputKursZuSchiene.transpilerFromJSON(JSON.stringify(elem))); } } if (!!obj.fachwahlenZuKurs) { for (let elem of obj.fachwahlenZuKurs) { result.fachwahlenZuKurs?.add(KursblockungOutputFachwahlZuKurs.transpilerFromJSON(JSON.stringify(elem))); } } return result; } public static transpilerToJSON(obj : KursblockungOutput) : string { let result = '{'; result += '"blockungsRevision" : ' + obj.blockungsRevision + ','; result += '"input" : ' + obj.input + ','; if (!obj.kursZuSchiene) { result += '[]'; } else { result += '[ '; for (let i : number = 0; i < obj.kursZuSchiene.size(); i++) { let elem = obj.kursZuSchiene.get(i); result += KursblockungOutputKursZuSchiene.transpilerToJSON(elem); if (i < obj.kursZuSchiene.size() - 1) result += ','; } result += ' ]' + ','; } if (!obj.fachwahlenZuKurs) { result += '[]'; } else { result += '[ '; for (let i : number = 0; i < obj.fachwahlenZuKurs.size(); i++) { let elem = obj.fachwahlenZuKurs.get(i); result += KursblockungOutputFachwahlZuKurs.transpilerToJSON(elem); if (i < obj.fachwahlenZuKurs.size() - 1) result += ','; } result += ' ]' + ','; } result = result.slice(0, -1); result += '}'; return result; } public static transpilerToJSONPatch(obj : Partial) : string { let result = '{'; if (typeof obj.blockungsRevision !== "undefined") { result += '"blockungsRevision" : ' + obj.blockungsRevision + ','; } if (typeof obj.input !== "undefined") { result += '"input" : ' + obj.input + ','; } if (typeof obj.kursZuSchiene !== "undefined") { if (!obj.kursZuSchiene) { result += '[]'; } else { result += '[ '; for (let i : number = 0; i < obj.kursZuSchiene.size(); i++) { let elem = obj.kursZuSchiene.get(i); result += KursblockungOutputKursZuSchiene.transpilerToJSON(elem); if (i < obj.kursZuSchiene.size() - 1) result += ','; } result += ' ]' + ','; } } if (typeof obj.fachwahlenZuKurs !== "undefined") { if (!obj.fachwahlenZuKurs) { result += '[]'; } else { result += '[ '; for (let i : number = 0; i < obj.fachwahlenZuKurs.size(); i++) { let elem = obj.fachwahlenZuKurs.get(i); result += KursblockungOutputFachwahlZuKurs.transpilerToJSON(elem); if (i < obj.fachwahlenZuKurs.size() - 1) result += ','; } result += ' ]' + ','; } } result = result.slice(0, -1); result += '}'; return result; } } export function cast_de_nrw_schule_svws_core_data_kursblockung_KursblockungOutput(obj : unknown) : KursblockungOutput { return obj as KursblockungOutput; }