java.lang.Object
de.kappich.pat.gnd.displayObjectToolkit.DOTItemManager<E>
Direct Known Subclasses:
DynamicDOTItemManager

public class DOTItemManager<E extends DisplayObjectType.DisplayObjectTypeItem>
extends java.lang.Object
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 Classes
    Modifier and Type Class Description
    class  DOTItemManager.DisplayObjectTypeItemWithInterval
    Die Klasse DisplayObjectTypeItemWithInterval kapselt ein Paar bestehend aus einem Interval und einem Item.
  • Field Summary

    Fields
    Modifier and Type Field Description
    protected java.util.Map<java.lang.String,​java.util.TreeMap<Interval<java.lang.Double>,​E>> _displayObjectTypesItemMap  
  • Constructor Summary

    Constructors
    Constructor Description
    DOTItemManager()
    Initialisiert einen leeren Manager.
  • Method Summary

    Modifier and Type Method Description
    boolean containsKey​(java.lang.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.
    java.util.TreeMap<Interval<java.lang.Double>,​E> get​(java.lang.String key)
    Gibt die TreeMap zu dem Schlüssel key zurück oder null.
    java.util.List<java.lang.String> getAttributeNames​(DOTSubscriptionData subscriptionData)
    Gibt die Menge aller Attributnamen zurück, für die von mindestens einem Item zu subscriptionData Daten benötigt werden.
    java.util.Set<java.lang.Integer> getConflictingRows()
    Gibt die Menge der Indizes aus der Listenverwaltung des Managers zurück, für die ein anderes überlappendes Interval existiert.
    java.lang.String getKeyString​(DOTSubscriptionData data, java.lang.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.
    java.util.Set<DOTSubscriptionData> getSubscriptionData()
    Gibt eine Read-Only-Menge mit allen Anmeldeinformation des Managers zurück.
    java.util.Collection<java.util.TreeMap<Interval<java.lang.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<java.lang.Double> interval, E item)
    Fügt das Item für das Interval hinzu.
    java.util.Set<java.lang.String> keySet()
    Gibt die möglichen Zugriffsschlüssel für die Methode get(String)), die eine TreeMap liefert, zurück.
    void put​(Interval<java.lang.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.
    java.lang.String toString()  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

  • Constructor Details

    • DOTItemManager

      public DOTItemManager()
      Initialisiert einen leeren Manager.
  • Method Details

    • getTreeMaps

      public java.util.Collection<java.util.TreeMap<Interval<java.lang.Double>,​E>> 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

      public java.util.Set<DOTSubscriptionData> 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

      public boolean hasSubscriptionData​(DOTSubscriptionData subscriptionData)
      Gibt true zurück, wenn es mindestens eines der verwalteten Items ein Anmeldung auf subscriptionData benötigt, sonst false.
      Parameters:
      subscriptionData - eine Anmeldung
      Returns:
      true genau dann, wenn die Anmeldung benötigt wird
    • getAttributeNames

      public java.util.List<java.lang.String> getAttributeNames​(DOTSubscriptionData subscriptionData)
      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

      public java.util.Set<java.lang.String> keySet()
      Gibt die möglichen Zugriffsschlüssel für die Methode 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)).
      Returns:
      alle Zugriffsschlüssel der Methode get(String))
    • get

      public java.util.TreeMap<Interval<java.lang.Double>,​E> get​(java.lang.String key)
      Gibt die TreeMap zu dem Schlüssel 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)).
      Parameters:
      key - ein Zugriffsschlüssel
      Returns:
      eine TreeMap, die Intervallen Items zuordnet
    • containsKey

      public boolean containsKey​(java.lang.String key)
      Gibt true zurück, wenn key 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

      public void put​(Interval<java.lang.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.
      Parameters:
      interval - ein Intervall
      item - ein Item
    • insert

      public void insert​(Interval<java.lang.Double> interval, E item)
      Fügt das Item für das Interval hinzu.
      Parameters:
      interval - ein Intervall
      item - 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

      public java.lang.String getKeyString​(DOTSubscriptionData data, java.lang.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. 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 Anmeldung
      attributeName - ein Attributname zu dieser Anmeldung
    • getConflictingRows

      public java.util.Set<java.lang.Integer> 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

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object