Class DOTPoint

  • All Implemented Interfaces:
    DOTManager.DOTChangeListener, DisplayObjectType, java.lang.Comparable<DisplayObjectType>

    public class DOTPoint
    extends java.lang.Object
    implements DisplayObjectType, DOTManager.DOTChangeListener
    Der Darstellungstyp für Punktobjekte.

    Ein DOTPoint implementiert das Interface DisplayObjectType für das Plugin für Punktobjekte. Dieser GND-interne Darstellungstyp ist bei weitem der umfangreichste und seine Implementation beruht NICHT auf DefaultDisplayObjectType.

    Jeder DOTPoint hat einen Namen, einen Infotext, einen Verschiebungsfaktor (-länge) und eine interne Variable, die anzeigt, ob eine Verbingslinie zwischen der Lage in der Karte und dem verschobenen Objekt gezeichnet werden soll. Weiterhin kann er beliebig viele Grundfiguren enthalten, die je nach ihrem Typ statische oder dynamische Eigenschaften besitzen. Der DOTPoint besitzt selbst keine Visualisierungs-Eigenschaften.

    • Constructor Detail

      • DOTPoint

        public DOTPoint()
        Ein Konstruktor ohne Vorgaben.
      • DOTPoint

        public DOTPoint​(java.lang.String name,
                        java.lang.String info,
                        double translationFactor,
                        boolean joinByLine)
        Ein Konstruktor mit punkt-spezifischen Vorgaben.
        Parameters:
        name - der Name des Darstellungstyp-Objekts
        info - die Kurzinfo des Darstellungstyp-Objekts
        translationFactor - der globale Verschiebungsfaktor
        joinByLine - true genau dann, wenn eine Verbindungslinie gezeichnet werden soll
    • Method Detail

      • setName

        public void setName​(java.lang.String name)
        Description copied from interface: DisplayObjectType
        Setter für den Namen.
        Specified by:
        setName in interface DisplayObjectType
        Parameters:
        name - der neue Name
      • setInfo

        public void setInfo​(java.lang.String info)
        Description copied from interface: DisplayObjectType
        Setter für die Info.
        Specified by:
        setInfo in interface DisplayObjectType
        Parameters:
        info - die Kurzinfo
      • getTranslationFactor

        public java.lang.Double getTranslationFactor()
        Der Getter für den Verschiebungsfaktor bzw. -länge.
        Returns:
        der Verschiebungsfaktor
      • setTranslationFactor

        public void setTranslationFactor​(java.lang.Double translationFactor)
        Der Setter für den Verschiebungsfaktor bzw. -länge.
        Parameters:
        translationFactor - der Verschiebungsfaktor
      • getJoinByLine

        public boolean getJoinByLine()
        Gibt true zurück, wenn die Lage in der Karte mit dem verschobenen Objekt durch eine Verbindungslinie verbunden werden soll.
        Returns:
        soll eine Verbindungslinie gezeichnet werden
      • setJoinByLine

        public void setJoinByLine​(boolean joinByLine)
        Setzt die interne Variable, die bestimmt, ob die Lage in der Karte mit dem verschobenen Objekt durch eine Verbindungslinie verbunden werden soll.
        Parameters:
        joinByLine - legt fest, ob eine Verbindungslinie gezeichnet werden soll
      • isPropertyStatic

        public boolean isPropertyStatic​(java.lang.String primitiveFormName,
                                        Property property)
        Description copied from interface: DisplayObjectType
        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.
        Specified by:
        isPropertyStatic in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - eine Eigenschaft
        Returns:
        ist die Eigenschaft statisch?
      • setPropertyStatic

        public void setPropertyStatic​(java.lang.String primitiveFormName,
                                      Property property,
                                      boolean b)
        Description copied from interface: DisplayObjectType
        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).
        Specified by:
        setPropertyStatic in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - eine Eigenschaft
        b - der neue Wert
      • getValueOfStaticProperty

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

        public void setValueOfStaticProperty​(java.lang.String primitiveFormName,
                                             Property property,
                                             java.lang.Object value)
        Description copied from interface: DisplayObjectType
        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).
        Specified by:
        setValueOfStaticProperty in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - eine Eigenschaft
        value - der neue Wert
      • setValueOfDynamicProperty

        public void setValueOfDynamicProperty​(java.lang.String primitiveFormName,
                                              Property property,
                                              DisplayObjectType.DisplayObjectTypeItem dItem,
                                              java.lang.Double lowerBound,
                                              java.lang.Double upperBound)
        Description copied from interface: DisplayObjectType
        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).
        Specified by:
        setValueOfDynamicProperty in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - eine Eigenschaft
        dItem - ein Item
        lowerBound - die untere Schranke
        upperBound - die obere Schranke
      • initializeFromPreferences

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

        public void deletePreferences​(java.util.prefs.Preferences prefs)
        Description copied from interface: DisplayObjectType
        Löscht den DisplayObjectType unter dem übergebenen Knoten.
        Specified by:
        deletePreferences in interface DisplayObjectType
        Parameters:
        prefs - der Knoten, unter dem die Löschung durchgeführt werden soll
      • putPreferences

        public void putPreferences​(java.util.prefs.Preferences prefs)
        Description copied from interface: DisplayObjectType
        Speichert die Informationen des DisplayObjectTypes unter dem übergebenen Knoten.
        Specified by:
        putPreferences in interface DisplayObjectType
        Parameters:
        prefs - der Knoten, unter dem die Speicherung durchgeführt werden soll
      • getAttributeNames

        public java.util.List<java.lang.String> getAttributeNames​(java.lang.String primitiveFormName,
                                                                  Property property,
                                                                  DOTSubscriptionData subscriptionData)
        Description copied from interface: DisplayObjectType
        Gibt die Attributnamen, für die Werte benötigt werden, zu der übergebenen Eigenschaft und der übergebenen Anmeldung zurück.
        Specified by:
        getAttributeNames in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - eine Eigenschaft
        subscriptionData - eine Anmeldung
        Returns:
        alle Attributname
      • getDOTItemForValue

        @Nullable
        public DisplayObjectType.DisplayObjectTypeItem getDOTItemForValue​(java.lang.String primitiveFormName,
                                                                          Property property,
                                                                          DOTSubscriptionData subscriptionData,
                                                                          java.lang.String attributeName,
                                                                          double value)
        Description copied from interface: DisplayObjectType
        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.
        Specified by:
        getDOTItemForValue in interface DisplayObjectType
        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

        @Nullable
        public DisplayObjectType.DisplayObjectTypeItem getDisplayObjectTypeItemForState​(java.lang.String primitiveFormName,
                                                                                        Property property,
                                                                                        DOTSubscriptionData subscriptionData,
                                                                                        de.bsvrz.dav.daf.main.DataState dataState)
        Description copied from interface: DisplayObjectType
        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.
        Specified by:
        getDisplayObjectTypeItemForState in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Name einer Grundfigur oder null
        property - die Eigenschaft
        subscriptionData - Attributgruppe und Aspekt
        dataState - Zustand des Datensatzes
        Returns:
        das Item oder null
      • getCopy

        public DisplayObjectType getCopy​(java.lang.String name)
        Description copied from interface: DisplayObjectType
        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.
        Specified by:
        getCopy in interface DisplayObjectType
        Parameters:
        name - der neue Name oder null
        Returns:
        eine Kopie
      • addPrimitiveForm

        public void addPrimitiveForm​(DOTPoint.PrimitiveForm primitiveForm)
        Fügt eine Grundfigur hinzu.
        Parameters:
        primitiveForm - die Grundfigur
      • putPrimitiveForm

        public void putPrimitiveForm​(DOTPoint.PrimitiveForm primitiveForm)
        Macht ein Update auf die bereits vorhandene Grundfigur oder fügt sie andernfalls hinzu.
        Parameters:
        primitiveForm - die Grundfigur
      • getPrimitiveForm

        public DOTPoint.PrimitiveForm getPrimitiveForm​(java.lang.String primitiveFormName)
        Gibt die genannte Grundfigur zurück.
        Parameters:
        primitiveFormName - der Name der Grundfigur
        Returns:
        die Grundfigur oder null
      • getPrimitiveForms

        public java.util.Collection<DOTPoint.PrimitiveForm> getPrimitiveForms()
        Gibt alle Grundfiguren zurück.
        Returns:
        alle Grundfiguren
      • getPrimitiveFormNames

        public java.util.Set<java.lang.String> getPrimitiveFormNames()
        Gibt die Namen aller Grundfiguren zurück.
        Specified by:
        getPrimitiveFormNames in interface DisplayObjectType
        Returns:
        alle Grundfigurnamen
      • getPrimitiveFormType

        public java.lang.String getPrimitiveFormType​(java.lang.String primitiveFormName)
        Gibt den Typ der genannten Grundfigur zurück, oder aber einen leeren String.
        Specified by:
        getPrimitiveFormType in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Grundfigurname
        Returns:
        der Grundfigurtyp
      • getPrimitiveFormInfo

        public java.lang.String getPrimitiveFormInfo​(java.lang.String primitiveFormName)
        Gibt den Infotext der benannten Grundfigur zurück, oder aber einen leeren String.
        Specified by:
        getPrimitiveFormInfo in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Grundfigurname
        Returns:
        die Kurzinfo
      • removePrimitiveForm

        public void removePrimitiveForm​(java.lang.String primitiveFormName)
        Entfernt die benannte Grundfigur.
        Specified by:
        removePrimitiveForm in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Grundfigurname
      • getDynamicProperties

        public java.util.List<Property> getDynamicProperties​(java.lang.String primitiveFormName)
        Gibt alle dynamischen Eigenschaften der benannten Grundfigur zurück.
        Specified by:
        getDynamicProperties in interface DisplayObjectType
        Parameters:
        primitiveFormName - der Grundfigurname
        Returns:
        alle dynamischen Eigenschaften der Grundfigur
      • getTableModel

        public javax.swing.table.TableModel getTableModel​(DOTPoint.PrimitiveForm primitiveForm,
                                                          Property property)
        Gibt das Tabellenmodel der durch die übergebenen Werte beschriebenen Eigenschaft zurück.
        Parameters:
        primitiveForm - die Grundfigur
        property - die Eigenschaft
        Returns:
        das TableModel
      • getConflictingRows

        @Nullable
        public java.util.Set<java.lang.Integer> getConflictingRows​(DOTPoint.PrimitiveForm primitiveForm,
                                                                   Property property)
        Gibt die Indizes aller in Konflikt stehenden Zeilen des Tabellenmodells an. Ein Konflikt besteht, wenn zwei Zeilen sich hinsichtlich der Wertebereiche überlappen.
        Parameters:
        primitiveForm - die Grundfigur
        property - die Eigenschaft
        Returns:
        die Indizes von in Konflikten stehenden Zeilen
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public final boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • toString

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

        public java.util.Set<java.lang.String> getUsedColors()
        Description copied from interface: DisplayObjectType
        Gibt die Namen aller von diesem DisplayObject verwendeten Farben zurück.
        Specified by:
        getUsedColors in interface DisplayObjectType
        Returns:
        Die Menge aller Namen aller benutzten Farben
      • displayObjectTypeRemoved

        public void displayObjectTypeRemoved​(java.lang.String displayObjectTypeName)
        Description copied from interface: DOTManager.DOTChangeListener
        Diese Methode wird aufgerufen, wenn der genannte Darstellungstyp gelöscht wurde.
        Specified by:
        displayObjectTypeRemoved in interface DOTManager.DOTChangeListener
        Parameters:
        displayObjectTypeName - ein Name eines Darstellungstyp