Class ObjIdMap<T>

java.lang.Object
de.bsvrz.puk.config.configFile.fileaccess.ObjIdMap<T>

public class ObjIdMap<T>
extends java.lang.Object
Map von Objekt-ID zu Typ T. Diese Map entspricht grob einer LinkedHashMap<Long, T>, unterstützt aber mehrere doppelte Keys. Grund:

jemand fragt beispielsweise mit DataModel.getObjects(long...) folgendes Array ab:

[1,3,1,1,2]

Um für temporäre Operationen eine Map von dieser ID zu z. B. einem Systemobjekt anzulegen, darf die Anfrage nicht in [1,3,2] reduziert werden, weil dann der Anfrager falsche Ergebnisse erhält.

Daher bietet diese map eine Möglichkeit, die ursprüngliche Reihenfolge und evtl. Doppelungen beizubehalten. Die Methode put(long, Object) aktualisiert immer alle Vorkommen einer ID.

  • Constructor Summary

    Constructors
    Constructor Description
    ObjIdMap​(long[] ids)
    Erstellt eine neue ObjIdMap
    ObjIdMap​(java.util.List<java.lang.Long> ids)
    Erstellt eine neue ObjIdMap
  • Method Summary

    Modifier and Type Method Description
    long[] getIds()
    Gibt die IDs wieder zurück
    void put​(long id, T value)
    ordnet einer ID ein Objekt vom Typ T zu.
    java.util.List<T> values()
    Gibt die Werte zurück, die den ursprünglichen IDs zugeordnet wurden.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • ObjIdMap

      public ObjIdMap​(java.util.List<java.lang.Long> ids)
      Erstellt eine neue ObjIdMap
      Parameters:
      ids - IDs in Originalreihenfolge
    • ObjIdMap

      public ObjIdMap​(long[] ids)
      Erstellt eine neue ObjIdMap
      Parameters:
      ids - IDs in Originalreihenfolge
  • Method Details

    • put

      public void put​(long id, T value)
      ordnet einer ID ein Objekt vom Typ T zu.
      Parameters:
      id - ID
      value - Wert
    • getIds

      public long[] getIds()
      Gibt die IDs wieder zurück
      Returns:
      IDs
    • values

      public java.util.List<T> values()
      Gibt die Werte zurück, die den ursprünglichen IDs zugeordnet wurden. Die Anzahl und Reihenfolge entspricht dem ursprünglichen Array, daher können auch Objekte doppelt zurückgegeben werden.
      Returns:
      Werte