Class ObjIdMap<T>
java.lang.Object
de.bsvrz.puk.config.configFile.fileaccess.ObjIdMap<T>
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 -
Method Summary
-
Constructor Details
-
ObjIdMap
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
-