AbschlussFaecherGruppen.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen = exports.AbschlussFaecherGruppen = void 0;
  4. const JavaObject_1 = require("../../../java/lang/JavaObject");
  5. const StringBuilder_1 = require("../../../java/lang/StringBuilder");
  6. const Predicate_1 = require("../../../java/util/function/Predicate");
  7. class AbschlussFaecherGruppen extends JavaObject_1.JavaObject {
  8. fg1;
  9. fg2;
  10. /**
  11. * Erzeugt eine neues Objekt AbschlussFaecherGruppen
  12. *
  13. * @param fg1 die Fächergruppe 1
  14. * @param fg2 die Fächergruppe 2
  15. */
  16. constructor(fg1, fg2) {
  17. super();
  18. this.fg1 = fg1;
  19. this.fg2 = fg2;
  20. }
  21. /**
  22. * Prüft, ob eine der beiden Fächergruppen leer ist.
  23. *
  24. * @return true, falls eine der beiden Fächergruppen leer ist.
  25. */
  26. isEmpty() {
  27. return this.fg1 === null || this.fg2 === null || this.fg1.isEmpty() || this.fg2.isEmpty();
  28. }
  29. /**
  30. * Prüft, ob das Fach mit dem angegebenen Fachkürzel in einer der beiden
  31. * Fächergruppen enthalten ist oder nicht.
  32. *
  33. * @param kuerzel das Kürzel des Faches, welches geprüft werden soll.
  34. *
  35. * @return true, falls das Fach vorhanden ist, und ansonsten false
  36. */
  37. contains(kuerzel) {
  38. return this.fg1.contains(kuerzel) || this.fg2.contains(kuerzel);
  39. }
  40. /**
  41. * Bestimmt alle Fächer beider Fächergruppen, welche dem übergebenen
  42. * Filterkriterium entsprechen.
  43. *
  44. * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt.
  45. *
  46. * @return eine Liste der Fächer, die dem Filterkriterium entsprechen
  47. */
  48. getFaecher(filter) {
  49. let faecher = this.fg1.getFaecher(filter);
  50. faecher.addAll(this.fg2.getFaecher(filter));
  51. return faecher;
  52. }
  53. /**
  54. * Gibt die Anzahl der Fächer beider Fächergruppen zurück, welche dem übergebenen
  55. * Filterkriterium entsprechen.
  56. *
  57. * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt.
  58. *
  59. * @return die Anzahl der Fächer
  60. */
  61. getFaecherAnzahl(filter) {
  62. return this.fg1.getFaecherAnzahl(filter) + this.fg2.getFaecherAnzahl(filter);
  63. }
  64. /**
  65. * Bestimmt die Kürzel aller Fächer beider Fächergruppen, welche dem übergebenen
  66. * Filterkriterium entsprechen.
  67. *
  68. * @param filter die Funktion, die das Kriterium für die gesuchten Fächer angibt.
  69. *
  70. * @return eine Liste der Kürzel der Fächer, die dem Filterkriterium entsprechen
  71. */
  72. getKuerzel(filter) {
  73. let faecher = this.fg1.getKuerzel(filter);
  74. faecher.addAll(this.fg2.getKuerzel(filter));
  75. return faecher;
  76. }
  77. /**
  78. * Implementation for method overloads of 'getKuerzelListe'
  79. */
  80. getKuerzelListe(__param0, __param1) {
  81. if (((typeof __param0 !== "undefined") && ((typeof __param0 !== 'undefined') && (__param0 instanceof Object) && (__param0 !== null) && ('test' in __param0) && (typeof __param0.test === 'function')) || (__param0 === null)) && (typeof __param1 === "undefined")) {
  82. let filter = (0, Predicate_1.cast_java_util_function_Predicate)(__param0);
  83. let sb = new StringBuilder_1.StringBuilder();
  84. let faecher = this.getKuerzel(filter);
  85. for (let fach of faecher) {
  86. if (sb.length() > 0)
  87. sb.append(", ");
  88. sb.append(fach);
  89. }
  90. return sb.toString();
  91. }
  92. else if (((typeof __param0 !== "undefined") && ((typeof __param0 !== 'undefined') && (__param0 instanceof Object) && (__param0 !== null) && ('test' in __param0) && (typeof __param0.test === 'function')) || (__param0 === null)) && ((typeof __param1 !== "undefined") && ((typeof __param1 !== 'undefined') && (__param1 instanceof Object) && (__param1 !== null) && ('test' in __param1) && (typeof __param1.test === 'function')) || (__param1 === null))) {
  93. let filterFG1 = (0, Predicate_1.cast_java_util_function_Predicate)(__param0);
  94. let filterFG2 = (0, Predicate_1.cast_java_util_function_Predicate)(__param1);
  95. let sb = new StringBuilder_1.StringBuilder();
  96. let faecherFG1 = this.fg1.getKuerzel(filterFG1);
  97. let faecherFG2 = this.fg2.getKuerzel(filterFG2);
  98. for (let fach of faecherFG1) {
  99. if (sb.length() > 0)
  100. sb.append(", ");
  101. sb.append(fach);
  102. }
  103. for (let fach of faecherFG2) {
  104. if (sb.length() > 0)
  105. sb.append(", ");
  106. sb.append(fach);
  107. }
  108. return sb.toString();
  109. }
  110. else
  111. throw new Error('invalid method overload');
  112. }
  113. isTranspiledInstanceOf(name) {
  114. return ['de.nrw.schule.svws.core.abschluss.ge.AbschlussFaecherGruppen'].includes(name);
  115. }
  116. }
  117. exports.AbschlussFaecherGruppen = AbschlussFaecherGruppen;
  118. function cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen(obj) {
  119. return obj;
  120. }
  121. exports.cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen = cast_de_nrw_schule_svws_core_abschluss_ge_AbschlussFaecherGruppen;
  122. //# sourceMappingURL=AbschlussFaecherGruppen.js.map