Sprachendaten.ts 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. import { JavaObject, cast_java_lang_Object } from '../../java/lang/JavaObject';
  2. import { Sprachbelegung, cast_de_nrw_schule_svws_core_data_Sprachbelegung } from '../../core/data/Sprachbelegung';
  3. import { Sprachpruefung, cast_de_nrw_schule_svws_core_data_Sprachpruefung } from '../../core/data/Sprachpruefung';
  4. import { Vector, cast_java_util_Vector } from '../../java/util/Vector';
  5. export class Sprachendaten extends JavaObject {
  6. public schuelerID : number = 0;
  7. public belegungen : Vector<Sprachbelegung> = new Vector();
  8. public pruefungen : Vector<Sprachpruefung> = new Vector();
  9. public constructor() {
  10. super();
  11. }
  12. isTranspiledInstanceOf(name : string): boolean {
  13. return ['de.nrw.schule.svws.core.data.Sprachendaten'].includes(name);
  14. }
  15. public static transpilerFromJSON(json : string): Sprachendaten {
  16. const obj = JSON.parse(json);
  17. const result = new Sprachendaten();
  18. if (typeof obj.schuelerID === "undefined")
  19. throw new Error('invalid json format, missing attribute schuelerID');
  20. result.schuelerID = obj.schuelerID;
  21. if (!!obj.belegungen) {
  22. for (let elem of obj.belegungen) {
  23. result.belegungen?.add(Sprachbelegung.transpilerFromJSON(JSON.stringify(elem)));
  24. }
  25. }
  26. if (!!obj.pruefungen) {
  27. for (let elem of obj.pruefungen) {
  28. result.pruefungen?.add(Sprachpruefung.transpilerFromJSON(JSON.stringify(elem)));
  29. }
  30. }
  31. return result;
  32. }
  33. public static transpilerToJSON(obj : Sprachendaten) : string {
  34. let result = '{';
  35. result += '"schuelerID" : ' + obj.schuelerID + ',';
  36. if (!obj.belegungen) {
  37. result += '[]';
  38. } else {
  39. result += '[ ';
  40. for (let i : number = 0; i < obj.belegungen.size(); i++) {
  41. let elem = obj.belegungen.get(i);
  42. result += Sprachbelegung.transpilerToJSON(elem);
  43. if (i < obj.belegungen.size() - 1)
  44. result += ',';
  45. }
  46. result += ' ]' + ',';
  47. }
  48. if (!obj.pruefungen) {
  49. result += '[]';
  50. } else {
  51. result += '[ ';
  52. for (let i : number = 0; i < obj.pruefungen.size(); i++) {
  53. let elem = obj.pruefungen.get(i);
  54. result += Sprachpruefung.transpilerToJSON(elem);
  55. if (i < obj.pruefungen.size() - 1)
  56. result += ',';
  57. }
  58. result += ' ]' + ',';
  59. }
  60. result = result.slice(0, -1);
  61. result += '}';
  62. return result;
  63. }
  64. public static transpilerToJSONPatch(obj : Partial<Sprachendaten>) : string {
  65. let result = '{';
  66. if (typeof obj.schuelerID !== "undefined") {
  67. result += '"schuelerID" : ' + obj.schuelerID + ',';
  68. }
  69. if (typeof obj.belegungen !== "undefined") {
  70. if (!obj.belegungen) {
  71. result += '[]';
  72. } else {
  73. result += '[ ';
  74. for (let i : number = 0; i < obj.belegungen.size(); i++) {
  75. let elem = obj.belegungen.get(i);
  76. result += Sprachbelegung.transpilerToJSON(elem);
  77. if (i < obj.belegungen.size() - 1)
  78. result += ',';
  79. }
  80. result += ' ]' + ',';
  81. }
  82. }
  83. if (typeof obj.pruefungen !== "undefined") {
  84. if (!obj.pruefungen) {
  85. result += '[]';
  86. } else {
  87. result += '[ ';
  88. for (let i : number = 0; i < obj.pruefungen.size(); i++) {
  89. let elem = obj.pruefungen.get(i);
  90. result += Sprachpruefung.transpilerToJSON(elem);
  91. if (i < obj.pruefungen.size() - 1)
  92. result += ',';
  93. }
  94. result += ' ]' + ',';
  95. }
  96. }
  97. result = result.slice(0, -1);
  98. result += '}';
  99. return result;
  100. }
  101. }
  102. export function cast_de_nrw_schule_svws_core_data_Sprachendaten(obj : unknown) : Sprachendaten {
  103. return obj as Sprachendaten;
  104. }