Class Listen

java.lang.Object
at.letto.tools.Listen

public class Listen extends Object
  • Constructor Details

    • Listen

      public Listen()
  • Method Details

    • change

      public static <T extends IdEntity> void change(List<T> change, List<T> newVals)
      Ersetzt in der ersten Liste alle Objekte mit Elementen aus der zweiten Liste, wo die IDs übereinstimmen (Wenn IDs passt, dann wird in der Liste change das Objekt mit der entsprechenden ID aus der Liste l2 ersetzt
      Type Parameters:
      T - Objekte der Listen müssen Interface IdEntity implementiert haben
      Parameters:
      change - zu ändernde Liste
      newVals - Liste mit geänderten DTOs, die und andere Liste gespeichert werden sollen
    • remove

      public static <T extends IdEntity> void remove(List<T> change, List<T> del)
      Löschen von Objekten aus Liste
      Type Parameters:
      T - Interface IdEntity: Klasse muss Getter mit getId() haben
      Parameters:
      change - Liste, aus der gelöscht werden soll
      del - zu löschende Elemente
    • removeNotContaing

      public static <T extends IdEntity> void removeNotContaing(List<T> change, int id, Function<T,Integer> selId)
      Entfernen van allen Listen-Elementen, wo eine ID nicht passend ist
      Type Parameters:
      T - Elemented der Liste müssen Interface IdEntity implementiert haben
      Parameters:
      change - List, die geändert/kontrolliert werden soll
      id - ID, die erfüllt sein muss
      selId - Getter-Methode des Objekts, die die zu kontrollierende ID liefert
    • remove

      public static <T extends IdEntity> void remove(List<T> change, IdEntity l2)
      Löschen eines Objects mit ID
      Type Parameters:
      T - Interface IdEntity: Klasse muss Getter mit getId() haben
      Parameters:
      change - Liste, aus der gelöscht werden soll
      l2 - zu löschendes Element
    • indexOf

      public static <T extends IdEntity> int indexOf(List<T> list, int id)
      Bestimmung des Indexes eines Objekts (IdEntity) in einer Liste
      Type Parameters:
      T - Typ generisch
      Parameters:
      list - Zu durchsuchende Liste von DTOs
      id - ID, die gesucht wird
      Returns:
      Index oder -1, wenn die ID nicht gefunden wurde
    • add

      public static <T extends IdEntity> void add(List<T> list, T item)
      Hinzufügen eines Elements mit einer ID. Die ID in der Liste soll eindeutig sein. Deswegen wird bei gleicher ID das Element ersetzt, sonst hibzugefügt.
      Type Parameters:
      T - Typ generisch
      Parameters:
      list - List, zu der Element hinzugefügt wird
      item - Neuer Eintrag (Änderung oder neu)
    • get

      public static <T extends IdEntity> T get(List<T> list, int id)
      Scuhen eines Elements in der Liste nach dessen ID
      Type Parameters:
      T - Typ generisch
      Parameters:
      list - Zu suchende Liste
      id - ID des DTO-Objekts
      Returns:
      gefundenes Listenelement oder null
    • get

      public static <T extends IdEntity> T get(List<T> list, int id, Function<T,Integer> searchCol)
    • detectChanges

      public static <T extends IdEntity> ChangeLists<T> detectChanges(List<T> save, List<T> orig, BiPredicate<T,T> eq)
      Ermittlung der Unterschiede von zwei Listen von Objekten
      Type Parameters:
      T - Klasse mit implementiertem Interface IdEntity (getId)
      Parameters:
      save - Liste mit Objekten, die gespeichert gehören
      orig - Original-Liste, meistens Liste mit DTOs aus Datebnbank geladen
      eq - Optional: BiPredicate-Funktion zum Vergleich von Objekten, ob im DTO eine Änderung erfolgte ist eq null, dann wird equals zurm Vergleich herangezogen
      Returns:
      3 Listen (add, del und change), geben an welche DTOs in DB hinzugefügt, gelöscht oder geändert werden sollen
    • detectChanges

      public static <T extends IdEntity, T1 extends IdEntity> ChangeLists<T> detectChanges(List<T> save, List<T1> orig)
      Ermittlung von einzufügenden Objekten und zu Objekten, die zu löschen sind. Es erfolgt keine Gleichheitsprüfung. Die Listen können unterschiedliche Datentypen enthalten, verglichen werden die IDs der Objekte. (Alle Objekte müssen IdEntity implementiert haben!)
      Type Parameters:
      T - Klasse mit implementiertem Interface IdEntity (getId)
      T1 - Klasse mit implementiertem Interface IdEntity (getId)
      Parameters:
      save - Liste mit Objekten, die gespeichert gehören
      orig - Original-Liste, die an save angepasst werden soll
      Returns:
      3 Listen (add, del und change), geben an welche DTOs in DB hinzugefügt, gelöscht oder geändert werden sollen
    • removeElementsNonUnique

      public static <T extends Unique> List<T> removeElementsNonUnique(List<T> list, boolean first)
      Entfernen von Elementen, die den selben Unique-String haben. ACHTUNG: Die URSPRUNGSLISTE wird NICHT verändert!
      Type Parameters:
      T - Elemnte der Liste müssen das Interface Unique implementiert haben: Liefert einen String mit dem Unique-Beuzeichner, der eindeutig sein soll
      Parameters:
      list - Zu bearbeitende Liste
      first - true: das erste gefundene Element bleibt erhalten, sonst das letzte
      Returns:
      Liste mit Objekten, wobei alle mehrdeutigkeiten entfernt wurden
    • removeElementsNonUniqueStatic

      public static <T extends IdEntity> List<T> removeElementsNonUniqueStatic(List<T> list, Function<T,String> unique, boolean first)
      Entfernen von Elementen, die den selben Unique-String haben ACHTUNG: Die URSPRUNGSLISTE wird NICHT verändert!
      Type Parameters:
      T - Elemnte der Liste müssen das Interface Unique implementiert haben: Liefert einen String mit dem Unique-Beuzeichner, der eindeutig sein soll
      Parameters:
      list - Zu bearbeitende Liste
      unique - Statische Funktion mit Parameter IdEntity: Function-Interface, das aus dem Objekt einen UNIQUE-String zurückgibt, der eindeutig sein muss.
      first - true: das erste gefundene Element bleibt erhalten, sonst das letzte
      Returns:
      Liste mit Objekten, wobei alle mehrdeutigkeiten entfernt wurden
    • removeElementsNonUnique

      public static <T extends IdEntity> List<T> removeElementsNonUnique(List<T> list, Function<T,String> unique, boolean first)
      Entfernen von Elementen, die den selben Unique-String haben ACHTUNG: Die URSPRUNGSLISTE wird NICHT verändert!
      Type Parameters:
      T - Elemnte der Liste müssen das Interface Unique implementiert haben: Liefert einen String mit dem Unique-Beuzeichner, der eindeutig sein soll
      Parameters:
      list - Zu bearbeitende Liste
      unique - Function-Interface (Instanzmethode), das aus dem Objekt einen UNIQUE-String zurückgibt, der eindeutig sein muss
      first - true: das erste gefundene Element bleibt erhalten, sonst das letzte
      Returns:
      Liste mit Objekten, wobei alle mehrdeutigkeiten entfernt wurden
    • sqlUpdateSort

      public static <T extends IdEntity> String sqlUpdateSort(List<T> list, Function<T,Integer> getter)
      Sortierung einer Liste in der Datenbank: Methode liefert ids und sort-Order für spätere Update-Query
      Type Parameters:
      T - Typ generisch
      Parameters:
      list - sortierte Liste
      getter - Getter auf Sortierungsspalte
      Returns:
      String mit ids und sortOrter in der Form (id1, sort1),(id2,sort2),....
    • sortColumn

      public static <T extends IdEntity> void sortColumn(List<T> list, BiConsumer<T,Integer> setter)
      Nachtragen einer SortColumn im Objekt aufgrund der aktuellen Reihenfolge
      Type Parameters:
      T - Typ generisch
      Parameters:
      list - sortierte Liste
      setter - Methodenreferenz auf Setter der sortColumn
    • vereinigungsmenge

      public static <T> List<T> vereinigungsmenge(List<T> list1, List<T> list2)
    • sortColumn

      public static <T extends IdEntity> void sortColumn(List<T> list)