Class DefaultDisplayObjectType

java.lang.Object
de.kappich.pat.gnd.pluginInterfaces.DefaultDisplayObjectType
All Implemented Interfaces:
DOTManager.DOTChangeListener, DisplayObjectType, java.lang.Comparable<DisplayObjectType>
Direct Known Subclasses:
DOTArea, DOTAsbNode, DOTComplex, DOTKm, DOTLine, DOTNeedle, DOTRn, DOTStat

public abstract class DefaultDisplayObjectType
extends java.lang.Object
implements DisplayObjectType, DOTManager.DOTChangeListener
Ein DefaultDisplayObjectType ist eine abstrakte Klasse, die eine teilweise Implementation von DisplayObjectType ist. Die Grundfigur im Interface DisplayObjectType wird allerdings in dieser Implementation stets ignoriert. Subklassen, für die dies Verhalten ideal ist, sind DOTLine, DOTArea und DOTComplex.
  • Field Details

    • _isStaticMap

      protected final java.util.Map<Property,​java.lang.Boolean> _isStaticMap
      Diese Map speichert für jede Property, ob sie (aktuell) statisch ist.
    • _staticPropertyValues

      protected final java.util.Map<Property,​java.lang.Object> _staticPropertyValues
      Diese Map speichert die Werte für die statischen Properties.
    • _dynamicDOTItemManagers

      protected final java.util.Map<Property,​DynamicDOTItemManager> _dynamicDOTItemManagers
      Diese Map speichert die Werte für die dynamischen Properties.
    • _name

      protected java.lang.String _name
      Der Name.
    • _info

      protected java.lang.String _info
      Eine Information.
  • Constructor Details

    • DefaultDisplayObjectType

      protected DefaultDisplayObjectType()
      Ein DefaultDisplayObjectType ist keine funktional vollständige Implementation von DisplayObjectType, sondern beinhaltet die Gemeinsamkeiten der Implementation von DOTArea, DOTComplex, DOTLine und DOTKm.
    • DefaultDisplayObjectType

      protected DefaultDisplayObjectType​(boolean staticOnly)
  • Method Details

    • getName

      public java.lang.String getName()
      Description copied from interface: DisplayObjectType
      Getter für den Namen.
      Specified by:
      getName in interface DisplayObjectType
      Returns:
      der Name
    • 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
    • getInfo

      public java.lang.String getInfo()
      Description copied from interface: DisplayObjectType
      Getter für die Info.
      Specified by:
      getInfo in interface DisplayObjectType
      Returns:
      die Kurzinfo
    • 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
    • getPrimitiveFormNames

      public java.util.Set<java.lang.String> getPrimitiveFormNames()
      Description copied from interface: DisplayObjectType
      Zugriff auf alle auftretenden Grundfigurnamen.
      Specified by:
      getPrimitiveFormNames in interface DisplayObjectType
      Returns:
      die Menge aller Grundfigurnamen
    • getPrimitiveFormType

      @Nullable public java.lang.String getPrimitiveFormType​(@Nullable java.lang.String primitiveFormName)
      Description copied from interface: DisplayObjectType
      Gibt den Grundfigurtyp der Grundfigur zurück.
      Specified by:
      getPrimitiveFormType in interface DisplayObjectType
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      der Typ der Grundfigur
    • getPrimitiveFormInfo

      @Nullable public java.lang.String getPrimitiveFormInfo​(@Nullable java.lang.String primitiveFormName)
      Description copied from interface: DisplayObjectType
      Gibt die Kurzinfo zu der Grundfigur zurück.
      Specified by:
      getPrimitiveFormInfo in interface DisplayObjectType
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      die Kurzinfo zu der Grundfigur
    • removePrimitiveForm

      public void removePrimitiveForm​(java.lang.String primitiveFormName)
      Description copied from interface: DisplayObjectType
      Löscht die entsprechende Grundfigur.
      Specified by:
      removePrimitiveForm in interface DisplayObjectType
      Parameters:
      primitiveFormName - der Name einer Grundfigur
    • getDynamicProperties

      @Nullable public java.util.List<Property> getDynamicProperties​(@Nullable java.lang.String primitiveFormName)
      Description copied from interface: DisplayObjectType
      Zugriff auf alle dynamischen Properties der Grundfigur.
      Specified by:
      getDynamicProperties in interface DisplayObjectType
      Parameters:
      primitiveFormName - der Name einer Grundfigur
      Returns:
      die Liste aller dynamischen Eigenschaften der Grundfigur
    • isPropertyStatic

      public boolean isPropertyStatic​(@Nullable 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​(@Nullable java.lang.String primitiveFormName, Property property, boolean becomesStatic)
      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
      becomesStatic - der neue Wert
    • getValueOfStaticProperty

      @Nullable public java.lang.Object getValueOfStaticProperty​(@Nullable 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​(@Nullable 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​(@Nullable java.lang.String primitiveFormName, Property property, DisplayObjectType.DisplayObjectTypeItem dItem, @Nullable java.lang.Double lowerBound, @Nullable 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
    • 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
    • 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
    • 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
    • getTableModel

      public javax.swing.table.TableModel getTableModel​(Property property)
      Gibt ein TableModel für die übergebene Eigenschaft zurück.
      Parameters:
      property - die Eigenschaft
      Returns:
      ein TableModel
    • getConflictingRows

      @Nullable public java.util.Set<java.lang.Integer> getConflictingRows​(Property property)
      Liefert die Menge von Zeilen-Indizes der Zeilen, die mit mindestens einer anderen einen Konflikt haben. Ein Konflikt liegt dann vor, wenn ein dynamischer Wert sowohl zu der einer als auch der anderen Zeile passt; eine Zeile entspricht hier einem DisplayObjectTypeItem.
      Parameters:
      property - die Eigenschaft
      Returns:
      eine Menge von Zeilen-Indizes
    • getLegendTreeNodes

      public LegendTreeNodes getLegendTreeNodes()
      Liefert die Einträge der Legende zurück.
      Specified by:
      getLegendTreeNodes in interface DisplayObjectType
      Returns:
      eine Teilbaum für die Legende
    • getSubscriptionData

      public java.util.Set<DOTSubscriptionData> getSubscriptionData()
      Description copied from interface: DisplayObjectType
      Gibt alle Anmeldungen, die dieser DisplayObjectTyp benötigt, zurück.
      Specified by:
      getSubscriptionData in interface DisplayObjectType
      Returns:
      alle Anmeldungen
    • getAttributeNames

      public java.util.List<java.lang.String> getAttributeNames​(@Nullable 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
    • 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
    • getDOTItemForValue

      @Nullable public DisplayObjectType.DisplayObjectTypeItem getDOTItemForValue​(@Nullable 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​(@Nullable 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
    • displayObjectTypeAdded

      public void displayObjectTypeAdded​(DisplayObjectType displayObjectType)
      Description copied from interface: DOTManager.DOTChangeListener
      Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp hinzugefügt wurde.
      Specified by:
      displayObjectTypeAdded in interface DOTManager.DOTChangeListener
      Parameters:
      displayObjectType - ein Darstellungstyp
    • displayObjectTypeChanged

      public void displayObjectTypeChanged​(DisplayObjectType displayObjectType)
      Description copied from interface: DOTManager.DOTChangeListener
      Diese Methode wird aufgerufen, wenn der übergebene Darstellungstyp geändert wurde.
      Specified by:
      displayObjectTypeChanged in interface DOTManager.DOTChangeListener
      Parameters:
      displayObjectType - ein Darstellungstyp
    • 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
    • equals

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

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

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

      public abstract DisplayObjectTypePlugin getDisplayObjectTypePlugin()
      Jede nicht-abstrakte Subklasse muss ihre Plugin-Selbstbeschreibung angeben können.
      Specified by:
      getDisplayObjectTypePlugin in interface DisplayObjectType
      Returns:
      die zugehörige Plugin-Selbstbeschreibung
    • compareTo

      public int compareTo​(DisplayObjectType o)
      Specified by:
      compareTo in interface java.lang.Comparable<DisplayObjectType>