|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--dbutils.RamTable
Abbildung einer Datenbanktabelle in eine Java-String-Struktur. Die Namen der Spalten werden übernommen.
Sprach- und datenbankabhängige Konvertierungen sollten beim Füllen der Tabelle erfolgen.
Diese Klasse ist entstanden, um innerhalb von Web-Anwendungen Tabellen auszugeben. Dabei sollte in der Anwendungslogik möglichst wenig Abhängigkeit zu einer bestimmten DB enthalten sein (insbesondere konnte nicht davon ausgagangen werden, das ein JDBC-Treiber vorhanden ist). Weiterhin sollte auch niemand in die Versuchung kommen, Tabellenseiten mit geöffnetem DB-Cursor im Web zum Blätteren anzubieten.
ERSTELLEN: Datenbankabhängig wird die RamTable konstruiert, etwa in einer Klasse, Db, welche eine bestimmte Datenbank abstrahiert (Oracle, Sas, ...). RamTable rt = Db.getRamTable("(Select Name, Vorname from tabelle1)"); LESEN: Iterator e = rt.iterator(); int idxName = rt.getColumnIndex( "Name"); while (e.hasNext()) { aktuellerSatz = (String[])e.next() ; String aktName = aktuellerSatz[ idxName ]; ... }
Constructor Summary | |
RamTable(java.lang.String Table)
|
Method Summary | |
void |
addColumnNames(java.lang.String[] names)
Die Spaltennamen in einem String-Array hinzufügen |
boolean |
addRow(java.lang.String[] row)
Eine Zeile hinzufügen |
java.lang.String |
getCell(int row,
int col)
Gibt den Inhalt der Zelle in Zeile 'row' und Spalte 'col' zurück; (0,0) sind die Koordinaten der ersten Zelle. |
int |
getColumnIndex(java.lang.String colName)
Gibt den Index der Spalte mit dem Namen 'colName' zurück. |
java.lang.String[] |
getColumnNames()
Gibt die Spaltennamen als Stringarray |
java.util.SortedSet |
getColumnSet(int columnIndex)
|
java.util.SortedSet |
getColumnSet(java.lang.String colName)
|
java.lang.String |
getFirstCell(java.lang.String whereColName,
java.lang.String whereColValue,
java.lang.String colName)
Gib den Inhalt einer Zelle mit der Spalte colName und der Zeileneinschränkung (Filter) whereColName und whereColValue. |
java.lang.String[] |
getRow(int index)
Gibt die Zeile 'row' zurück; |
java.lang.String[] |
getRow(java.lang.String colName,
java.lang.String colValue)
Gib die erste Zeile der Tabelle, bei der in einer gegebenen Spalte ein bestimmter Wert enthalten ist. |
boolean |
isEmpty()
Prüft, ob die Tabelle keine Zeilen hat |
java.util.Iterator |
iterator()
Gibt einen Iterator ueber die Zeilenliste zurück. |
int |
size()
Gibt die Anzahl der Zeilen zurück |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public RamTable(java.lang.String Table)
Method Detail |
public boolean addRow(java.lang.String[] row)
public void addColumnNames(java.lang.String[] names)
public java.lang.String[] getColumnNames()
public int getColumnIndex(java.lang.String colName)
public java.util.Iterator iterator()
public boolean isEmpty()
public int size()
public java.lang.String getCell(int row, int col)
public java.lang.String[] getRow(int index)
public java.lang.String[] getRow(java.lang.String colName, java.lang.String colValue)
Gib die erste Zeile der Tabelle, bei der in einer gegebenen Spalte ein bestimmter Wert enthalten ist. Führt dieser Filter zu keinem Treffer, ist das Ergebnis null .
In SQL-Notation:
select * from table where whereColName=whereColValue
colName
- Name derSpaltecolValue
- Wert der Spaltepublic java.lang.String getFirstCell(java.lang.String whereColName, java.lang.String whereColValue, java.lang.String colName)
In SQL-Notation:
select colName from table where whereColName=whereColValue
wobei nur die "erstbeste" Zeile berücksichtigt wird. Eindeutig ist der Treffer, wenn der Filter auf eine Spalte gesetzt wird, die Primärschlüssel in der Ursprungstabelle ist.
colName
- Name derSpalte, deren Inhalt interessiert.whereColName
- Name der Spalte, fuer die eine Einschränkung gemacht
werden sollwhereColValue
- Wert der Spalteneinschränkungpublic java.util.SortedSet getColumnSet(java.lang.String colName)
public java.util.SortedSet getColumnSet(int columnIndex)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |