de.jdataset
Class JDataColumn

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

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

Definition einer Spalte in einer Tabelle.

Eine DataColumn sollte nur über eine DataTable erzeugt werden.

See Also:
JDataTable.addColumn(java.lang.String, int), Serialized Form

Constructor Summary
JDataColumn()
          Deprecated. For serialization purpose only.
JDataColumn(JDataTable tbl, electric.xml.Element ele)
          Wenn hier das Attribut 'type' fehlt, wird VARCHAR angenommen.
JDataColumn(JDataTable tbl, JDataRow row)
          Erzeugt eine DataColumn aus einer geeigneten DataRow
JDataColumn(JDataTable tbl, java.lang.String name, int type)
          Erzeugt eine DataColumn in der angegebenen Tabelle mit dem angegebenen Namen vom angegebenen Datentyp (Konstanten auch aus java.sql.Types).
JDataColumn(JDataTable tbl, java.lang.String name, int type, boolean nullable, boolean readonly)
           
JDataColumn(JDataTable tbl, java.lang.String name, java.lang.String alias, int type)
          Erzeugt eine Tabellenspalte mit einem Alias-Namen
 
Method Summary
 java.lang.String getAlias()
          Liefert den Alias-Name dieser Column oder null, wenn kein Alias
 int getColumIndex()
          Liefert den Index, unter dem diese Column in der DataTable geführt wird (0-relativ).
 java.lang.String getColumnName()
          Liefert den Spaltenname.
 java.lang.String getComment()
           
 JDataTable getDataTable()
          Liefert die Datatable zur Column,
 int getDataType()
          Liefert den SQL-Type der Spalte (siehe java.sql.Types)
 int getDecimalDigits()
           
 java.lang.String getDefaultValue()
          Liefert den Default-Wert dieser Spalte; dieser Wert wird verwendet, wenn eine Zeile neu erzeugt wird.
 electric.xml.Element getElement()
          Zwecks Dokumentation wird ein XML-Element erstellt.
 int getKeySeq()
          Liefert die Position dieser Column im Primary Key falls Primary Key (1-relativ)
 JDataRow getMetaDataRow()
          Liefert die Metadaten ein DataColumn als DataRow
static JDataTable getMetaDataTable()
          Liefert die DataTable mit den Feldnamen dieser Klasse.
 java.lang.String getSelect()
          Liefert den Anteil des SELECT-Statements für diese Column: SELECT name,
SELECT name AS alias,
 java.lang.String getSelectJoin()
          Teil des SELECT-STatements incl.
 int getSize()
          Liefert die maximale Länge dieser Column; nur für Strings wirklich von Interesse.
static int getType(java.lang.String typeName)
          Liefert zu dem angegebenen Datenbank-Feldtypen den entsprechenden Wert aus java.sql.Types "INTEGER" --> Types.INTEGER Wenn fehlt, dann VARCHAR
static java.lang.String getTypeName(int i)
          Liefert den SQL-Datentyp-Namen zu der angegebenen Konstante aus java.sql.Types.
 boolean isAutoid()
           
static boolean isBinaryType(int t)
          Prüft, ob eine Datentyp (java.sql.Types) zu den binären Datentypen gehört.
static boolean isBooleanType(int t)
           
 boolean isForeignKey()
          Liefert true, wenn diese Spalte zu einem Foreign Key gehört.
 boolean isNullable()
          !
 boolean isPrimaryKey()
          Liefert true, wenn die Spalte zum Primary Key gehört.
 boolean isReadonly()
          Liefert true, wenn diese Spalte nur aus der Datenbank gelesen, aber niemals geschrieben wird (INSERT, UPDATE).
static boolean isSupportedColumnType(int type)
          Liefert 'true' wenn der angegebene Datentyp von diesem Framework unterstützt wird.
 boolean isTransient()
          Liefert die Eigenschaft "transient".
 void setAutoid(boolean b)
          Wenn true, werden die Primary Keys von der Datenbank erzeugt.
 void setColumnName(java.lang.String s)
          Setzt den Spaltenname.
 void setComment(java.lang.String comment)
           
 void setDataType(int type)
          Setzt den Datentyp dieser Spalte.
 void setDataType(java.lang.String type)
          Setzt den Datentyp dieser Spalte.
 void setDecimalDigits(int i)
           
 void setDefaultValue(java.lang.String s)
          Der Default-Wert dieser Spalte wird gesetzt.
 void setForeignKey(boolean b)
          Diese Spalte ist Teil eines Foreign Key.
 void setKeySeq(int key_seq)
           
 void setNullable(boolean b)
          Definiert, ob NULL-Values in dieser Spalte erlaubt sind.
 void setPrimaryKey(boolean b)
          Ich bin Primary Key meiner Tabelle (oder ein Teil davon).
 void setReadonly(boolean b)
          Wenn hier true übergeben wird, wird diese Spalte nie in die Datenbank geschrieben.
 void setSize(int i)
          Setzt die maximale Länge dieser Column.
 void setTransient(boolean b)
          Definiert diese Spalte als "transient" wenn 'true', d.h. sie wird vom Persistenz-Layer nie verwendet also weder aus der Datenbank gelesen, noch in sie geschrieben.
 java.lang.String toString()
          Liefert die DataColumn als XML-Element
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JDataColumn

public JDataColumn()
Deprecated. For serialization purpose only.


JDataColumn

public JDataColumn(JDataTable tbl,
                   java.lang.String name,
                   int type)
Erzeugt eine DataColumn in der angegebenen Tabelle mit dem angegebenen Namen vom angegebenen Datentyp (Konstanten auch aus java.sql.Types).

Parameters:
tbl -
name -
type -

JDataColumn

public JDataColumn(JDataTable tbl,
                   java.lang.String name,
                   java.lang.String alias,
                   int type)
Erzeugt eine Tabellenspalte mit einem Alias-Namen

Parameters:
tbl -
name -
alias -
type -

JDataColumn

public JDataColumn(JDataTable tbl,
                   java.lang.String name,
                   int type,
                   boolean nullable,
                   boolean readonly)
Parameters:
tbl -
name -
type -
nullable -
readonly -

JDataColumn

public JDataColumn(JDataTable tbl,
                   electric.xml.Element ele)
Wenn hier das Attribut 'type' fehlt, wird VARCHAR angenommen.

Parameters:
ele -

JDataColumn

public JDataColumn(JDataTable tbl,
                   JDataRow row)
Erzeugt eine DataColumn aus einer geeigneten DataRow

Parameters:
row -
Method Detail

setForeignKey

public void setForeignKey(boolean b)
Diese Spalte ist Teil eines Foreign Key.

Parameters:
b -

getElement

public electric.xml.Element getElement()
Zwecks Dokumentation wird ein XML-Element erstellt.

Returns:
Element

getDataType

public int getDataType()
Liefert den SQL-Type der Spalte (siehe java.sql.Types)

Returns:

setDataType

public void setDataType(int type)
Setzt den Datentyp dieser Spalte.

Parameters:
type - Konstante aus java.sql.Types

setDataType

public void setDataType(java.lang.String type)
Setzt den Datentyp dieser Spalte.

Parameters:
type - Konstante aus java.sql.Types

getColumnName

public java.lang.String getColumnName()
Liefert den Spaltenname.

Returns:

setColumnName

public void setColumnName(java.lang.String s)
Setzt den Spaltenname.

Parameters:
s - String, neuer Name der Spalte

getColumIndex

public int getColumIndex()
Liefert den Index, unter dem diese Column in der DataTable geführt wird (0-relativ).

Dieser Index entspricht dem der DataValues in der entsprechenden DataRow.

Returns:

getDefaultValue

public java.lang.String getDefaultValue()
Liefert den Default-Wert dieser Spalte; dieser Wert wird verwendet, wenn eine Zeile neu erzeugt wird.

Workaround:
Als DefaultValue wird null geliefert, wenn die Spalte Primary Key ist. MySql setzt leider den DefaultValue von notnull Integer Keys immer auf "0".

Returns:
See Also:
JDataTable.createNewRow()

setDefaultValue

public void setDefaultValue(java.lang.String s)
Der Default-Wert dieser Spalte wird gesetzt. dieser Wert wird verwendet, wenn eine Zeile neu erzeugt wird.

Parameters:
s -

isForeignKey

public boolean isForeignKey()
Liefert true, wenn diese Spalte zu einem Foreign Key gehört. Achtung!
Es kann sein, daß diese Spalte zu mehreren Foreign Keys gehört!

Returns:

isPrimaryKey

public boolean isPrimaryKey()
Liefert true, wenn die Spalte zum Primary Key gehört.

Returns:

isReadonly

public boolean isReadonly()
Liefert true, wenn diese Spalte nur aus der Datenbank gelesen, aber niemals geschrieben wird (INSERT, UPDATE).

Returns:

setReadonly

public void setReadonly(boolean b)
Wenn hier true übergeben wird, wird diese Spalte nie in die Datenbank geschrieben.

Parameters:
b -

setTransient

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

Parameters:
b -

isTransient

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

Eine Spalte ist auch dann transient, wenn ihre Tabelle transient ist.

Returns:
See Also:
JDataTable.setTransient(boolean)

getSize

public int getSize()
Liefert die maximale Länge dieser Column; nur für Strings wirklich von Interesse.

Returns:

setSize

public void setSize(int i)
Setzt die maximale Länge dieser Column. Nur bei Strings wirklich hilfreich.

Parameters:
i -

setPrimaryKey

public void setPrimaryKey(boolean b)
Ich bin Primary Key meiner Tabelle (oder ein Teil davon).

Parameters:
b -

getAlias

public java.lang.String getAlias()
Liefert den Alias-Name dieser Column oder null, wenn kein Alias

Returns:

getDataTable

public JDataTable getDataTable()
Liefert die Datatable zur Column,

Returns:
myTable JDataTable

getSelect

public java.lang.String getSelect()
Liefert den Anteil des SELECT-Statements für diese Column:

SELECT name,
SELECT name AS alias,

Returns:

getSelectJoin

public java.lang.String getSelectJoin()
Teil des SELECT-STatements incl. Tabellenname:
SELECT ... myTableName.myColumnName,...
SELECT ... myTableName.myColumnName AS aliasName,...

Returns:

isNullable

public boolean isNullable()
!notnull

Returns:

setNullable

public void setNullable(boolean b)
Definiert, ob NULL-Values in dieser Spalte erlaubt sind.

Parameters:
b -

isAutoid

public boolean isAutoid()
Returns:

setAutoid

public void setAutoid(boolean b)
Wenn true, werden die Primary Keys von der Datenbank erzeugt.

Parameters:
b -

getTypeName

public static java.lang.String getTypeName(int i)
Liefert den SQL-Datentyp-Namen zu der angegebenen Konstante aus java.sql.Types.

Parameters:
i -
Returns:

getType

public static int getType(java.lang.String typeName)
Liefert zu dem angegebenen Datenbank-Feldtypen den entsprechenden Wert aus java.sql.Types

"INTEGER" --> Types.INTEGER

Wenn fehlt, dann VARCHAR

Parameters:
typeName -
Returns:

getMetaDataTable

public static JDataTable getMetaDataTable()
Liefert die DataTable mit den Feldnamen dieser Klasse.

Returns:

getMetaDataRow

public JDataRow getMetaDataRow()
Liefert die Metadaten ein DataColumn als DataRow

Returns:

getDecimalDigits

public int getDecimalDigits()
Returns:

setDecimalDigits

public void setDecimalDigits(int i)
Parameters:
i -

toString

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

Overrides:
toString in class java.lang.Object

getComment

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

setComment

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

isSupportedColumnType

public static boolean isSupportedColumnType(int type)
Liefert 'true' wenn der angegebene Datentyp von diesem Framework unterstützt wird.

Parameters:
type - @see java.sql.Types
Returns:

getKeySeq

public int getKeySeq()
Liefert die Position dieser Column im Primary Key falls Primary Key (1-relativ)

Returns:
Returns the key_seq.

setKeySeq

public void setKeySeq(int key_seq)
Parameters:
key_seq - The key_seq to set.

isBinaryType

public static boolean isBinaryType(int t)
Prüft, ob eine Datentyp (java.sql.Types) zu den binären Datentypen gehört.

Parameters:
t - int, zur prüfender Datentyp @see java.sql.Types.
Returns:
'true', wenn der Datentyp binär ist, false sonst.

isBooleanType

public static boolean isBooleanType(int t)