Klasse Comparators

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

public final class Comparators extends Object
Eine Hilfsklasse zur Erstellung und Nutzung von vordefinierten und zusammengesetzten Comparator Instanzen. Diese Comparatoren erlauben die flexible und mehrschichtige Sortierung von Objekten und unterstützen sowohl Strings mit deutschen Lokalisierungseinstellungen als auch generische Werte, die das Interface Comparable implementieren. Die Klasse ist unveränderlich und kann nicht instanziiert werden.
  • Methodendetails

    • stringComparatorDeutsch

      public static Comparator<String> stringComparatorDeutsch()
      Erstellt einen Comparator für Strings basierend auf der deutschen Spracheinstellung. Die Sortierung erfolgt unter Beachtung der sekundären Stärke (z. B. wird die Groß-/Kleinschreibung ignoriert, Umlaute werden korrekt berücksichtigt). Null-Werte werden dabei zuletzt sortiert.
      Gibt zurück:
      Ein Comparator, der Strings gemäß der deutschen Sprachregelung sortiert, wobei null-Werte zuletzt eingeordnet werden.
    • stringComparator

      public static <T> Comparator<T> stringComparator(Function<T,String> wertermittlungsfunktion, boolean sortiereAufsteigend)
      Erstellt einen Comparator für Objekte des Typs T, basierend auf einem String-Wert, der durch die angegebene Funktion geliefert wird. Die Sortierung erfolgt in aufsteigender oder absteigender Reihenfolge, abhängig vom angegebenen Flag.
      Typparameter:
      T - Der Typ der Objekte, die verglichen werden sollen
      Parameter:
      wertermittlungsfunktion - Eine Funktion, die für ein Objekt vom Typ T ein String-Feld extrahiert, welches für die Sortierung verwendet wird
      sortiereAufsteigend - Ein boolean-Flag, das bestimmt, ob in aufsteigender (true) oder absteigender (false) Reihenfolge sortiert werden soll
      Gibt zurück:
      Ein Comparator, der Objekte des Typs T unter Verwendung des extrahierten Strings sortiert, abhängig von der angegebenen Sortierrichtung
    • comparableComparator

      public static <T, U extends Comparable<? super U>> Comparator<T> comparableComparator(Function<T,U> wertermittlungsfunktion, boolean sortiereAufsteigend)
      Erstellt einen Comparator für Objekte des Typs T, basierend auf einem Wert vom Typ U, der durch die angegebene Funktion extrahiert wird. Der zu vergleichende Wert muss das Interface Comparable implementieren. Null-Werte werden zuletzt sortiert. Die Sortierung kann in aufsteigender oder, falls angegeben, absteigender Reihenfolge erfolgen.
      Typparameter:
      T - Der Typ der Objekte, die verglichen werden sollen
      U - Der Typ des von wertermittlungsfunktion extrahierten Wertes, der verglichen wird. Dieser Typ muss Comparable implementieren.
      Parameter:
      wertermittlungsfunktion - Eine Funktion, die für ein Objekt vom Typ T einen vergleichbaren Wert vom Typ U extrahiert
      sortiereAufsteigend - Ein boolean-Flag, das angibt, ob in aufsteigender (true) oder absteigender (false) Reihenfolge sortiert werden soll
      Gibt zurück:
      Ein Comparator, der Objekte des Typs T anhand des extrahierten vergleichbaren Wertes sortiert, abhängig von der angegebenen Sortierrichtung
    • verketten

      public static <T> Comparator<T> verketten(List<Comparator<T>> comparators)
      Verkettet eine Liste von Comparator Objekten, sodass sie nacheinander zur Sortierung verwendet werden. Jeder übergebene Comparator wird dabei in der Reihenfolge der Iteration berücksichtigt.
      Typparameter:
      T - Der Typ der Objekte, die verglichen werden sollen
      Parameter:
      comparators - Eine Liste von Comparator Objekten, die verkettet werden sollen
      Gibt zurück:
      Ein Comparator, der die übergebenen Comparatoren in der definierten Reihenfolge verwendet