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 Detail

      • 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