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 interfaceEin 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 TypeMethodDescriptionvoidFügt das übergebene Objekt der Liste der auf Layeränderungen angemeldeten Objekte hinzu.voidFügt den Layer der Layerliste an, wenn nicht schon ein gleichnamiger Layer existiert.voidchangeLayer(Layer layer) Ändert den gleichnamigen Layer.voidLöscht alle benutzerdefinierten Layer.booleandisplayObjectTypeIsUsed(String displayObjectTypeName) Gibttruezurück, falls der durch den Namen angegebene Darstellungstyp von einem der Layer verwendet wrd.intgetColumnName(int columnIndex) intgetIndexOfFirstLayer(char c) Gibt den Index des ersten Layers, dessen Name mit dem übergebenen Zeichen anfängt, zurück.static LayerManagerDie 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.intgetTooltipAt(int rowIndex) Definiert den Tooltipp für die Felder der Tabelle.getValueAt(int rowIndex, int columnIndex) booleanhasLayerToLowerCase(String layerName) Gibttruezurück, wenn es einen Layer gibt, dessen Name sich allenfalls bezüglich Klein-Groß-Schreibung unterseheidet.booleanisChangeable(Layer layer) Gibttruezurück, wenn der Layer veränderbar ist.static voidMit Hilfe dieser Methode kann man den LayerManager dazu zwingen, sich erneut zu konstruieren, was etwa nach dem Importieren von Präferenzen sinnvoll ist.voidEntfernt das übergebene Objekt aus der Liste der auf Layeränderungen angemeldeten Objekte.booleanremoveLayer(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
Gibttruezurü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:
getColumnNamein interfaceTableModel- Overrides:
getColumnNamein 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:
truegenau dann, wenn der Layer gelöscht wurde
-
clearLayers
public void clearLayers()Löscht alle benutzerdefinierten Layer. -
toString
-
isChangeable
Gibttruezurü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:
truegenau 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
Gibttruezurück, falls der durch den Namen angegebene Darstellungstyp von einem der Layer verwendet wrd.- Parameters:
displayObjectTypeName- der Name eines Darstellungstyps- Returns:
truegenau 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
-