Interface DisplayObjectType

All Superinterfaces:
java.lang.Comparable<DisplayObjectType>
All Known Implementing Classes:
DefaultDisplayObjectType, DOTArea, DOTAsbNode, DOTComplex, DOTKm, DOTLine, DOTNeedle, DOTPoint, DOTRn, DOTStat

public interface DisplayObjectType
extends java.lang.Comparable<DisplayObjectType>
Das Interface für die Darstellungstypen der Plugins.

Der Name eines Darstellungstypen wird bei der Definition vom Benutzer festgelegt. Er wird als eindeutiges Erkennungszeichen in den Verwaltungsdialogen verwendet, und auch bei der Anzeige in der Legende. Außerdem hat ein Darstellungstyp eine 'Info', die als Tooltipp etwa in der Legende benutzt wird.

Ein Darstellungstyp legt fest wie die DisplayObjects eines Layers dargestellt werden. Darstellungstypen können Grundfiguren besitzen, müssen es aber nicht. Beispiele für Darstellungstypen ohne Grundfiguren sind DOTArea, DOTComplex und DOTLine. Bei diesen Klassen hängen alle Eigenschaften der Visualisierung (z.B. die Farbe) direkt am Darstellungstypen. Anders verhält es sich bei der Klasse DOTPoint: dieser Darstellungstyp hat selbst keine Eigenschaften, sondern ausschließlich benutzerdefinierte Grundfiguren (z.B. ein Rechteck festgelegter Größe) und nur an diesen hängen die Eigenschaften. Bei der Implementation sollte der Zugriff auf Eigenschaften, die direkt am Darstellungstypen hängen, durch null als Wert für die Grundfigur geschehen.

Jede Grundfigur hat einen Typ, der einerseits definiernde Größen (z.B. den Radius bei dem Typ Kreis), aber auch die möglichen Visualisierungs-Eigenschaften festlegt (z.B. die Füllfarbe).

Eine Visualisierungs-Eigenschaft ist entweder statisch, d.h. unveränderbar, oder dynamisch, d.h. sie verändert sich in Abhängigkeit von Online-Daten.

  • Nested Class Summary

    Nested Classes
    Modifier and Type Interface Description
    static interface  DisplayObjectType.DisplayObjectTypeItem
    Ein Interface für die kleinste Einheit beim Zuordnen von Anmeldedaten (Attributgruppe, Aspekt, Attribut) zu Eigenschaftswerten und deren Beschreibung.
  • Method Summary

    Modifier and Type Method Description
    void deletePreferences​(java.util.prefs.Preferences prefs)
    Löscht den DisplayObjectType unter dem übergebenen Knoten.
    java.util.List<java.lang.String> getAttributeNames​(java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData)
    Gibt die Attributnamen, für die Werte benötigt werden, zu der übergebenen Eigenschaft und der übergebenen Anmeldung zurück.
    DisplayObjectType getCopy​(java.lang.String name)
    Macht eine tiefe Kopie des DisplayObjectTypes und setzt den Namen um, falls der übergebene String nicht null ist.
    DisplayObjectType.DisplayObjectTypeItem getDisplayObjectTypeItemForState​(java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData, de.bsvrz.dav.daf.main.DataState dataState)
    Ist der Rückgabewert nicht null, so ist dieser DisplayObjectType.DisplayObjectTypeItem für die übergebenen Daten anwendbar.
    DisplayObjectTypePlugin getDisplayObjectTypePlugin()
    Gibt die Selebstbeschreibung des Plugins, zu dem dieser DisplayObjectType gehört, zurück.
    DisplayObjectType.DisplayObjectTypeItem getDOTItemForValue​(java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData, java.lang.String attributeName, double value)
    Ist der Rückgabewert nicht null, so ist dieser DisplayObjectType.DisplayObjectTypeItem für die übergebenen Daten anwendbar.
    java.util.List<Property> getDynamicProperties​(java.lang.String primitiveFormName)
    Zugriff auf alle dynamischen Properties der Grundfigur.
    java.lang.String getInfo()
    Getter für die Info.
    LegendTreeNodes getLegendTreeNodes()
    Erzeugt den Teilbaum der Legende, für diesen Darstellungstyp.
    java.lang.String getName()
    Getter für den Namen.
    java.lang.String getPrimitiveFormInfo​(java.lang.String primitiveFormName)
    Gibt die Kurzinfo zu der Grundfigur zurück.
    java.util.Set<java.lang.String> getPrimitiveFormNames()
    Zugriff auf alle auftretenden Grundfigurnamen.
    java.lang.String getPrimitiveFormType​(java.lang.String primitiveFormName)
    Gibt den Grundfigurtyp der Grundfigur zurück.
    java.util.Set<DOTSubscriptionData> getSubscriptionData()
    Gibt alle Anmeldungen, die dieser DisplayObjectTyp benötigt, zurück.
    java.util.Set<java.lang.String> getUsedColors()
    Gibt die Namen aller von diesem DisplayObject verwendeten Farben zurück.
    java.lang.Object getValueOfStaticProperty​(java.lang.String primitiveFormName, Property property)
    Gibt den Wert der übergebenen Property zurück, die gegebenenfalls zu der genannten Grundfigur gehört.
    void initializeFromPreferences​(java.util.prefs.Preferences prefs)
    Initialisiert den DisplayObjectType aus dem übergebenen Knoten.
    boolean isPropertyStatic​(java.lang.String primitiveFormName, Property property)
    Ist die Property zu der als Object übergebenen Grundfigur statisch, so erhält man true zurück; andernfalls ist die Eigenschaft dynamisch und man erhält false.
    void putPreferences​(java.util.prefs.Preferences prefs)
    Speichert die Informationen des DisplayObjectTypes unter dem übergebenen Knoten.
    void removePrimitiveForm​(java.lang.String primitiveFormName)
    Löscht die entsprechende Grundfigur.
    void setInfo​(java.lang.String info)
    Setter für die Info.
    void setName​(java.lang.String name)
    Setter für den Namen.
    void setPropertyStatic​(java.lang.String primitiveFormName, Property property, boolean b)
    Setzt die Eigenschaft statisch bzw dynamisch zu sein der übergebenen Eigenschaft, die gegebenenfalls zu der genannten Grundfigur gehört.
    void setValueOfDynamicProperty​(java.lang.String primitiveFormName, Property property, DisplayObjectType.DisplayObjectTypeItem dItem, java.lang.Double lowerBound, java.lang.Double upperBound)
    Setzt den Wert der übergebenen Property, die gegebenenfalls zu der genannten Grundfigur gehört, für das übergebene Intervall auf das übergebene DisplayObjectTypeItem.
    void setValueOfStaticProperty​(java.lang.String primitiveFormName, Property property, java.lang.Object value)
    Setzt den Wert der übergebenen Property, die gegebenenfalls zu der genannten Grundfigur gehört.

    Methods inherited from interface java.lang.Comparable

    compareTo
  • Method Details

    • getName

      java.lang.String getName()
      Getter für den Namen.
      Returns:
      der Name
    • setName

      void setName​(java.lang.String name)
      Setter für den Namen.
      Parameters:
      name - der neue Name
    • getInfo

      java.lang.String getInfo()
      Getter für die Info.
      Returns:
      die Kurzinfo
    • setInfo

      void setInfo​(java.lang.String info)
      Setter für die Info.
      Parameters:
      info - die Kurzinfo
    • getPrimitiveFormNames

      java.util.Set<java.lang.String> getPrimitiveFormNames()
      Zugriff auf alle auftretenden Grundfigurnamen.
      Returns:
      die Menge aller Grundfigurnamen
    • getPrimitiveFormType

      java.lang.String getPrimitiveFormType​(java.lang.String primitiveFormName)
      Gibt den Grundfigurtyp der Grundfigur zurück.
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      der Typ der Grundfigur
    • getPrimitiveFormInfo

      java.lang.String getPrimitiveFormInfo​(java.lang.String primitiveFormName)
      Gibt die Kurzinfo zu der Grundfigur zurück.
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      die Kurzinfo zu der Grundfigur
    • removePrimitiveForm

      void removePrimitiveForm​(java.lang.String primitiveFormName)
      Löscht die entsprechende Grundfigur.
      Parameters:
      primitiveFormName - der Name einer Grundfigur
    • getDynamicProperties

      java.util.List<Property> getDynamicProperties​(@Nullable java.lang.String primitiveFormName)
      Zugriff auf alle dynamischen Properties der Grundfigur.
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      die Liste aller dynamischen Eigenschaften der Grundfigur
    • isPropertyStatic

      boolean isPropertyStatic​(@Nullable java.lang.String primitiveFormName, Property property)
      Ist die Property zu der als Object übergebenen Grundfigur statisch, so erhält man true zurück; andernfalls ist die Eigenschaft dynamisch und man erhält false.
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      Returns:
      ist die Eigenschaft statisch?
    • setPropertyStatic

      void setPropertyStatic​(@Nullable java.lang.String primitiveFormName, Property property, boolean b)
      Setzt die Eigenschaft statisch bzw dynamisch zu sein der übergebenen Eigenschaft, die gegebenenfalls zu der genannten Grundfigur gehört. Diese Methode sollte so implementiert werden, dass sie beim Ändern die nicht mehr gültigen Werte der Eigenschaft nicht löscht (dadurch wird es möglich, dass der Benutzer diese zwischen statisch und dynamisch hin- und herschaltet ohne seine vorherigen Einstellungen zu verlieren).
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      b - der neue Wert
    • getValueOfStaticProperty

      java.lang.Object getValueOfStaticProperty​(@Nullable java.lang.String primitiveFormName, Property property)
      Gibt den Wert der übergebenen Property zurück, die gegebenenfalls zu der genannten Grundfigur gehört.
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      Returns:
      der Wert der Eigenschaft
    • setValueOfStaticProperty

      void setValueOfStaticProperty​(@Nullable java.lang.String primitiveFormName, Property property, java.lang.Object value)
      Setzt den Wert der übergebenen Property, die gegebenenfalls zu der genannten Grundfigur gehört. Diese Methode sollte so implementiert werden, dass sie auch auch dann den übergebenen Wert behält, wenn die Property aktuell nicht statisch ist (dadurch wird es möglich, dass der Benutzer diese zwischen statisch und dynamisch hin- und herschaltet ohne seine vorherigen Einstellungen zu verlieren).
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      value - der neue Wert
    • setValueOfDynamicProperty

      void setValueOfDynamicProperty​(@Nullable java.lang.String primitiveFormName, Property property, DisplayObjectType.DisplayObjectTypeItem dItem, @Nullable java.lang.Double lowerBound, @Nullable java.lang.Double upperBound)
      Setzt den Wert der übergebenen Property, die gegebenenfalls zu der genannten Grundfigur gehört, für das übergebene Intervall auf das übergebene DisplayObjectTypeItem. Diese Methode sollte so implementiert werden, dass sie auch auch dann den übergebenen Wert behält, wenn die Property aktuell nicht dynamisch ist (dadurch wird es möglich, dass der Benutzer diese zwischen statisch und dynamisch hin- und herschaltet ohne seine vorherigen Einstellungen zu verlieren).
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      dItem - ein Item
      lowerBound - die untere Schranke
      upperBound - die obere Schranke
    • getCopy

      DisplayObjectType getCopy​(@Nullable java.lang.String name)
      Macht eine tiefe Kopie des DisplayObjectTypes und setzt den Namen um, falls der übergebene String nicht null ist. Diese Methode wird beim Erstellen und Bearbeiten von Darstellungstypen verwendet: dem Bearbeitungs-Dialog wird eine tiefe Kopie übergeben und alle Änderungen werden an diesem Objekt durchgeführt.
      Parameters:
      name - der neue Name oder null
      Returns:
      eine Kopie
    • putPreferences

      void putPreferences​(java.util.prefs.Preferences prefs)
      Speichert die Informationen des DisplayObjectTypes unter dem übergebenen Knoten.
      Parameters:
      prefs - der Knoten, unter dem die Speicherung durchgeführt werden soll
    • initializeFromPreferences

      void initializeFromPreferences​(java.util.prefs.Preferences prefs)
      Initialisiert den DisplayObjectType aus dem übergebenen Knoten.
      Parameters:
      prefs - der Knoten, unter dem die Initialisierung durchgeführt werden soll
    • deletePreferences

      void deletePreferences​(java.util.prefs.Preferences prefs)
      Löscht den DisplayObjectType unter dem übergebenen Knoten.
      Parameters:
      prefs - der Knoten, unter dem die Löschung durchgeführt werden soll
    • getDisplayObjectTypePlugin

      DisplayObjectTypePlugin getDisplayObjectTypePlugin()
      Gibt die Selebstbeschreibung des Plugins, zu dem dieser DisplayObjectType gehört, zurück.
      Returns:
      die Selbstbeschreibung
    • getLegendTreeNodes

      LegendTreeNodes getLegendTreeNodes()
      Erzeugt den Teilbaum der Legende, für diesen Darstellungstyp.
      Returns:
      der Teilbaum der Legende
    • getSubscriptionData

      java.util.Set<DOTSubscriptionData> getSubscriptionData()
      Gibt alle Anmeldungen, die dieser DisplayObjectTyp benötigt, zurück.
      Returns:
      alle Anmeldungen
    • getAttributeNames

      java.util.List<java.lang.String> getAttributeNames​(@Nullable java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData)
      Gibt die Attributnamen, für die Werte benötigt werden, zu der übergebenen Eigenschaft und der übergebenen Anmeldung zurück.
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - eine Eigenschaft
      subscriptionData - eine Anmeldung
      Returns:
      alle Attributname
    • getUsedColors

      java.util.Set<java.lang.String> getUsedColors()
      Gibt die Namen aller von diesem DisplayObject verwendeten Farben zurück.
      Returns:
      Die Menge aller Namen aller benutzten Farben
    • getDOTItemForValue

      DisplayObjectType.DisplayObjectTypeItem getDOTItemForValue​(@Nullable java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData, java.lang.String attributeName, double value)
      Ist der Rückgabewert nicht null, so ist dieser DisplayObjectType.DisplayObjectTypeItem für die übergebenen Daten anwendbar. Diese Methode wird von einem OnlineDisplayObject aufgerufen, wenn neue Online-Daten vorliegen, die eine Änderung der Visualisierungs-Eigenschaft zur Folge haben könnte. Der im Rückgabewert enthaltene Wert (z.B. eine Farbe) wird dann vom Painter zur Visualisierung verwendet.
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - die Eigenschaft
      subscriptionData - Attributgruppe und Aspekt
      attributeName - Attribut
      value - Wert des Attributs
      Returns:
      das Item oder null
    • getDisplayObjectTypeItemForState

      DisplayObjectType.DisplayObjectTypeItem getDisplayObjectTypeItemForState​(@Nullable java.lang.String primitiveFormName, Property property, DOTSubscriptionData subscriptionData, de.bsvrz.dav.daf.main.DataState dataState)
      Ist der Rückgabewert nicht null, so ist dieser DisplayObjectType.DisplayObjectTypeItem für die übergebenen Daten anwendbar. Diese Methode wird von einem DisplayObject aufgerufen, wenn zur gegebenen Anmeldung neue Daten geschickt wurden, die aber keine Werte für die Attribute enthalten, sondern Informationen über den Zustand. Der im Rückgabewert enthaltene Wert (z.B. eine Farbe) wird dann vom Painter zur Visualisierung verwendet.
      Parameters:
      primitiveFormName - der Name einer Grundfigur oder null
      property - die Eigenschaft
      subscriptionData - Attributgruppe und Aspekt
      dataState - Zustand des Datensatzes
      Returns:
      das Item oder null