Class View

  • All Implemented Interfaces:
    java.lang.Comparable<View>

    public class View
    extends java.lang.Object
    implements java.lang.Comparable<View>
    Die Klasse für die Ansichten der Generischen Netzdarstellung.

    Eine Ansicht hat einen eindeutigen Namen unter dem sie von der Ansichtsverwaltung geführt wird. Sie besteht aus einer Liste von ViewEntries, also Layern mit ansichts-spezifischen Einstellungen.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static interface  View.ViewChangeListener
      Ein Interface für Listener, die über Änderungen der Ansicht informiert werden wollen.
    • Constructor Summary

      Constructors 
      Constructor Description
      View()
      Konstruiert eine leere Ansicht.
      View​(java.lang.String name, java.util.List<ViewEntry> viewEntries)
      Konstruiert eine Ansicht mit Namen und ViewEntries.
    • Method Summary

      Modifier and Type Method Description
      void addChangeListener​(View.ViewChangeListener listener)
      Fügt den Listener den auf Änderungen angemeldeten Listenern hinzu.
      void addLayer​(Layer layer)
      Fügt einen ViewEntry mit dem übergebenen Layer und Default-Einstellungen am Ende der Liste der ViewEntries hinzu, falls der übergebene Layer noch nicht zu der Ansicht gehört.
      void addLayer​(Layer layer, int zoomIn, int zoomOut, boolean selectable, boolean visible)
      Fügt einen ViewEntry mit dem übergebenen Layer und Default-Einstellungen am Ende der Liste der ViewEntries hinzu, falls der übergebene Layer noch nicht zu der Ansicht gehört.
      int compareTo​(View o)  
      void deletePreferences​(java.util.prefs.Preferences prefs)
      Entfernt die Ansicht unterhalb des übergebenen Knotens.
      boolean equals​(java.lang.Object o)  
      java.util.List<ViewEntry> getAllViewEntries()
      Gibt die Menge der ViewEntries inklusive Notiz-Layern zurück.
      View getCopy​(java.lang.String name)
      Erzeugt eine tiefe Kopie des aufrufenden Objekts und setzt den Namen auf den übergebenen Wert, falls dieser nicht null ist.
      int getIndex​(ViewEntry viewEntry)
      Gibt den Index des ViewEntries innerhalb der Liste der ViewEntries zurück.
      java.lang.String getName()
      Ein Getter für den Namen.
      int getNumberOfViewEntries()
      Gibt die Anzahl aller ViewEntries inklusive Notiz-Layern zurück.
      java.util.Set<java.lang.String> getUsedColors()
      Gibt die Menge aller Farben, die von allen ViewEntries der Ansicht benutzt werden, zurück.
      java.util.List<ViewEntry> getViewEntriesWithoutNoticeEntries()
      Gibt die Menge der ViewEntries ohne Notiz-Layer zurück.
      ViewEntry getViewEntry​(Layer layer)
      Da jeder Layer nur einmal in einer Ansicht auftreten kann, kann der zugehörige ViewEntry berechnet werden.
      int hashCode()  
      boolean hasSomethingChanged()
      Gibt true zurück, wenn seit dem Konstruieren der Ansicht oder seit dem letzten Aufruf von setSomethingChanged() mit dem Wert false, eine Veränderung an der Ansicht vorgenommen wurde (ob durch eine verändernde Methode oder durch setSomethingChanged() mit dem Wert true).
      void initializeFromPreferences​(java.util.prefs.Preferences prefs)
      Initialisiert die Ansicht aus dem übergebenen Knoten.
      void layerDefinitionChanged​(Layer layer)
      Informiert die View.ViewChangeListeners über einen geänderte Layer.
      void layerPropertyChanged​(Layer layer)
      Informiert die View.ViewChangeListeners über einen geänderte Layer.
      void notifyChangeListenersViewEntryDefinitionChanged​(int i)
      Informiert die ChangeListener darüber, dass die Definition von ViewEntry i geändert wurde.
      void notifyChangeListenersViewEntryPropertyChanged​(int i)
      Informiert die ChangeListener darüber, dass eine Eigenschaft von ViewEntry i geändert wurde.
      void putPreferences​(java.util.prefs.Preferences prefs)
      Speichert die Ansicht in den übergebenen Knoten.
      void remove​(int index)
      Entfernt den ViewEntry, der an der Stelle index in der Liste der ViewEntries steht.
      void removeAllChangeListeners()
      Entfernt alle Listener.
      void removeChangeListener​(View.ViewChangeListener listener)
      Entfernt den Listener aus der Menge der auf Änderungen angemeldeten Listenern.
      void removeLayer​(java.lang.String layerName)
      Entfernt alle ViewEntries aus der Ansicht, die den Layer mit dem übergebenen Namen verwenden.
      void setName​(java.lang.String name)
      Ein Setter für den Namen.
      void setSomethingChanged​(boolean b)
      Setzt den Wert der internen Variablen, die zum Verwalten von Änderungen seit der letzten Speicherung dient.
      void switchTableLines​(int i, int j)
      Vertauscht die durch die Indizes i und j angegebenen ViewEntries in der Liste aller ViewEntries.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • View

        public View()
        Konstruiert eine leere Ansicht.
      • View

        public View​(java.lang.String name,
                    java.util.List<ViewEntry> viewEntries)
        Konstruiert eine Ansicht mit Namen und ViewEntries.
        Parameters:
        name - der Name der Ansicht
        viewEntries - die ViewEntries
    • Method Detail

      • getName

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

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

        public boolean hasSomethingChanged()
        Gibt true zurück, wenn seit dem Konstruieren der Ansicht oder seit dem letzten Aufruf von setSomethingChanged() mit dem Wert false, eine Veränderung an der Ansicht vorgenommen wurde (ob durch eine verändernde Methode oder durch setSomethingChanged() mit dem Wert true).
        Returns:
        hat sich etwas geändert?
      • setSomethingChanged

        public void setSomethingChanged​(boolean b)
        Setzt den Wert der internen Variablen, die zum Verwalten von Änderungen seit der letzten Speicherung dient.
        Parameters:
        b - setzt den Wert des Änderungsstatus
      • getAllViewEntries

        public java.util.List<ViewEntry> getAllViewEntries()
        Gibt die Menge der ViewEntries inklusive Notiz-Layern zurück.
        Returns:
        die Menge der ViewEntries
      • getNumberOfViewEntries

        public int getNumberOfViewEntries()
        Gibt die Anzahl aller ViewEntries inklusive Notiz-Layern zurück.
        Returns:
        die Anzahl
      • getViewEntriesWithoutNoticeEntries

        public java.util.List<ViewEntry> getViewEntriesWithoutNoticeEntries()
        Gibt die Menge der ViewEntries ohne Notiz-Layer zurück.
        Returns:
        die Menge der ViewEntries
      • getIndex

        public int getIndex​(ViewEntry viewEntry)
        Gibt den Index des ViewEntries innerhalb der Liste der ViewEntries zurück. Gehört der ViewEntry gemäß Object.equals() nicht zu dieser Ansicht, so ist der Rückgabewert -1.
        Parameters:
        viewEntry - ein ViewEntry
        Returns:
        der Index des Entrys
      • addLayer

        public void addLayer​(Layer layer)
        Fügt einen ViewEntry mit dem übergebenen Layer und Default-Einstellungen am Ende der Liste der ViewEntries hinzu, falls der übergebene Layer noch nicht zu der Ansicht gehört.
        Parameters:
        layer - ein Layer
      • addLayer

        public void addLayer​(Layer layer,
                             int zoomIn,
                             int zoomOut,
                             boolean selectable,
                             boolean visible)
        Fügt einen ViewEntry mit dem übergebenen Layer und Default-Einstellungen am Ende der Liste der ViewEntries hinzu, falls der übergebene Layer noch nicht zu der Ansicht gehört.
        Parameters:
        layer - ein Layer
        zoomIn - Zoomstufe des Einblendens
        zoomOut - Zoomstufe des Ausblendens
        selectable - Sollen die Objekte des Layers selektierbar sein?
        visible - Soll der Layer eingeblendet werden?
      • layerDefinitionChanged

        public void layerDefinitionChanged​(Layer layer)
        Informiert die View.ViewChangeListeners über einen geänderte Layer. Kann von außen z.B. von der Ansichtsverwaltung aufgerufen werden.
        Parameters:
        layer - ein Layer
      • layerPropertyChanged

        public void layerPropertyChanged​(Layer layer)
        Informiert die View.ViewChangeListeners über einen geänderte Layer. Kann von außen z.B. von der Ansichtsverwaltung aufgerufen werden.
        Parameters:
        layer - ein Layer
      • removeLayer

        public void removeLayer​(java.lang.String layerName)
        Entfernt alle ViewEntries aus der Ansicht, die den Layer mit dem übergebenen Namen verwenden.
        Parameters:
        layerName - ein Layername
      • getViewEntry

        @Nullable
        public ViewEntry getViewEntry​(Layer layer)
        Da jeder Layer nur einmal in einer Ansicht auftreten kann, kann der zugehörige ViewEntry berechnet werden.
        Parameters:
        layer -
        Returns:
      • addChangeListener

        public void addChangeListener​(View.ViewChangeListener listener)
        Fügt den Listener den auf Änderungen angemeldeten Listenern hinzu.
        Parameters:
        listener - ein Listener
      • removeChangeListener

        public void removeChangeListener​(View.ViewChangeListener listener)
        Entfernt den Listener aus der Menge der auf Änderungen angemeldeten Listenern.
        Parameters:
        listener - ein Listener
      • removeAllChangeListeners

        public void removeAllChangeListeners()
        Entfernt alle Listener.
      • remove

        public void remove​(int index)
        Entfernt den ViewEntry, der an der Stelle index in der Liste der ViewEntries steht.
        Parameters:
        index - ein Index
      • switchTableLines

        public void switchTableLines​(int i,
                                     int j)
        Vertauscht die durch die Indizes i und j angegebenen ViewEntries in der Liste aller ViewEntries.
        Parameters:
        i - ein Index
        j - ein Index
      • notifyChangeListenersViewEntryDefinitionChanged

        public void notifyChangeListenersViewEntryDefinitionChanged​(int i)
        Informiert die ChangeListener darüber, dass die Definition von ViewEntry i geändert wurde.
        Parameters:
        i - ein Index
      • notifyChangeListenersViewEntryPropertyChanged

        public void notifyChangeListenersViewEntryPropertyChanged​(int i)
        Informiert die ChangeListener darüber, dass eine Eigenschaft von ViewEntry i geändert wurde.
        Parameters:
        i - ein Index
      • putPreferences

        public void putPreferences​(java.util.prefs.Preferences prefs)
        Speichert die Ansicht in den übergebenen Knoten.
        Parameters:
        prefs - der Knoten, unter dem die Speicherung beginnt
      • initializeFromPreferences

        public void initializeFromPreferences​(java.util.prefs.Preferences prefs)
        Initialisiert die Ansicht aus dem übergebenen Knoten.
        Parameters:
        prefs - der Knoten, unter dem die Initialisierung beginnt
      • deletePreferences

        public void deletePreferences​(java.util.prefs.Preferences prefs)
        Entfernt die Ansicht unterhalb des übergebenen Knotens.
        Parameters:
        prefs - der Knoten, unter dem gelöscht wird
      • getUsedColors

        public java.util.Set<java.lang.String> getUsedColors()
        Gibt die Menge aller Farben, die von allen ViewEntries der Ansicht benutzt werden, zurück.
        Returns:
        die Menge aller benutzten Farben
      • toString

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

        public View getCopy​(java.lang.String name)
        Erzeugt eine tiefe Kopie des aufrufenden Objekts und setzt den Namen auf den übergebenen Wert, falls dieser nicht null ist.
        Parameters:
        name - der neue Name
        Returns:
        die Kopie
      • compareTo

        public int compareTo​(View o)
        Specified by:
        compareTo in interface java.lang.Comparable<View>
      • 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