public final class JDataColumn
extends java.lang.Object
implements java.io.Serializable
Eine DataColumn sollte nur über eine DataTable erzeugt werden.
Constructor and Description |
---|
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
|
Modifier and Type | Method and Description |
---|---|
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 |
setAlias(java.lang.String alias) |
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
|
public JDataColumn()
public JDataColumn(JDataTable tbl, java.lang.String name, int type)
tbl
- name
- type
- public JDataColumn(JDataTable tbl, java.lang.String name, java.lang.String alias, int type)
tbl
- name
- alias
- type
- public JDataColumn(JDataTable tbl, java.lang.String name, int type, boolean nullable, boolean readonly)
tbl
- name
- type
- nullable
- readonly
- public JDataColumn(JDataTable tbl, electric.xml.Element ele)
ele
- public JDataColumn(JDataTable tbl, JDataRow row)
row
- public void setForeignKey(boolean b)
b
- public electric.xml.Element getElement()
public int getDataType()
public void setDataType(int type)
type
- Konstante aus java.sql.Typespublic void setDataType(java.lang.String type)
type
- Konstante aus java.sql.Typespublic java.lang.String getColumnName()
public void setColumnName(java.lang.String s)
s
- String, neuer Name der Spaltepublic int getColumIndex()
Dieser Index entspricht dem der DataValues in der entsprechenden DataRow.
public java.lang.String getDefaultValue()
Workaround:
Als DefaultValue wird null geliefert, wenn die Spalte
Primary Key ist.
MySql setzt leider den DefaultValue von notnull
Integer Keys immer auf "0".
JDataTable.createNewRow()
public void setDefaultValue(java.lang.String s)
s
- public boolean isForeignKey()
public boolean isPrimaryKey()
public boolean isReadonly()
public void setReadonly(boolean b)
b
- public void setTransient(boolean b)
b
- public boolean isTransient()
Eine Spalte ist auch dann transient, wenn ihre Tabelle transient ist.
JDataTable.setTransient(boolean)
public int getSize()
public void setSize(int i)
i
- public void setPrimaryKey(boolean b)
b
- public java.lang.String getAlias()
public void setAlias(java.lang.String alias)
public JDataTable getDataTable()
public java.lang.String getSelect()
SELECT name,
SELECT name AS alias,
public java.lang.String getSelectJoin()
public boolean isNullable()
public void setNullable(boolean b)
b
- public boolean isAutoid()
public void setAutoid(boolean b)
b
- public static java.lang.String getTypeName(int i)
i
- public static int getType(java.lang.String typeName)
"INTEGER" --> Types.INTEGER
Wenn fehlt, dann VARCHAR
typeName
- public static JDataTable getMetaDataTable()
public JDataRow getMetaDataRow()
public int getDecimalDigits()
public void setDecimalDigits(int i)
i
- public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getComment()
public void setComment(java.lang.String comment)
comment
- The comment to set.public static boolean isSupportedColumnType(int type)
type
- @see java.sql.Typespublic int getKeySeq()
public void setKeySeq(int key_seq)
key_seq
- The key_seq to set.public static boolean isBinaryType(int t)
t
- int, zur prüfender Datentyp @see java.sql.Types.public static boolean isBooleanType(int t)