|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.table.AbstractTableModel
schmitzm.geotools.gui.FeatureCollectionTableModel
public class FeatureCollectionTableModel
Tabellen-Modell fuer eine FeatureCollection. Aus Effizienzgruenden
(um wahlfreien Zugriff zu erreichen) werden die Features beim Aufruf von
#setFeatureCollection(FeatureCollection)
in ein Array kopiert.
Veraenderungen an der zugrunde liegenden FeatureCollection
werden
somit nicht automatisch in das Tabellen-Modell uebernommen, sondern es ist
ein expliziter Aufruf von reorganize()
notwendig.
Bis zu diesem Punkt arbeitet diese Tabellen-Modell identisch zum
FeatureTableModel
von Geotools. Im Gegensatz zu
org.geotools.swing.table.FeatureTableModel
.
werden die Tabellennamen und die Anzahl an Spalten jedoch nicht bei jedem Zugriff
neu aus dem ersten SimpleFeature ermittelt, sondern global gespeichert. Dies ist
erffizienter, da das haeufige Oeffnen eines FeatureIterators
vermieden wird.
Field Summary | |
---|---|
protected AttributeTypeFilter |
attrFilter
Bestimmt die angezeigten Features |
protected int[] |
attrIdxForCol
Speichert den Attribut-Index fuer jede Spalte (wichtig, wenn nicht alle Spalten angezeigt werden!) |
protected Vector<AttributeDescriptor> |
attrTypes
Speichert die angezeigten Attribut-Typen. |
protected Class<?>[] |
colClass
Spalten-Typen. |
protected String[] |
colNames
Spaltennamen. |
protected SimpleFeature[] |
featureArray
Array mit den Daten von featureTable . |
protected HashMap<String,Integer> |
featureIdx
Speichert die Indexe der Features im TableModel um die Funktion findFeature(SimpleFeature) moeglichst effizient zugestalten. |
protected |
featureTable
Holds the feature table that will be represented by this model. |
protected static Logger |
LOGGER
Logger for debug messages. |
Fields inherited from class javax.swing.table.AbstractTableModel |
---|
listenerList |
Constructor Summary | |
---|---|
FeatureCollectionTableModel()
Erzeugt ein neues (leeres) Tabellen-Modell. |
|
FeatureCollectionTableModel(
Erzeugt ein neues Tabellen-Modell |
|
FeatureCollectionTableModel(
Erzeugt ein neues Tabellen-Modell und setzt gleichzeitig einen Attributfilter. |
Method Summary | |
---|---|
int |
findFeature(SimpleFeature f)
Returns the index of a SimpleFeature in the model. |
AttributeTypeFilter |
getAttributeFilter()
Liefert den Filter, der die dargestellten Attribut-Spalten bestimmt. |
Class<?> |
getColumnClass(int col)
Liefert die Klasse des SimpleFeature-Attributs. |
int |
getColumnCount()
Liefert die Anzahl an Spalten der Tabelle. |
String |
getColumnName(int col)
Liefert einen Spaltennamen der Tabelle. |
SimpleFeature |
getFeature(int row)
Returns a SimpleFeature of the model. |
|
getFeatureCollection()
Liefert die FeatureCollection fuer das Tabellen-Modell. |
SimpleFeature[] |
getFeaturesAsArray(int[] idx)
Liefert Features der Tabelle als Array. |
|
getFeaturesAsCollection(int[] idx)
Liefert Features der Tabelle als Collection. |
int |
getRowCount()
Liefert die Anzahl an Zeilen der Tabelle. |
Object |
getValueAt(int row,
int col)
Liefert eine Zellen-Wert. |
void |
reorganize()
Baut die interne Datenbasis (Array) des Tabellen-Modells neu auf. |
protected void |
reorganize(boolean fireTableStructureChanged)
Baut die interne Datenbasis (Array) des Tabellen-Modells neu auf. |
void |
setAttributeFilter(AttributeTypeFilter attrFilter)
Setzt den Filter, der die dargestellten Attribut-Spalten bestimmt. |
void |
setFeatureCollection(
Setzt die FeatureCollection fuer das Tabellen-Modell. |
Methods inherited from class javax.swing.table.AbstractTableModel |
---|
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final Logger LOGGER
protectedfeatureTable
protected SimpleFeature[] featureArray
featureTable
. Wird nur beim Aufruf von
reorganize()
befuellt.
protected String[] colNames
reorganize()
befuellt.
protected Class<?>[] colClass
reorganize()
befuellt.
protected AttributeTypeFilter attrFilter
protected Vector<AttributeDescriptor> attrTypes
protected int[] attrIdxForCol
protected HashMap<String,Integer> featureIdx
findFeature(SimpleFeature)
moeglichst effizient zugestalten.
Der Key ist nicht das SimpleFeature, sondern die FeatureID, weil
SimpleFeature
die equals methode nicht überschreibt.
Constructor Detail |
---|
public FeatureCollectionTableModel()
public FeatureCollectionTableModel(features, AttributeTypeFilter attFilter)
features
- Daten fuer die Tabellepublic FeatureCollectionTableModel(features)
features
- Daten fuer die TabelleMethod Detail |
---|
public void reorganize()
FeatureCollection
in das Tabellenmodell
uebernommen werden.
protected void reorganize(boolean fireTableStructureChanged)
FeatureCollection
in das Tabellenmodell
uebernommen werden.
fireTableStructureChanged
- bestimmt, ob nach dem Neu-Aufbau
ein entsprechendes Event initiiert wirdpublic void setFeatureCollection(features)
reorganize()
auf.FeatureCollection
werden
erst nach erneutem reorganize()
in das Tabellen-Modell uebernommen!
features
- Daten-Basis fuer die TabellepublicgetFeatureCollection()
FeatureCollection
werden
erst nach erneutem reorganize()
in das Tabellen-Modell uebernommen!
public AttributeTypeFilter getAttributeFilter()
public void setAttributeFilter(AttributeTypeFilter attrFilter)
attrFilter
- Filterpublic int getColumnCount()
public String getColumnName(int col)
getColumnName
in interface TableModel
getColumnName
in class AbstractTableModel
col
- Spalten-Index, beginnend bei 0public int getRowCount()
public Object getValueAt(int row, int col)
row
- Zeilennummer (SimpleFeature), beginnend bei 0col
- Spaltennummer (Attribut), beginnen bei 0public Class<?> getColumnClass(int col)
getColumnClass
in interface TableModel
getColumnClass
in class AbstractTableModel
col
- Spaltennummer (Attribut), beginnen bei 0public SimpleFeature[] getFeaturesAsArray(int[] idx)
idx
- Indizes der FeatureCollectionpublicgetFeaturesAsCollection(int[] idx)
idx
- Indizes der FeatureCollectionpublic SimpleFeature getFeature(int row)
row
- row indexpublic int findFeature(SimpleFeature f)
SimpleFeature
in the model.
f
- a feature
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |