de.bsvrz.pat.sysbed.dataview
Class Dataset

java.lang.Object
  extended by de.bsvrz.pat.sysbed.dataview.Dataset

public class Dataset
extends Object

Diese Klasse erstellt zu einem Datensatz der Form ResultData eine hierarchische Struktur der Form RowData. Zusätzlich können die Komponenten eines Zeilenkopfes und einer Nutzdatenzeile angefordert werden.

Author:
Kappich Systemberatung

Field Summary
private  DataTableObject _dataTableObject
          speichert einen Datensatz vom Datenverteiler
private  HeaderGrid _head
          speichert die Struktur des Spaltenheaders, damit die Nutzdaten damit verknüpft werden können
private  int _headerWidth
          Gibt die Breite des Headers zurück.
private  int _height
          speichert die Höhe der Komponente einer Zeile
private  RowData _rowData
          speichert den Datensatz in einer hierarchischen Struktur
private  JComponent _rowHeaderRow
          speichert die zum Datensatz gehörende Zeilenkopf-Komponente
private  JComponent _viewportRow
          speichert die zum Datensatz gehörende Datenzeilen-Komponente
 
Constructor Summary
Dataset(HeaderGrid head, DataTableObject dataTableObject)
          Konstruktor, dem ein Datensatz zugewiesen wird.
 
Method Summary
private  void createRowData()
          Erzeugt aus einem Datensatz eine hierarchische Struktur.
private  JComponent createRowHeaderRow(DataTableObject dataTableObject, String format)
          Erzeugt anhand der Daten eine neue Zeile im Zeilenheader, bestehend aus einem Zeitstempel und dem dazugehörenden Objekt.
private  void createViewportRow()
          Erzeugt aus einem Datensatz eine Swing-Komponente, damit die Daten angezeigt werden können.
 DataTableObject getDataTableObject()
          Gibt den Datensatz zurück.
private  void getHeaderWidth(HeaderGrid headerGrid, RowData rowData)
           
 int getHeight()
          Gibt die Höhe dieser Zeile in Pixel zurück.
 RowData getRowData()
          Gibt die hierarchische Struktur des Datensatzes zurück.
 JComponent getRowHeaderRow(String timeFormat)
          Gibt die Komponente des Zeilenkopfes zurück.
 JComponent getViewportRow()
          Gibt die Komponente der Datenzeile zurück.
private  void linkData(RowData rowData, HeaderGrid headerGrid)
          Rekursive Hilfsmethode.
private  void removeComponents()
          Löscht alle nicht mehr benötigten Komponenten, außer des Datensatzes, des Spaltenheaders und der Höhe.
private  void setHeight()
          Ermittelt die Höhe der diesen Datensatz repräsentierenden Swing-Komponente.
 void setLinks()
          Erstellt die Verbindungen zwischen den Daten und dem Header.
private  void transformData(Data data, RowData rowData)
          Wandelt den Datensatz vom Datenverteiler in eine hierachische Struktur um.
private  void unlinkData(RowData rowData, HeaderGrid headerGrid)
          Rekursive Hilfsmethode.
 void unsetLinks()
          Entfernt alle Einträge, außer den Datensatz und die Höhe einer Zeile.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_dataTableObject

private final DataTableObject _dataTableObject
speichert einen Datensatz vom Datenverteiler


_head

private final HeaderGrid _head
speichert die Struktur des Spaltenheaders, damit die Nutzdaten damit verknüpft werden können


_rowData

private RowData _rowData
speichert den Datensatz in einer hierarchischen Struktur


_rowHeaderRow

private JComponent _rowHeaderRow
speichert die zum Datensatz gehörende Zeilenkopf-Komponente


_viewportRow

private JComponent _viewportRow
speichert die zum Datensatz gehörende Datenzeilen-Komponente


_height

private int _height
speichert die Höhe der Komponente einer Zeile


_headerWidth

private int _headerWidth
Gibt die Breite des Headers zurück.

Constructor Detail

Dataset

public Dataset(HeaderGrid head,
               DataTableObject dataTableObject)
Konstruktor, dem ein Datensatz zugewiesen wird.

Parameters:
head - Element, welches die hierarchische Struktur darstellt
dataTableObject - neuer Datensatz
Method Detail

getDataTableObject

public DataTableObject getDataTableObject()
Gibt den Datensatz zurück.

Returns:
Datensatz

getRowData

public RowData getRowData()
Gibt die hierarchische Struktur des Datensatzes zurück.

Returns:
hierarchische Struktur des Datensatzes

getRowHeaderRow

public JComponent getRowHeaderRow(String timeFormat)
Gibt die Komponente des Zeilenkopfes zurück.

Parameters:
timeFormat - das gewünschte Format
Returns:
Komponente des Zeilenkopfes

getViewportRow

public JComponent getViewportRow()
Gibt die Komponente der Datenzeile zurück.

Returns:
Komponente der Datenzeile

getHeight

public int getHeight()
Gibt die Höhe dieser Zeile in Pixel zurück.

Returns:
Höhe dieser Zeile

setLinks

public void setLinks()
Erstellt die Verbindungen zwischen den Daten und dem Header. Jedes Blattelement meldet sich beim entsprechenden Blatt im Header an, damit etwaige Größenänderungen vom Header an die Datenstruktur übergeben werden kann.


unsetLinks

public void unsetLinks()
Entfernt alle Einträge, außer den Datensatz und die Höhe einer Zeile.


createRowData

private void createRowData()
Erzeugt aus einem Datensatz eine hierarchische Struktur.


transformData

private void transformData(Data data,
                           RowData rowData)
Wandelt den Datensatz vom Datenverteiler in eine hierachische Struktur um.

Parameters:
data - Daten vom Datenverteiler
rowData - neue hierarchische Struktur

linkData

private void linkData(RowData rowData,
                      HeaderGrid headerGrid)
Rekursive Hilfsmethode. Sie wird von setLinks() aufgerufen. Die Verbindungen zum Spaltenheader werden hergestellt und die Breite der Komponenten, welche die Daten anzeigen wird initial festgelegt. Diese Methode wird nur ausgeführt, wenn im Datensatz auch Daten vorhanden sind.

Parameters:
rowData - darzustellende Daten
headerGrid - Spaltenheader

getHeaderWidth

private void getHeaderWidth(HeaderGrid headerGrid,
                            RowData rowData)

unlinkData

private void unlinkData(RowData rowData,
                        HeaderGrid headerGrid)
Rekursive Hilfsmethode. Sie entfernt die Verbindungen zwischen den Daten und dem Spaltenheader. Diese Methode wird nur ausgeführt, wenn auch Daten vorhanden sind.

Parameters:
rowData - Daten, die mit dem Spaltenheader verbunden sind
headerGrid - Spaltenheader

createRowHeaderRow

private JComponent createRowHeaderRow(DataTableObject dataTableObject,
                                      String format)
Erzeugt anhand der Daten eine neue Zeile im Zeilenheader, bestehend aus einem Zeitstempel und dem dazugehörenden Objekt.

Parameters:
dataTableObject - das Objekt der Online-Tabelle
format - das Zeitformat, um Datum und Zeit darzustellen
Returns:
der erstellte Zeilen-Header

createViewportRow

private void createViewportRow()
Erzeugt aus einem Datensatz eine Swing-Komponente, damit die Daten angezeigt werden können.


setHeight

private void setHeight()
Ermittelt die Höhe der diesen Datensatz repräsentierenden Swing-Komponente. Falls die Komponenten extra für die Ermittlung der Höhe erzeugt werden, dann werden sie anschließend auch wieder gelöscht.


removeComponents

private void removeComponents()
Löscht alle nicht mehr benötigten Komponenten, außer des Datensatzes, des Spaltenheaders und der Höhe.