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.
|
| 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.
|
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 Anmeldung