java.io.Serializable
, javax.swing.table.TableModel
public class LayerManager
extends javax.swing.table.AbstractTableModel
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.
Modifier and Type | Class | Description |
---|---|---|
static interface |
LayerManager.LayerManagerChangeListener |
Ein Interface für Listener, die über das Hinzufügen, Löschen und Ändern von Layern informiert werden wollen.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addChangeListener(LayerManager.LayerManagerChangeListener listener) |
Fügt das übergebene Objekt der Liste der auf Layeränderungen angemeldeten Objekte hinzu.
|
void |
addLayer(Layer layer) |
Fügt den Layer der Layerliste an, wenn nicht schon ein gleichnamiger Layer existiert.
|
void |
changeLayer(Layer layer) |
Ändert den gleichnamigen Layer.
|
void |
clearLayers() |
Löscht alle benutzerdefinierten Layer.
|
boolean |
displayObjectTypeIsUsed(java.lang.String displayObjectTypeName) |
Gibt
true zurück, falls der durch den Namen angegebene Darstellungstyp von einem
der Layer verwendet wrd. |
int |
getColumnCount() |
|
java.lang.String |
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 |
getInstance() |
Die für ein Singleton übliche Methode, um an die einzige Instanz der Klasse zu gelangen.
|
Layer |
getLayer(int i) |
Gibt den Layer an der i-ten Stelle der Layerliste zurück, wobei die Zählung mit 0 beginnt.
|
Layer |
getLayer(java.lang.String layerName) |
Gibt den Layer mit dem übergebenen Namen zurück.
|
java.util.List<Layer> |
getLayers() |
Gibt eine sortierte Kopie der Liste aller Layer zurück.
|
java.util.List<java.lang.String> |
getLayersUsingTheDisplayObjectType(java.lang.String displayObjectTypeName) |
Gibt die Namen all der Layer zurück, die den durch den Namen angegebene Darstellungstyp
verwenden.
|
int |
getRowCount() |
|
java.lang.String |
getTooltipAt(int rowIndex) |
Definiert den Tooltipp für die Felder der Tabelle.
|
java.lang.Object |
getValueAt(int rowIndex,
int columnIndex) |
|
boolean |
hasLayerToLowerCase(java.lang.String layerName) |
Gibt
true zurück, wenn es einen Layer gibt, dessen Name sich allenfalls bezüglich
Klein-Groß-Schreibung unterseheidet. |
boolean |
isChangeable(Layer layer) |
Gibt
true zurück, wenn der Layer veränderbar ist. |
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.
|
void |
removeChangeListener(LayerManager.LayerManagerChangeListener listener) |
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.
|
java.lang.String |
toString() |
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
public static LayerManager getInstance()
public static void refreshInstance()
public java.util.List<Layer> getLayers()
public int getIndexOfFirstLayer(char c)
c
- ein Buchstabepublic Layer getLayer(java.lang.String layerName)
layerName
- der Namepublic Layer getLayer(int i)
i
- ein Indexpublic boolean hasLayerToLowerCase(java.lang.String layerName)
true
zurück, wenn es einen Layer gibt, dessen Name sich allenfalls bezüglich
Klein-Groß-Schreibung unterseheidet. Sonst false
.layerName
- public int getColumnCount()
public int getRowCount()
public java.lang.Object getValueAt(int rowIndex, int columnIndex)
@Nullable public java.lang.String getTooltipAt(int rowIndex)
rowIndex
- ein Zeilenindexpublic java.lang.String getColumnName(int columnIndex)
getColumnName
in interface javax.swing.table.TableModel
getColumnName
in class javax.swing.table.AbstractTableModel
public void addLayer(Layer layer) throws java.lang.IllegalArgumentException
layer
- ein Layerjava.lang.IllegalArgumentException
- wenn bereits ein gleichnamiger Layer existiertpublic void changeLayer(Layer layer) throws java.lang.IllegalArgumentException
layer
- ein Layerjava.lang.IllegalArgumentException
- wenn der Layer nicht bekannt istpublic boolean removeLayer(Layer layer)
true
, sonst false.layer
- ein Layertrue
genau dann, wenn der Layer gelöscht wurdepublic void clearLayers()
public java.lang.String toString()
toString
in class java.lang.Object
public boolean isChangeable(Layer layer)
true
zurück, wenn der Layer veränderbar ist. Im Moment ist ein Layer genau
dann unveränderbar, wenn er im Kode definiert ist.layer
- ein Layertrue
genau dann, wenn der Layer veränderbar istpublic void addChangeListener(LayerManager.LayerManagerChangeListener listener)
listener
- ein Listenerpublic void removeChangeListener(LayerManager.LayerManagerChangeListener listener)
listener
- ein Listenerpublic boolean displayObjectTypeIsUsed(java.lang.String displayObjectTypeName)
true
zurück, falls der durch den Namen angegebene Darstellungstyp von einem
der Layer verwendet wrd.displayObjectTypeName
- der Name eines Darstellungstypstrue
genau dann, wenn der Darstellungstyp benutzt wirdpublic java.util.List<java.lang.String> getLayersUsingTheDisplayObjectType(java.lang.String displayObjectTypeName)
displayObjectTypeName
- der Name eines Darstellungstyps