Klasse FunktionBuilder

java.lang.Object
de.svws_nrw.module.reporting.sortierung.FunktionBuilder

public final class FunktionBuilder extends Object
Die Klasse FunktionenBuilder stellt Methoden zur Verfügung, um Transformationen und Verarbeitungsschritte für Wertermittlungsfunktionen bei der Sortierung zu erzeugen. Diese Klasse ist nicht instanziierbar und dient ausschließlich als Utility-Klasse. Mit ihr können null-sichere Verarbeitungsfunktionen erstellt und verkettet werden.
  • Verschachtelte Klassen - Übersicht

    Verschachtelte Klassen
    Modifizierer und Typ
    Klasse
    Beschreibung
    static final record 
    Die Klasse Sortierschritt dient als Baustein für die Erstellung einer transformierenden Sortierlogik.
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    static <T, R> Function<T,R>
    firstNonNull(Function<T,R>... alternativfunktionen)
    Nimmt eine Reihe von Funktionen und versucht, den ersten nicht-null Rückgabewert zurückzugeben, den eine der Funktionen liefert.
    Gibt eine neue Teilfunktion für eine zusammengesetze Wertermittlungsfunktion bei der Sortierung zurück.
    static <T, A> FunktionBuilder.Teilfunktion<T,A>
    start(Function<? super T,? extends A> f1)
    Startet einen null-sicheren Sortierpfad mit einer ersten Getter-/Extraktionsfunktion.

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Methodendetails

    • identity

      public static <T> FunktionBuilder.Teilfunktion<T,T> identity()
      Gibt eine neue Teilfunktion für eine zusammengesetze Wertermittlungsfunktion bei der Sortierung zurück. Diese kapselt die Identitätsfunktion. Diese Funktion gibt den Eingabewert unverändert zurück.
      Typparameter:
      T - Der Typ des Eingabewerts und des Rückgabewerts
      Gibt zurück:
      Ein neuer Sortierschritt, der die Identitätsfunktion repräsentiert
    • start

      public static <T, A> FunktionBuilder.Teilfunktion<T,A> start(Function<? super T,? extends A> f1)
      Startet einen null-sicheren Sortierpfad mit einer ersten Getter-/Extraktionsfunktion. Dies ist der Einstiegspunkt für verschachtelte Sortierkriterien. Ab hier können weitere Getter mit then(...) angehängt werden (z. B. auswahlLernabschnitt → klasse → kuerzel). Ist das Eingabeobjekt null, liefert der Pfad null als Sortierschlüssel, wodurch der Comparator (z. B. nullsLast) das finale Verhalten bestimmt. Beispiel: Comparator cmp = Comparator.comparing(Sortierungsfunktion.start(Schueler::auswahlLernabschnitt).then(Lernabschnitt::klasse).then(Klasse::kuerzel).toFunction(), Comparator.nullsLast(deutscherCollator));
      Typparameter:
      T - Der Typ des Eingabeobjekts der Transformation
      A - Der Typ des Ausgabeobjekts nach der Transformations
      Parameter:
      f1 - Erste Getter-/Transformationsfunktion (z. B. obj -> obj.getAuswahlLernabschnitt())
      Gibt zurück:
      Ein neuer Sortierschritt, der die angegebene Transformation null-sicher ausführt
    • firstNonNull

      @SafeVarargs public static <T, R> Function<T,R> firstNonNull(Function<T,R>... alternativfunktionen)
      Nimmt eine Reihe von Funktionen und versucht, den ersten nicht-null Rückgabewert zurückzugeben, den eine der Funktionen liefert. Falls alle Funktionen null zurückgeben, wird null zurückgegeben. Beispiel: registry.registiereString("klasseMitFallback", FunktionBuilder.firstNonNull( FunktionBuilder.start(ReportingSchueler::auswahlLernabschnitt) .then(ReportingSchuelerLernabschnitt::klasse) .then(ReportingKlasse::kuerzel) .toFunction(), FunktionBuilder.start(ReportingSchueler::aktuellerLernabschnitt) .then(ReportingSchuelerLernabschnitt::klasse) .then(ReportingKlasse::kuerzel) .toFunction())
      Typparameter:
      T - Der Typ des Eingabewerts, den die Funktionen akzeptieren
      R - Der Typ des Rückgabewerts, den die Funktionen liefern
      Parameter:
      alternativfunktionen - Die Funktionen, die nacheinander ausgewertet werden, bis eine Funktion einen nicht-null Rückgabewert liefert
      Gibt zurück:
      Eine Funktion, die den ersten nicht-null Rückgabewert der gegebenen Funktionen zurückgibt oder null, falls alle Funktionen null zurückgeben