Class LayerManager
java.lang.Object
javax.swing.table.AbstractTableModel
de.kappich.pat.gnd.layerManagement.LayerManager
- All Implemented Interfaces:
Serializable
,TableModel
Eine Singleton-Klasse zur Verwaltung aller Layer, die das Interface TableModel implementiert, damit sie in einem JTable angezeigt werden kann.
Dass diese Klasse (wie z.B. auch der DOTManager
als Singleton implementiert ist, ist hinsichtlich denkbarer Erweiterungen sicherlich keine
optimale Lösung, aber erspart gegenwärtig die Implementation der Kommunikation zwischen verschiedenen Instanzen dieser Klasse.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
Ein Interface für Listener, die über das Hinzufügen, Löschen und Ändern von Layern informiert werden wollen. -
Field Summary
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Fügt das übergebene Objekt der Liste der auf Layeränderungen angemeldeten Objekte hinzu.void
Fügt den Layer der Layerliste an, wenn nicht schon ein gleichnamiger Layer existiert.void
changeLayer
(Layer layer) Ändert den gleichnamigen Layer.void
Löscht alle benutzerdefinierten Layer.boolean
displayObjectTypeIsUsed
(String displayObjectTypeName) Gibttrue
zurück, falls der durch den Namen angegebene Darstellungstyp von einem der Layer verwendet wrd.int
getColumnName
(int columnIndex) int
getIndexOfFirstLayer
(char c) Gibt den Index des ersten Layers, dessen Name mit dem übergebenen Zeichen anfängt, zurück.static LayerManager
Die für ein Singleton übliche Methode, um an die einzige Instanz der Klasse zu gelangen.getLayer
(int i) Gibt den Layer an der i-ten Stelle der Layerliste zurück, wobei die Zählung mit 0 beginnt.Gibt den Layer mit dem übergebenen Namen zurück.Gibt eine sortierte Kopie der Liste aller Layer zurück.getLayersUsingTheDisplayObjectType
(String displayObjectTypeName) Gibt die Namen all der Layer zurück, die den durch den Namen angegebene Darstellungstyp verwenden.int
getTooltipAt
(int rowIndex) Definiert den Tooltipp für die Felder der Tabelle.getValueAt
(int rowIndex, int columnIndex) boolean
hasLayerToLowerCase
(String layerName) Gibttrue
zurück, wenn es einen Layer gibt, dessen Name sich allenfalls bezüglich Klein-Groß-Schreibung unterseheidet.boolean
isChangeable
(Layer layer) Gibttrue
zurück, wenn der Layer veränderbar ist.static void
Mit Hilfe dieser Methode kann man den LayerManager dazu zwingen, sich erneut zu konstruieren, was etwa nach dem Importieren von Präferenzen sinnvoll ist.void
Entfernt das übergebene Objekt aus der Liste der auf Layeränderungen angemeldeten Objekte.boolean
removeLayer
(Layer layer) Entfernt den übergebenen Layer auf Basis eines Namensvergleichs aus der Liste aller Layer und damit auch aus den Präferenzen.toString()
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
-
Method Details
-
getInstance
Die für ein Singleton übliche Methode, um an die einzige Instanz der Klasse zu gelangen.- Returns:
- den LayerManager
-
refreshInstance
public static void refreshInstance()Mit Hilfe dieser Methode kann man den LayerManager dazu zwingen, sich erneut zu konstruieren, was etwa nach dem Importieren von Präferenzen sinnvoll ist. -
getLayers
Gibt eine sortierte Kopie der Liste aller Layer zurück.- Returns:
- die Liste aller Layer
-
getIndexOfFirstLayer
public int getIndexOfFirstLayer(char c) Gibt den Index des ersten Layers, dessen Name mit dem übergebenen Zeichen anfängt, zurück. Gibt es einen solchen Layer nicht, so wird -1 zurückgegeben.- Parameters:
c
- ein Buchstabe- Returns:
- ein gültiger Index oder -1
-
getLayer
Gibt den Layer mit dem übergebenen Namen zurück.- Parameters:
layerName
- der Name- Returns:
- den geforderten Layer
-
getLayer
Gibt den Layer an der i-ten Stelle der Layerliste zurück, wobei die Zählung mit 0 beginnt.- Parameters:
i
- ein Index- Returns:
- den geforderten Layer
-
hasLayerToLowerCase
Gibttrue
zurück, wenn es einen Layer gibt, dessen Name sich allenfalls bezüglich Klein-Groß-Schreibung unterseheidet. Sonstfalse
.- Parameters:
layerName
-- Returns:
- s.o.
-
getColumnCount
public int getColumnCount() -
getRowCount
public int getRowCount() -
getValueAt
-
getTooltipAt
Definiert den Tooltipp für die Felder der Tabelle. Gehört zur Implementation des TableModel.- Parameters:
rowIndex
- ein Zeilenindex- Returns:
- ein Tooltipp
-
getColumnName
- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
-
addLayer
Fügt den Layer der Layerliste an, wenn nicht schon ein gleichnamiger Layer existiert.- Parameters:
layer
- ein Layer- Throws:
IllegalArgumentException
- wenn bereits ein gleichnamiger Layer existiert
-
changeLayer
Ändert den gleichnamigen Layer.- Parameters:
layer
- ein Layer- Throws:
IllegalArgumentException
- wenn der Layer nicht bekannt ist
-
removeLayer
Entfernt den übergebenen Layer auf Basis eines Namensvergleichs aus der Liste aller Layer und damit auch aus den Präferenzen. Entspricht einer kompletten Löschung des Layers. Wirkt aber nicht für im Kode definierte Layer. Wird ein Layer gelöscht, so erhält man den Rückgabewerttrue
, sonst false.- Parameters:
layer
- ein Layer- Returns:
true
genau dann, wenn der Layer gelöscht wurde
-
clearLayers
public void clearLayers()Löscht alle benutzerdefinierten Layer. -
toString
-
isChangeable
Gibttrue
zurück, wenn der Layer veränderbar ist. Im Moment ist ein Layer genau dann unveränderbar, wenn er im Kode definiert ist.- Parameters:
layer
- ein Layer- Returns:
true
genau dann, wenn der Layer veränderbar ist
-
addChangeListener
Fügt das übergebene Objekt der Liste der auf Layeränderungen angemeldeten Objekte hinzu.- Parameters:
listener
- ein Listener
-
removeChangeListener
Entfernt das übergebene Objekt aus der Liste der auf Layeränderungen angemeldeten Objekte.- Parameters:
listener
- ein Listener
-
displayObjectTypeIsUsed
Gibttrue
zurück, falls der durch den Namen angegebene Darstellungstyp von einem der Layer verwendet wrd.- Parameters:
displayObjectTypeName
- der Name eines Darstellungstyps- Returns:
true
genau dann, wenn der Darstellungstyp benutzt wird
-
getLayersUsingTheDisplayObjectType
Gibt die Namen all der Layer zurück, die den durch den Namen angegebene Darstellungstyp verwenden.- Parameters:
displayObjectTypeName
- der Name eines Darstellungstyps- Returns:
- eine Liste von Darstellungstypen
-