public class DOTItemManager<E extends DisplayObjectType.DisplayObjectTypeItem> extends Object
Ein DOTItemManager dient zur Verwaltung von DisplayObjectTypeItems einer Eigenschaft
(DOTProperty
) oder eines Paars bestehend aus einer Grundfigur
und einer Eigenschaft (PrimitiveFormPropertyPair
). Der DOTItemManager stellt
mehrere effiziente Zugriffsmöglichkeiten zur Verfügung, die im Umfeld mit
Datenverteiler-Anwendungen benötigt werden. Dies sind z.B. die Menge aller notwendigen
Anmeldungen (s. getSubscriptionData()), die Intervalle mit zugehörigen Items einer Anmeldung
(#getTreemaps
und #get(String)) und die Verwaltung aller Items mit ihren Intervalls in
einer Liste ({@link #get( int)}).
Modifier and Type | Class and Description |
---|---|
class |
DOTItemManager.DisplayObjectTypeItemWithInterval
Die Klasse DisplayObjectTypeItemWithInterval kapselt ein Paar bestehend aus einem
Interval und einem Item.
|
private static class |
DOTItemManager.PutOperation |
Modifier and Type | Field and Description |
---|---|
protected Map<DOTSubscriptionData,List<String>> |
_attributeNames |
protected List<DOTItemManager.DisplayObjectTypeItemWithInterval> |
_displayObjectTypesItemList |
protected Map<String,TreeMap<Interval<Double>,E>> |
_displayObjectTypesItemMap |
Constructor and Description |
---|
DOTItemManager()
Initialisiert einen leeren Manager.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsKey(String key)
Gibt
true zurück, wenn key ein gültiger Schlüssel für eine TreeMap ist. |
DOTItemManager.DisplayObjectTypeItemWithInterval |
get(int index)
Liefert Item und Interval aus der Listenverwaltung des Managers für den Index.
|
TreeMap<Interval<Double>,E> |
get(String key)
Gibt die TreeMap zu dem Schlüssel
key zurück oder null . |
List<String> |
getAttributeNames(DOTSubscriptionData subscriptionData)
Gibt die Menge aller Attributnamen zurück, für die von mindestens einem Item
zu subscriptionData Daten benötigt werden.
|
Set<Integer> |
getConflictingRows()
Gibt die Menge der Indizes aus der Listenverwaltung des Managers zurück,
für die ein anderes überlappendes Interval existiert.
|
String |
getKeyString(DOTSubscriptionData data,
String attributeName)
Der Schlüssel-String eines Items bzw.
|
Set<DOTSubscriptionData> |
getSubscriptionData()
Gibt eine Read-Only-Menge mit allen Anmeldeinformation des Managers zurück.
|
Collection<TreeMap<Interval<Double>,E>> |
getTreeMaps()
Gibt eine Read-Only-Ansicht aller internen TreeMaps zurück.
|
boolean |
hasSubscriptionData(DOTSubscriptionData subscriptionData)
Gibt
true zurück, wenn es mindestens eines der verwalteten Items ein Anmeldung
auf subscriptionData benötigt, sonst false . |
void |
insert(Interval<Double> interval,
E item)
Fügt das Item für das Interval hinzu.
|
private void |
internalInsert(Interval<Double> interval,
E item) |
private DOTItemManager.PutOperation |
internalPut(Interval<Double> interval,
E item) |
Set<String> |
keySet()
Gibt die möglichen Zugriffsschlüssel für die Methode
#get( String ), die eine TreeMap
liefert, zurück. |
void |
put(Interval<Double> interval,
E item)
Fügt dem Manager das Item für das Werteintervall hinzu oder macht ein Update des Items,
wenn für die Anmeldedaten des Items (getAttributeGroup, getAspect) das Interval bereits
benutzt wird.
|
void |
remove(int index)
Entfernt Item und Interval aus der Listenverwaltung des Managers für den Index.
|
int |
size()
Gibt die Anzahl der Items in der Liste zurück, die gleichzeitig auch die Summe
der Anzahl der Items über alle TreeMaps ist.
|
protected Map<DOTSubscriptionData,List<String>> _attributeNames
protected Map<String,TreeMap<Interval<Double>,E extends DisplayObjectType.DisplayObjectTypeItem>> _displayObjectTypesItemMap
protected List<DOTItemManager.DisplayObjectTypeItemWithInterval> _displayObjectTypesItemList
public Collection<TreeMap<Interval<Double>,E>> getTreeMaps()
public Set<DOTSubscriptionData> getSubscriptionData()
public boolean hasSubscriptionData(DOTSubscriptionData subscriptionData)
true
zurück, wenn es mindestens eines der verwalteten Items ein Anmeldung
auf subscriptionData benötigt, sonst false
.subscriptionData
- eine Anmeldungtrue
genau dann, wenn die Anmeldung benötigt wirdpublic List<String> getAttributeNames(DOTSubscriptionData subscriptionData)
subscriptionData
- eine Anmeldungpublic int size()
public Set<String> keySet()
#get( String
), die eine TreeMap
liefert, zurück. Ein solcher Zugriffsschlüssel besteht aus den aneinandergehängter und nur durch
Punkt getrennten Attributgruppenname, Aspektname und Attributname (s. auch getKeyString(de.kappich.pat.gnd.displayObjectToolkit.DOTSubscriptionData, java.lang.String)
).#get( String
)public TreeMap<Interval<Double>,E> get(String key)
key
zurück oder null
. Ein solcher
Zugriffsschlüssel besteht aus den aneinandergehängter und nur durch Punkt getrennten
Attributgruppenname, Aspektname und Attributname ((s. auch getKeyString(de.kappich.pat.gnd.displayObjectToolkit.DOTSubscriptionData, java.lang.String)
).key
- ein Zugriffsschlüsselpublic boolean containsKey(String key)
true
zurück, wenn key
ein gültiger Schlüssel für eine TreeMap ist.ein
- Zugriffsschlüsseltrue
genau dann, wenn zum Schlüssel eine TreeMap existiertpublic void put(Interval<Double> interval, E item)
interval
- ein Intervallitem
- ein Itempublic void insert(Interval<Double> interval, E item)
interval
- ein Intervallitem
- ein Itempublic DOTItemManager.DisplayObjectTypeItemWithInterval get(int index)
index
- ein Index zwischen 0 und size()-1public void remove(int index)
index
- ein Index zwischen 0 und size()-1public String getKeyString(DOTSubscriptionData data, String attributeName)
data
- eine AnmeldungattributeName
- ein Attributname zu dieser Anmeldungprivate DOTItemManager.PutOperation internalPut(Interval<Double> interval, E item)