Class DOTItemManager<E extends DisplayObjectType.DisplayObjectTypeItem>
java.lang.Object
de.kappich.pat.gnd.displayObjectToolkit.DOTItemManager<E>
- Direct Known Subclasses:
DynamicDOTItemManager
Eine Klasse zur Verwaltung von DisplayObjectItems.
Ein DOTItemManager dient zur Verwaltung von DisplayObjectTypeItems einer Eigenschaft (Property
) 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 (get(int)
).
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
Die Klasse DisplayObjectTypeItemWithInterval kapselt ein Paar bestehend aus einem Interval und einem Item. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
containsKey
(String key) Gibttrue
zurück, wennkey
ein gültiger Schlüssel für eine TreeMap ist.get
(int index) Liefert Item und Interval aus der Listenverwaltung des Managers für den Index.Gibt die TreeMap zu dem Schlüsselkey
zurück odernull
.getAttributeNames
(DOTSubscriptionData subscriptionData) Gibt die Menge aller Attributnamen zurück, für die von mindestens einem Item zu subscriptionData Daten benötigt werden.Gibt die Menge der Indizes aus der Listenverwaltung des Managers zurück, für die ein anderes überlappendes Interval existiert.getKeyString
(DOTSubscriptionData data, String attributeName) Der Schlüssel-String eines Items bzw. der übergebenen Daten entsteht durch Aneinanderhängung von Attributgruppenname, Aspekt und Attributname, wobei jeweils ein Punkt als Trennzeichen verwendet wird.Gibt eine Read-Only-Menge mit allen Anmeldeinformation des Managers zurück.Gibt eine Read-Only-Ansicht aller internen TreeMaps zurück.boolean
hasSubscriptionData
(DOTSubscriptionData subscriptionData) Gibttrue
zurück, wenn es mindestens eines der verwalteten Items ein Anmeldung auf subscriptionData benötigt, sonstfalse
.void
Fügt das Item für das Interval hinzu.keySet()
Gibt die möglichen Zugriffsschlüssel für die Methodeget(String)
), die eine TreeMap liefert, zurück.void
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.toString()
-
Field Details
-
_displayObjectTypesItemMap
-
-
Constructor Details
-
DOTItemManager
public DOTItemManager()Initialisiert einen leeren Manager.
-
-
Method Details
-
getTreeMaps
Gibt eine Read-Only-Ansicht aller internen TreeMaps zurück. Jede solche TreeMap speichert für eine Anmeldung die notwendigen Intervalle mit zugehörigen Items.- Returns:
- gibt eine Read-Only-Ansicht aller internen TreeMaps zurück
-
getSubscriptionData
Gibt eine Read-Only-Menge mit allen Anmeldeinformation des Managers zurück.- Returns:
- gibt eine Read-Only-Menge mit allen Anmeldeinformation des Managers zurück
-
hasSubscriptionData
Gibttrue
zurück, wenn es mindestens eines der verwalteten Items ein Anmeldung auf subscriptionData benötigt, sonstfalse
.- Parameters:
subscriptionData
- eine Anmeldung- Returns:
true
genau dann, wenn die Anmeldung benötigt wird
-
getAttributeNames
Gibt die Menge aller Attributnamen zurück, für die von mindestens einem Item zu subscriptionData Daten benötigt werden.- Parameters:
subscriptionData
- eine Anmeldung- Returns:
- die verwendeten Attributnamen zu der Anmeldung
-
size
public 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. Dient im Wesentlichen zur Begrenzung von Vorschleifen.- Returns:
- die Anzahl von Items
-
keySet
Gibt die möglichen Zugriffsschlüssel für die Methodeget(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. auchgetKeyString(de.kappich.pat.gnd.displayObjectToolkit.DOTSubscriptionData, java.lang.String)
).- Returns:
- alle Zugriffsschlüssel der Methode
get(String)
)
-
get
Gibt die TreeMap zu dem Schlüsselkey
zurück odernull
. Ein solcher Zugriffsschlüssel besteht aus den aneinandergehängter und nur durch Punkt getrennten Attributgruppenname, Aspektname und Attributname ((s. auchgetKeyString(de.kappich.pat.gnd.displayObjectToolkit.DOTSubscriptionData, java.lang.String)
).- Parameters:
key
- ein Zugriffsschlüssel- Returns:
- eine TreeMap, die Intervallen Items zuordnet
-
containsKey
Gibttrue
zurück, wennkey
ein gültiger Schlüssel für eine TreeMap ist.- Parameters:
key
- ein Zugriffsschlüssel- Returns:
true
genau dann, wenn zum Schlüssel eine TreeMap existiert
-
put
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.- Parameters:
interval
- ein Intervallitem
- ein Item
-
insert
Fügt das Item für das Interval hinzu.- Parameters:
interval
- ein Intervallitem
- ein Item
-
get
Liefert Item und Interval aus der Listenverwaltung des Managers für den Index.- Parameters:
index
- ein Index zwischen 0 und size()-1- Returns:
- das entsprechende DisplayObjectTypeItemWithInterval
-
remove
public void remove(int index) Entfernt Item und Interval aus der Listenverwaltung des Managers für den Index.- Parameters:
index
- ein Index zwischen 0 und size()-1
-
getKeyString
Der Schlüssel-String eines Items bzw. der übergebenen Daten entsteht durch Aneinanderhängung von Attributgruppenname, Aspekt und Attributname, wobei jeweils ein Punkt als Trennzeichen verwendet wird. Als Attributnamen kommen aber nicht nur die tatsächlichen Attribute der Attributgruppe in Frage, sondern auch spezielle Zeichenketten zur Verwaltung der Stati für 'leere Daten', 'keine Daten', 'keine Quelle' und 'keine Rechte' ( diese sind statische Member von DynamicDefinitionComponent).- Parameters:
data
- eine AnmeldungattributeName
- ein Attributname zu dieser Anmeldung
-
getConflictingRows
Gibt die Menge der Indizes aus der Listenverwaltung des Managers zurück, für die ein anderes überlappendes Interval existiert.- Returns:
- die Menge von Indizes überlappender Intervalle
-
toString
-