Class 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

      All Methods Instance Methods Concrete Methods 
      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 Detail

      • 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 Detail

      • 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