de.jdataset
Class JDataValue

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

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

Repräsentiert den Wert einer Spalte in einer Zeile.

Der Wert wird intern immer als String gehalten, und zwar in einer Human Readable Form.
Die Formate für Date, Time und Timestamp werden aus der Klasse Convert übernommen.

See Also:
JDataColumn, JDataRow, Serialized Form

Field Summary
static int ILLEGAL_BOOLEAN_VALUE
           
static int ILLEGAL_DATE_FORMAT
           
static int ILLEGAL_DATETIME_FORMAT
           
static int ILLEGAL_NUMBER_FORMAT
           
static int ILLEGAL_TIME_FORMAT
           
static int MAX_LENGTH_EXEEDED
           
static int NO_ERROR
           
static int NOTNULL
           
static int USER_DEFINED_ERROR
           
 
Constructor Summary
JDataValue()
          Deprecated. For serialization purpose only.
JDataValue(JDataColumn column, java.lang.String value)
          Erzeugt einen neuen Wert unter Angabe der Spalte und des Werts.
 
Method Summary
 JDataColumn getColumn()
          Liefert die Column-Definition zu diesem Value.
 java.lang.String getColumnName()
          Liefert den Spaltenname.
 int getDataType()
          Liefert den Sql-Datentyp aus der Spalte siehe java.sql.Types
 int getErrorCode()
          Liefert den Fehlercode von verify
 java.lang.Object getObjectValue()
           
 java.lang.String getOldValue()
          Liefert den Wert dieser Spalte vor der letzten Änderung.
 java.lang.String getValue()
          Liefert den Wert dieser Spalte.
 java.lang.String getValue(java.lang.String defaultValue)
          Liefert den Wert dieser Spalte oder den übergebenen Default-Wert wenn null.
 java.math.BigDecimal getValueBigDecimal()
          Liefert den Wert als BigDecimal
 boolean getValueBool()
          Liefert den Wert als boolean.
 java.util.Date getValueDate()
          Liefert den Wert dieser Spalte als Datum.
 java.util.Date getValueDate(java.util.Date defaultValue)
          Liefert den Wert dieser Spalte als Datum oder den übergebenen Default-Wert wenn null.
 double getValueDouble()
          Liefert den Wert als double
 int getValueInt()
          Liefert den Wert dieser Spalte als int.
 int getValueInt(int defaultValue)
          Liefert den Wert dieser Spalte als int oder den übergebenen Default-Wert wenn null.
 long getValueLong()
          Liefert den Wert dieser Spalte als long.
 long getValueLong(long defaultValue)
          Liefert den Wert dieser Spalte als long oder den übergebenen Default-Wert wenn null.
 java.lang.Object getValueObject()
           
 java.sql.Timestamp getValueTimestamp()
          Liefert den Inhalt der Spalte als Timestamp.
 boolean isBinary()
          Falls BLOB durch die Methode setObjectValue gesetzt wurde, wird true geliefert
 boolean isModified()
          Nur ein Wert der die Eigenschaft 'modified' hat, wird beim UPDATE in die Datenbank geschrieben.
 boolean isModifiedPersistent()
          Liefert die Eigenschaft modified nur als true, wenn nicht transient und nicht readonly.
 void rollbackChanges()
          Setzt den Wert auf den vorigen Wert zurück falls Inhalt verändert wurde und setzt die Eigenschaft 'modified' wieder auf 'false'.
 void setErrorCode(int code)
          Setzt den ErrorCode auf einen angegebenen Wert.
 void setModified(boolean b)
          Ein Wert der die Eigenschaft 'modified' hat, wird in die Datenbank geschrieben: UPDATE.
 void setObjectValue(java.lang.Object o)
          Setzt den Object-Value des Datavalues
 java.lang.String setValue(java.math.BigDecimal big)
          Setzt den Wert als BigDecimal.
 java.lang.String setValue(boolean b)
          Setzt den Wert der Spalte und liefert entsprechend 'true' oder 'false'.
 java.lang.String setValue(java.util.Date date)
          Setzt den Wert der Spalte als Datum; wird in String verwandelt.
 java.lang.String setValue(double d)
          Setzt den Wert als double.
 java.lang.String setValue(int i)
          Setzt den Wert der Spalte als int; wird in String verwandelt.
 java.lang.String setValue(long l)
          Setzt den Wert der Spalte als long; wird in String verwandelt.
 java.lang.String setValue(java.lang.Object o)
          Die Konvertierung nach String hängt vom Datentyp ab.
 java.lang.String setValue(java.lang.String s)
          Setzt den Wert dieser Spalte.
 java.lang.String toString()
           
 boolean verify(boolean inserted)
          Überprüft den Wert auf Gültigkeit; wenn hier 'false' geliefert wird, kann man sich mit getErrorCode den Fehler anzeigen lassen.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

NO_ERROR

public static final int NO_ERROR
See Also:
Constant Field Values

NOTNULL

public static final int NOTNULL
See Also:
Constant Field Values

MAX_LENGTH_EXEEDED

public static final int MAX_LENGTH_EXEEDED
See Also:
Constant Field Values

ILLEGAL_DATE_FORMAT

public static final int ILLEGAL_DATE_FORMAT
See Also:
Constant Field Values

ILLEGAL_TIME_FORMAT

public static final int ILLEGAL_TIME_FORMAT
See Also:
Constant Field Values

ILLEGAL_DATETIME_FORMAT

public static final int ILLEGAL_DATETIME_FORMAT
See Also:
Constant Field Values

ILLEGAL_NUMBER_FORMAT

public static final int ILLEGAL_NUMBER_FORMAT
See Also:
Constant Field Values

ILLEGAL_BOOLEAN_VALUE

public static final int ILLEGAL_BOOLEAN_VALUE
See Also:
Constant Field Values

USER_DEFINED_ERROR

public static final int USER_DEFINED_ERROR
See Also:
Constant Field Values
Constructor Detail

JDataValue

public JDataValue()
Deprecated. For serialization purpose only.


JDataValue

public JDataValue(JDataColumn column,
                  java.lang.String value)
Erzeugt einen neuen Wert unter Angabe der Spalte und des Werts.

Method Detail

getColumnName

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

See Also:
JDataColumn.getColumnName()

getDataType

public int getDataType()
Liefert den Sql-Datentyp aus der Spalte siehe java.sql.Types

See Also:
JDataColumn.getDataType()

getValue

public java.lang.String getValue()
Liefert den Wert dieser Spalte.

Returns:

getValue

public java.lang.String getValue(java.lang.String defaultValue)
Liefert den Wert dieser Spalte oder den übergebenen Default-Wert wenn null.

Returns:

getValueDate

public java.util.Date getValueDate()
Liefert den Wert dieser Spalte als Datum.

Returns:

getValueTimestamp

public java.sql.Timestamp getValueTimestamp()
Liefert den Inhalt der Spalte als Timestamp. Wirft eine IllegalStateException, wenn die Spalte nicht vom Typ Types.TIMESTAMP ist.

Returns:

getValueDate

public java.util.Date getValueDate(java.util.Date defaultValue)
Liefert den Wert dieser Spalte als Datum oder den übergebenen Default-Wert wenn null.

Parameters:
defaultValue -
Returns:

getValueInt

public int getValueInt()
Liefert den Wert dieser Spalte als int.

Returns:
See Also:
Convert

getValueInt

public int getValueInt(int defaultValue)
Liefert den Wert dieser Spalte als int oder den übergebenen Default-Wert wenn null.

Returns:

getValueLong

public long getValueLong()
Liefert den Wert dieser Spalte als long.

Returns:

getValueLong

public long getValueLong(long defaultValue)
Liefert den Wert dieser Spalte als long oder den übergebenen Default-Wert wenn null.

Returns:

getValueDouble

public double getValueDouble()
Liefert den Wert als double

Returns:

getValueBool

public boolean getValueBool()
Liefert den Wert als boolean.

Returns:

getValueObject

public java.lang.Object getValueObject()
Returns:
See Also:
Convert.toObject(String, int)

getObjectValue

public java.lang.Object getObjectValue()
Returns:
See Also:
setObjectValue

getOldValue

public java.lang.String getOldValue()
Liefert den Wert dieser Spalte vor der letzten Änderung.

Returns:

setValue

public java.lang.String setValue(java.lang.String s)
Setzt den Wert dieser Spalte.

Wenn der Wert abweichend zu dem bisherigen Inhalt ist, wird modified auf 'true' gesetzt.

Achtung!
Auch wenn die dazugehörige DataColumn readonly ist, können hier Werte übergeben werden; diese finden nur nie den Weg in die Datenbank.

Falls dieser Wert Teil eines Primärschlüssels ist, wird bei ggf. vorhandenen abhängigen Daten die Update-Rule für den Foreign Key berücksichtigt.

Parameters:
s - Der neue Inhalt der Spalte
Returns:
Der übergebene Wert
See Also:
isModified(), JDataColumn.isReadonly

setValue

public java.lang.String setValue(long l)
Setzt den Wert der Spalte als long; wird in String verwandelt.

Parameters:
l -

setValue

public java.lang.String setValue(int i)
Setzt den Wert der Spalte als int; wird in String verwandelt.

Parameters:
i -

setValue

public java.lang.String setValue(boolean b)
Setzt den Wert der Spalte und liefert entsprechend 'true' oder 'false'.

Parameters:
b -
Returns:
ein boolean als String konvertiert.

setValue

public java.lang.String setValue(java.util.Date date)
Setzt den Wert der Spalte als Datum; wird in String verwandelt.
Nimmt auch Objekte der Klasse Timestamp.

Parameters:
date -
Returns:
Das übergebene Datum als String

setValue

public java.lang.String setValue(double d)
Setzt den Wert als double.

Parameters:
d -
Returns:
Der übergebene Wert als String

setValue

public java.lang.String setValue(java.math.BigDecimal big)
Setzt den Wert als BigDecimal.

Parameters:
big -
Returns:

getValueBigDecimal

public java.math.BigDecimal getValueBigDecimal()
Liefert den Wert als BigDecimal

Returns:

setValue

public java.lang.String setValue(java.lang.Object o)
Die Konvertierung nach String hängt vom Datentyp ab.

Parameters:
o -
Returns:
nach String konvertiertes Objekt
See Also:
getDataType(), Convert

setObjectValue

public void setObjectValue(java.lang.Object o)
Setzt den Object-Value des Datavalues

Parameters:
o -

isBinary

public boolean isBinary()
Falls BLOB durch die Methode setObjectValue gesetzt wurde, wird true geliefert

Returns:

isModified

public boolean isModified()
Nur ein Wert der die Eigenschaft 'modified' hat, wird beim UPDATE in die Datenbank geschrieben.

Returns:

isModifiedPersistent

public boolean isModifiedPersistent()
Liefert die Eigenschaft modified nur als true, wenn nicht transient und nicht readonly.

Wird vom Persistenz-Layer für UPDATE benötigt.

Returns:
See Also:
JDataColumn.isTransient(), JDataColumn.isReadonly()

setModified

public void setModified(boolean b)
Ein Wert der die Eigenschaft 'modified' hat, wird in die Datenbank geschrieben: UPDATE.

Wenn modified auf false gesetzt wird, dann wird oldValue auf null gesetzt.


getColumn

public JDataColumn getColumn()
Liefert die Column-Definition zu diesem Value.

Returns:

rollbackChanges

public void rollbackChanges()
Setzt den Wert auf den vorigen Wert zurück falls Inhalt verändert wurde und setzt die Eigenschaft 'modified' wieder auf 'false'.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
See Also:
getValue()

getErrorCode

public int getErrorCode()
Liefert den Fehlercode von verify

Returns:
See Also:
verify(boolean)

setErrorCode

public void setErrorCode(int code)
Setzt den ErrorCode auf einen angegebenen Wert.

Parameters:
code -

verify

public boolean verify(boolean inserted)
Überprüft den Wert auf Gültigkeit; wenn hier 'false' geliefert wird, kann man sich mit getErrorCode den Fehler anzeigen lassen.

Returns:
See Also:
getErrorCode()