de.jdataset
Class JDataTable

java.lang.Object
  extended by de.jdataset.JDataTable
All Implemented Interfaces:
java.io.Serializable

public final class JDataTable
extends java.lang.Object
implements java.io.Serializable

Eine DataTable repäsentiert die Definition einer Tabelle in der Datenbank, ihre Spalten sowie ihre über- und untergeordneten Tabellen.

Tabellen können direkt dem DataSet zugewiesen werden (Root Table) oder sie werden als Child Table oder Parent Table einer anderen Tabelle zugeordnet.
Es ist nicht erlaubt, einer Parent Table Child Tables hinzuzufügen.

Das Geheimnis mit den Child und Parent Reference Names:
Bei ER-Modellen ist es erlaubt (wenn auch nicht übermäßig häufig), daß ein und die selbe Tabelle mit einer anderen Tabelle mehrfach verknüpft ist.
Beispiel: Die Tabelle Buchung hat die beiden Foreign Keys KontoID und GegenkontoID die beide auf die übergeordnete Parent Table "Konto" zeigen. In unserer Zugriffs-Definition sähe dann so aus:


 <View ...>
  <RootTable name="Buchung" ...>
    <Column name="betrag"/>
    <Column name="kontoID"/>
    <Column name="gegenkontoID"/>
    <Parent tablename="Konto" fk="kontoID">
      <Column name="Kontobezeichnung"/>
    </Parent>
    <Parent tablename="Konto" fk="gegenkontoID">
      <Column name="Kontobezeichnung"/>
    </Parent>
Um jetzt im Dataset von der Tabelle Buchung aus zu den beiden Konto-Bezeichnungen zu navigieren brauchts also mehr Informationen als den Namen der Tabelle.

Natürlich muß die Kombination aus Tabellennamen und Foreign Key auch eindeutig sein, aber diese Art der Notation ist doch gar zu umständlich, wenn sie nur in wenigen Fällen wirklich benötigt wird.

Statt dessen wird der Child- und der Table Referenz jeweils ein Name gegeben (wie das im ER-Modell auch üblich ist):


 <View ...>
  <RootTable name="Buchung" ...>
    <Column name="betrag"/>
    <Column name="kontoID"/>
    <Column name="gegenkontoID"/>
    <Parent tablename="Konto" fk="kontoID">
      <Column name="Kontobezeichnung"/>
    </Parent>
    <Parent tablename="Konto" refname="Gegenkonto" fk="gegenkontoID">
      <Column name="Kontobezeichnung"/>
    </Parent>
Einfache Regel:
Wenn nichts weiter angegeben wird der Name der Tabelle als Name der Referenz verwendet; das geht meistens gut. Ansonsten muss im Aufnahmefall der Name der Referenz gesondert angegeben werden. $Id$ $Log$ Revision 1.77 2010/08/06 13:52:33 pkoeker *** empty log message *** Revision 1.76 2010/02/02 17:58:17 pkoeker *** empty log message *** Revision 1.75 2009/10/27 18:43:24 pkoeker ChangeProtocol Revision 1.74 2009/10/06 09:41:43 pkoeker addDataColumn Revision 1.73 2009/04/29 17:29:58 pkoeker checkDublicate; einmal throw reicht! Revision 1.72 2009/01/18 17:49:37 pkoeker getDataColumn: Reihenfolge geändert (wenn Spalte mit "@" am Anfang vorhanden, dann nicht abschneiden Revision 1.71 2008/08/20 14:42:34 pkoeker Warning Revision 1.70 2008/06/19 17:45:41 pkoeker getDataColumnCount Revision 1.69 2008/04/13 09:31:53 pkoeker return, wenn ParentRelation doppelt Revision 1.68 2008/03/08 13:53:10 pkoeker Wenn child oder partent Table fehlt nur Exception werfen, nicht loggen Revision 1.67 2008/02/24 10:28:50 pkoeker getFullTablename Revision 1.66 2007/11/06 20:09:54 pkoeker Java5 Revision 1.65 2007/10/11 20:34:29 pkoeker *** empty log message *** Revision 1.63 2007/09/05 16:49:19 pkoeker Falsche Fehlermeldung bei getChild/ParentTable: _refname Revision 1.62 2006/10/03 08:10:57 pkoeker Java 1.5 Revision 1.61 2006/07/09 08:59:31 pkoeker *** empty log message *** Revision 1.60 2006/07/01 09:35:14 pkoeker 1.5 Revision 1.59 2006/03/14 20:02:38 pkoeker PK Columns

See Also:
Serialized Form

Field Summary
static int CHILD_TABLE
           
static java.lang.String META_DATABASE_NAME
           
static int PARENT_TABLE
           
static int ROOT_TABLE
           
 
Constructor Summary
JDataTable()
          Deprecated. For serialization purpose only.
JDataTable(java.lang.String name)
          Erzeugt eine Tabelle mit dem angegebenen Namen.
JDataTable(java.lang.String name, int tableType)
          Erzeugt eine Tabelle vom angegebenen Typ (ROOT, CHILD, PARENT).
JDataTable(java.lang.String name, java.lang.String alias)
          Erzeugt eine Tabelle mit dem angegebenen Namen und einem abweichenden Alias-Namen.
JDataTable(java.lang.String name, java.lang.String alias, int tableType)
           
 
Method Summary
 Relation addChildTable(JDataTable tbl, java.lang.String foreignKeys)
          Fügt eine ChildTable hinzu.
 Relation addChildTable(java.lang.String refName, JDataTable tbl, java.lang.String keys)
          Fügt der Tabelle eine Child-Table hinzu
 void addColumn(JDataColumn col)
          Fügt der Tabelle eine weitere Spalte hinzu.
 JDataColumn addColumn(java.lang.String name, int datatype)
          Fügt der Tabelle eine weitere Spalte hinzu.
 void addParentTable(JDataTable tbl, java.lang.String keys)
          Fügt eine Parent Table hinzu.
 JDataTable cloneTable(boolean deep)
          Macht eine Kopie dieser DataTable.
 JDataRow createNewRow()
          Erzeugt eine neue leere Zeile.
static java.lang.String generateClazz(JDataTable tbl, java.lang.String pack)
           
 java.lang.String getAlias()
          Der Aliasname der Tabelle oder null, wenn kein Alias
 java.lang.String getAliasOrName()
          Liefert den Aliasname wenn vorhanden; ansonsten den Tabellennamen
 java.lang.String getBeanClassName()
           
 java.lang.String getCatalog()
          From Database MetaData TABLE_CAT
 java.lang.String getChangeProtocol()
           
 Relation getChildRelation(java.lang.String refName)
           
 java.util.ArrayList<Relation> getChildRelations()
          Liefert die Menge der abhängigen Relationen.
 JDataTable getChildTable(java.lang.String _refname)
          Liefert die Child Table mit dem angegebenen (Referenz-)Namen.
 java.util.Iterator<JDataTable> getChildTables()
          Liefert den Iterator für Child Tables.
 java.lang.String getComment()
           
 java.lang.String getDatabaseName()
           
 JDataColumn getDataColumn(java.lang.String name)
          Liefert eine DataColumns dieser Tabelle unter Angabe ihres Namens.
 int getDataColumnCount()
          Liefert die Anzahl der Spalten in dieser Tabelle
 java.util.ArrayList<java.lang.String> getDataColumnNames()
          Liefert die Namen der Columns
 java.util.Iterator<JDataColumn> getDataColumns()
          Liefert den Iterator von DataColumns.
 electric.xml.Element getElement(boolean deep)
          Liefert die MetaDaten zu dieser Tabelle als XML-Element.
 java.lang.String getFK(java.lang.String refName)
          Deprecated. Liefert die Foreign Key Columns für die angegebene Relation
 java.lang.String getFullTablename()
          Liefert den voll-qualifizierten Tabellennamen: MySchema.MyTablename
 java.lang.String getJoin()
          Wenn !
 JDataRow getMetaDataRow()
          Liefert eine DataRow mit den Attributen eines JDataTable-Objektes
 JDataRow getMetaDataRow(JDataRow row)
           
 JDataSet getMetaDataSet()
          Liefert die Definition dieser Tabelle mit ihren Columns als DataSet; Child und Parent Tables werden mitgeliefert.
static JDataTable getMetaDataTable()
          Liefert eine DataTable mit den Attributen einer DataTable (Uff!).
 JDataSet getMyDataset()
          Liefert den Dataset, zu dem diese Tabelle gehört oder null, wenn außerhalb eines Dataset.
 JDataTable getMyParentTable()
          Liefert die dieser Tabelle übergeordnete Tabelle im Dataset.
 java.lang.String getParentFK()
          Bei Parent Tables liefert dieses den Foreign Key, der von der ChildTable auf Tabelle zeigt.
 Relation getParentRelation(java.lang.String refName)
           
 java.util.ArrayList<Relation> getParentRelations()
          Liefert die Menge der übergeordneten Relationen
 JDataTable getParentTable(java.lang.String _refname)
          Liefert die Parent Table mit dem angegebenen Name.
 java.util.Iterator<JDataTable> getParentTables()
          Liefert den Iterator für Parent Tables.
 JDataColumn getPKColumn()
          Liefert die Primary Key Column; wirft eine Exception, wenn der Primary Key nicht *genau* eine Spalte hat.
 java.util.Iterator<JDataColumn> getPKColumns()
          Liefert einen Iterator über die DataColumns, die den Primary Key bilden.
 int getPKColumnsCount()
          Liefert die Zahl der Columns die den Primary Key bilden.
 java.lang.String getPKs()
          Liefert die Feldnamen der Primary Key Columns als String mit Komma getrennt.
 java.lang.String getRefname()
          Liefert den Referenznamen dieser Tabelle.
 java.lang.String getSchema()
          From Database MetaData TABLE_SCHEM
 java.lang.String getSelect()
          Liefert "myTable AS myAlias" oder nur "myTable"
 java.lang.String getTablename()
          Liefert den Tabellennamen.
 int getTableType()
          Liefert den TableType dieser Tabelle: ROOT, CHILD, PARENT
 java.lang.String getType()
          From DatabaseMetaData TABLE_TYPE ('TABLE', 'VIEW', ...)
 java.lang.String getVirtualChild()
           
 boolean hasChangeProtocol()
           
 boolean hasDataColumn(java.lang.String name)
          Prüft, ob eine DataColumn unter dem angegebenen Namen existiert.
 boolean isChildTable(JDataTable tbl)
          Prüft, ob die angegebene Tabelle ein abhängige Tabelle ist.
 boolean isChildTableObject(JDataTable tbl)
          Prüft, ob die angegebene Tabelle ein abhängige Tabelle ist.
 boolean isParentTable(JDataTable tbl)
          Prüft, ob die angegebene Tabelle ein übergeordnete Tabelle ist.
 boolean isParentTableObject(JDataTable tbl)
          Prüft, ob die angegebene Tabelle ein übergeordnete Tabelle ist.
 boolean isReadonly()
           
 boolean isSelfReference()
           
 boolean isTableObject(JDataTable tbl)
          Prüft, ob die angegebene Tabelle mit dieser Tabelle in irgendeiner Form verknüpft ist (entweder Parent oder Child, Grandparent,...).
 boolean isTransient()
          Liefert die Eigenschaft "transient".
 boolean isVirtualChild()
          Virtual Child Tables werden nicht in einer wirklichen Datenbank-Tabelle gespeichert, sondern in *einem* Feld der Parent-Tabelle.
 void setBeanClassName(java.lang.String beanClassName)
           
 void setCatalog(java.lang.String catalog)
           
 void setChangeProtocol(java.lang.String s)
          Änderungsprotokoll für diese Root-Tabelle definieren Das muß die Definition eines Views in PLConfig.xml sein.
 void setComment(java.lang.String comment)
           
 void setDatabaseName(java.lang.String databaseName)
          Da TABLE_SCHEM nicht zuverlässig funktioniert, wird hier der Name der Datenbank eingetragen.
 void setJoin(java.lang.String s)
          Die Spalten dieser Parent Table werden als [s] JOIN mit eingelesen.
 void setReadonly(boolean readonly)
          Die Daten dieser Tabelle werden nur gelesen, aber nie in die Datenbank zurückgeschrieben.
 void setRefname(java.lang.String string)
           
 void setSchema(java.lang.String schema)
          Set Database Schema
 void setSelfReference(boolean self)
          Selbst-Referenzierende Tabelle
 void setTablename(java.lang.String s)
          Deprecated.  
 void setTransient(boolean b)
          Definiert diese Tabelle als "transient" wenn 'true', d.h. sie wird vom Persistenz-Layer nie verwendet also weder aus der Datenbank gelesen, noch in sie geschrieben.
 void setType(java.lang.String type)
          Set Table Type.
 void setVirtualChild(java.lang.String virtualChild)
           
 java.lang.String toString()
          Liefert die DataTable als XML-Element
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

ROOT_TABLE

public static final int ROOT_TABLE
See Also:
Constant Field Values

CHILD_TABLE

public static final int CHILD_TABLE
See Also:
Constant Field Values

PARENT_TABLE

public static final int PARENT_TABLE
See Also:
Constant Field Values

META_DATABASE_NAME

public static final java.lang.String META_DATABASE_NAME
See Also:
Constant Field Values
Constructor Detail

JDataTable

public JDataTable()
Deprecated. For serialization purpose only.


JDataTable

public JDataTable(java.lang.String name)
Erzeugt eine Tabelle mit dem angegebenen Namen.


JDataTable

public JDataTable(java.lang.String name,
                  int tableType)
Erzeugt eine Tabelle vom angegebenen Typ (ROOT, CHILD, PARENT).

Parameters:
name -
tableType -

JDataTable

public JDataTable(java.lang.String name,
                  java.lang.String alias)
Erzeugt eine Tabelle mit dem angegebenen Namen und einem abweichenden Alias-Namen.


JDataTable

public JDataTable(java.lang.String name,
                  java.lang.String alias,
                  int tableType)
Method Detail

getChangeProtocol

public java.lang.String getChangeProtocol()

hasChangeProtocol

public boolean hasChangeProtocol()

setChangeProtocol

public void setChangeProtocol(java.lang.String s)
Änderungsprotokoll für diese Root-Tabelle definieren Das muß die Definition eines Views in PLConfig.xml sein.

Parameters:
s -

setTablename

public void setTablename(java.lang.String s)
Deprecated. 

Parameters:
s -

cloneTable

public JDataTable cloneTable(boolean deep)
Macht eine Kopie dieser DataTable.

Parameters:
deep - wenn true, dann auch Child- und Parent Tables mit kopieren.
See Also:
JDataRow.cloneRow(JDataTable)

getElement

public electric.xml.Element getElement(boolean deep)
Liefert die MetaDaten zu dieser Tabelle als XML-Element.

Dieses Element kann wieder als Constructor verwendet werden.

Parameters:
deep - wenn 'true', werden auch Child und Parent Tables mit verarbeitet.

getMetaDataSet

public JDataSet getMetaDataSet()
Liefert die Definition dieser Tabelle mit ihren Columns als DataSet; Child und Parent Tables werden mitgeliefert.

Returns:

addColumn

public JDataColumn addColumn(java.lang.String name,
                             int datatype)
Fügt der Tabelle eine weitere Spalte hinzu.

Achtung:
Ggf. im DataSet bereits vorhandene DataRows bleiben unberücksichtigt!


addColumn

public void addColumn(JDataColumn col)
Fügt der Tabelle eine weitere Spalte hinzu.

Achtung:
Ggf. im DataSet bereits vorhandene DataRows bleiben unberücksichtigt!


addChildTable

public Relation addChildTable(java.lang.String refName,
                              JDataTable tbl,
                              java.lang.String keys)
Fügt der Tabelle eine Child-Table hinzu

Parameters:
refName -
tbl -
keys -
Returns:
Die Relation zwischen den beiden Tabellen.

addChildTable

public Relation addChildTable(JDataTable tbl,
                              java.lang.String foreignKeys)
Fügt eine ChildTable hinzu.

Dieses ist bei Parent Tables nicht erlaubt. Child Tables sind abhängige Daten; also z.B. die Ansprechpartner einer Firma, die Buchungen auf einem Konto.

Die Table Reference muß eindeutig sein.

Parameters:
tbl -
foreignKeys - der Foreign Key in der Child-Table der auf diese Parent Table zeigt. Wenn der Foreign Key aus mehreren Feldern besteht, dann mit Komma getrennt. Es wird eine Exception geworfen, wenn die angegebenen Spalten in der Child Table nicht vorhanden sind.
Returns:
Die Relation zwischen den beiden Tabellen.

getChildRelations

public java.util.ArrayList<Relation> getChildRelations()
Liefert die Menge der abhängigen Relationen.

Returns:

getChildRelation

public Relation getChildRelation(java.lang.String refName)

getParentRelations

public java.util.ArrayList<Relation> getParentRelations()
Liefert die Menge der übergeordneten Relationen

Returns:

getParentRelation

public Relation getParentRelation(java.lang.String refName)

addParentTable

public void addParentTable(JDataTable tbl,
                           java.lang.String keys)
Fügt eine Parent Table hinzu.

Eine Parent Table ist eine übergeordnete Information; also z.B. die Funktion einer Person, der Artikelstamm zu einer Bestellung.

Parameters:
tbl - die Parent Table
keys - der Foreign Key in dieser Table der auf die Parent Table zeigt. Wenn der Foreign Key aus mehreren Feldern besteht, dann mit Komma getrennt. Es wird eine Exception geworfen, wenn die angegebenen Spalten in dieser Table nicht vorhanden sind.

getChildTable

public JDataTable getChildTable(java.lang.String _refname)
Liefert die Child Table mit dem angegebenen (Referenz-)Namen.

Wirft eine IllegalState- oder ArgumentException, wenn keine Childs vorhanden, oder angegebenen Tabelle nicht als Child definiert ist.

Parameters:
refname - Der Name der Referenz auf die Tabelle
Returns:

getParentTable

public JDataTable getParentTable(java.lang.String _refname)
Liefert die Parent Table mit dem angegebenen Name.

Wirft eine IllegalState- oder ArgumentException, wenn keine Parents vorhanden, oder angegebenen Tabelle nicht als Parent definiert ist.

Parameters:
refname - Der Name der Referenz auf die Tabelle
Returns:

createNewRow

public JDataRow createNewRow()
Erzeugt eine neue leere Zeile.

Diese DataRow hat die Eigenschaft 'inserted'. Die Spalten werden mit den default-Werten gefüllt.

Anschließend muss diese Zeile an geeigneter Stelle angefügt werden:

Returns:
See Also:
JDataSet.addRow(de.jdataset.JDataRow), JDataRow.addChildRow(de.jdataset.JDataRow), JDataRow.addParentRow(de.jdataset.JDataRow)

getDataColumn

public JDataColumn getDataColumn(java.lang.String name)
Liefert eine DataColumns dieser Tabelle unter Angabe ihres Namens.

Wirft eine Exception, wenn Column fehlt.

Funktioniert hier auch, wenn dem Column.Namen der Name dieser Tabelle mit einem "." vorangestellt wird.
"MyTable.MyColumn"

Parameters:
name -
Returns:

hasDataColumn

public boolean hasDataColumn(java.lang.String name)
Prüft, ob eine DataColumn unter dem angegebenen Namen existiert.

Parameters:
name -
Returns:

getAlias

public java.lang.String getAlias()
Der Aliasname der Tabelle oder null, wenn kein Alias

Returns:

getTablename

public java.lang.String getTablename()
Liefert den Tabellennamen.

Returns:

getFullTablename

public java.lang.String getFullTablename()
Liefert den voll-qualifizierten Tabellennamen: MySchema.MyTablename

Returns:

getAliasOrName

public java.lang.String getAliasOrName()
Liefert den Aliasname wenn vorhanden; ansonsten den Tabellennamen

Returns:

getSelect

public java.lang.String getSelect()
Liefert "myTable AS myAlias" oder nur "myTable"

Returns:

getSchema

public java.lang.String getSchema()
From Database MetaData TABLE_SCHEM

Returns:

setSchema

public void setSchema(java.lang.String schema)
Set Database Schema

Parameters:
schema -

getType

public java.lang.String getType()
From DatabaseMetaData TABLE_TYPE ('TABLE', 'VIEW', ...)

Returns:

setType

public void setType(java.lang.String type)
Set Table Type.
See DatabaseMetaData TABLE_TYPE

Parameters:
type -

getChildTables

public java.util.Iterator<JDataTable> getChildTables()
Liefert den Iterator für Child Tables.

Wenn keine ChildTables vorhanden, wird ein leerer Iterator geliefert.

Returns:

isChildTable

public boolean isChildTable(JDataTable tbl)
Prüft, ob die angegebene Tabelle ein abhängige Tabelle ist.

Parameters:
tbl -
Returns:
Auch false, wenn keine childTables vorhanden

isChildTableObject

public boolean isChildTableObject(JDataTable tbl)
Prüft, ob die angegebene Tabelle ein abhängige Tabelle ist. Im Unterscheid zu isParentTable wird hier auf Gleichheit der Objekte geprüft, und nicht auf den Namen der Tabelle. Außerdem wird rekursiv die ganze Tiefes des Tabellenbaums weiter durchsucht.

Parameters:
tbl -
Returns:
Auch false, wenn keine childTables vorhanden

isTableObject

public boolean isTableObject(JDataTable tbl)
Prüft, ob die angegebene Tabelle mit dieser Tabelle in irgendeiner Form verknüpft ist (entweder Parent oder Child, Grandparent,...).

Parameters:
tbl -
Returns:

isParentTable

public boolean isParentTable(JDataTable tbl)
Prüft, ob die angegebene Tabelle ein übergeordnete Tabelle ist.

Parameters:
tbl -
Returns:
Auch false, wenn keine ParentTables vorhanden.

isParentTableObject

public boolean isParentTableObject(JDataTable tbl)
Prüft, ob die angegebene Tabelle ein übergeordnete Tabelle ist. Im Unterscheid zu isParentTable wird hier auf Gleichheit der Objecte geprüft, und nicht auf den Namen der Tabelle. Außerdem wird rekursiv die ganze Tiefes des Tabellenbaums weiter durchsucht.

Parameters:
tbl -
Returns:
Auch false, wenn keine ParentTables vorhanden.

getParentTables

public java.util.Iterator<JDataTable> getParentTables()
Liefert den Iterator für Parent Tables.

Es wird ein leerer Iterator geliefert, wenn keine ParentTables vorhanden.

Returns:

getTableType

public int getTableType()
Liefert den TableType dieser Tabelle: ROOT, CHILD, PARENT

Returns:

getDataColumnNames

public java.util.ArrayList<java.lang.String> getDataColumnNames()
Liefert die Namen der Columns

Returns:

getDataColumns

public java.util.Iterator<JDataColumn> getDataColumns()
Liefert den Iterator von DataColumns.

Returns:
null, wenn keine Columns vorhanden.

getDataColumnCount

public int getDataColumnCount()
Liefert die Anzahl der Spalten in dieser Tabelle

Returns:

getPKColumn

public JDataColumn getPKColumn()
Liefert die Primary Key Column; wirft eine Exception, wenn der Primary Key nicht *genau* eine Spalte hat.

Returns:

getPKColumns

public java.util.Iterator<JDataColumn> getPKColumns()
Liefert einen Iterator über die DataColumns, die den Primary Key bilden.

Wenn kein PK definiert, wird ein leerer Iterator geliefert.

Returns:

getPKs

public java.lang.String getPKs()
Liefert die Feldnamen der Primary Key Columns als String mit Komma getrennt. TODO: [PKÖ] Stimmt denn hier die Reihenfolge der Columns immer?

Returns:

getPKColumnsCount

public int getPKColumnsCount()
Liefert die Zahl der Columns die den Primary Key bilden.

Returns:
Wenn 0, dann kein PK definiert

getFK

public java.lang.String getFK(java.lang.String refName)
Deprecated. Liefert die Foreign Key Columns für die angegebene Relation


getParentFK

public java.lang.String getParentFK()
Bei Parent Tables liefert dieses den Foreign Key, der von der ChildTable auf Tabelle zeigt. Wenn mehrere Felder, dann durch Komma getrennt.

TODO : Diese Methode liefert falsche Ergebnisse, wenn ein Tabellen-Objekt mehrfach als Parent-Table eingesetzt wird.

Returns:

getJoin

public java.lang.String getJoin()
Wenn != null, dann wird diese Parent Table mit JOIN eingelesen. eingelesen.

Returns:

setJoin

public void setJoin(java.lang.String s)
Die Spalten dieser Parent Table werden als [s] JOIN mit eingelesen.

Parameters:
s -

getRefname

public java.lang.String getRefname()
Liefert den Referenznamen dieser Tabelle.

Wenn keine Referenz angegeben wird der Tabellenname geliefert. Siehe Attribut 'refname'.

Returns:

setRefname

public void setRefname(java.lang.String string)
Parameters:
string -

getMetaDataTable

public static JDataTable getMetaDataTable()
Liefert eine DataTable mit den Attributen einer DataTable (Uff!).

Returns:

getMetaDataRow

public JDataRow getMetaDataRow()
Liefert eine DataRow mit den Attributen eines JDataTable-Objektes

Returns:

getMetaDataRow

public JDataRow getMetaDataRow(JDataRow row)

getDatabaseName

public java.lang.String getDatabaseName()
Returns:
Returns the databaseName.

setDatabaseName

public void setDatabaseName(java.lang.String databaseName)
Da TABLE_SCHEM nicht zuverlässig funktioniert, wird hier der Name der Datenbank eingetragen.

Parameters:
databaseName - The databaseName to set.

isSelfReference

public boolean isSelfReference()
Returns:
Returns the selfReference.

setSelfReference

public void setSelfReference(boolean self)
Selbst-Referenzierende Tabelle

Parameters:
-

getCatalog

public java.lang.String getCatalog()
From Database MetaData TABLE_CAT

Returns:
Returns the TABLE_CAT

setCatalog

public void setCatalog(java.lang.String catalog)
Parameters:
catalog - The TABLE_CAT to set.

isReadonly

public boolean isReadonly()
Returns:
Returns the readonly.

setReadonly

public void setReadonly(boolean readonly)
Die Daten dieser Tabelle werden nur gelesen, aber nie in die Datenbank zurückgeschrieben.

Parameters:
readonly - The readonly to set.

setTransient

public void setTransient(boolean b)
Definiert diese Tabelle als "transient" wenn 'true', d.h. sie wird vom Persistenz-Layer nie verwendet also weder aus der Datenbank gelesen, noch in sie geschrieben.

Alle Spalten einer transiente Tabelle sind gleichfalls transient.

Parameters:
b -

isTransient

public boolean isTransient()
Liefert die Eigenschaft "transient".

Returns:

getComment

public java.lang.String getComment()
Returns:
Returns the comment.

setComment

public void setComment(java.lang.String comment)
Parameters:
comment - The comment to set.

toString

public java.lang.String toString()
Liefert die DataTable als XML-Element

Overrides:
toString in class java.lang.Object

generateClazz

public static java.lang.String generateClazz(JDataTable tbl,
                                             java.lang.String pack)

getBeanClassName

public java.lang.String getBeanClassName()

setBeanClassName

public void setBeanClassName(java.lang.String beanClassName)

isVirtualChild

public boolean isVirtualChild()
Virtual Child Tables werden nicht in einer wirklichen Datenbank-Tabelle gespeichert, sondern in *einem* Feld der Parent-Tabelle.

Dem Dataset ist nicht anzusehen, ob die Child-Tabelle in der Datenbank wirklich existiert oder nicht.

Returns:
Returns the virtualChild.

setVirtualChild

public void setVirtualChild(java.lang.String virtualChild)
Parameters:
virtualChild - The virtualChild to set.

getVirtualChild

public java.lang.String getVirtualChild()

getMyDataset

public JDataSet getMyDataset()
Liefert den Dataset, zu dem diese Tabelle gehört oder null, wenn außerhalb eines Dataset.

Returns:
Returns the myDataset.

getMyParentTable

public JDataTable getMyParentTable()
Liefert die dieser Tabelle übergeordnete Tabelle im Dataset. Ist bei einer ROOT_TABLE also null.

Returns:
Returns the myParentTable.
See Also:
getMyDataset()