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
-
Method Summary
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
ordnet einer ID ein Objekt vom Typ T zu.- Parameters:
id
- IDvalue
- Wert
-
getIds
public long[] getIds()Gibt die IDs wieder zurück- Returns:
- IDs
-
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
-