com.basecmp.core.persistence.impl
Interface IPersistentRow

All Superinterfaces:
java.util.Map
All Known Subinterfaces:
PersistentAsset
All Known Implementing Classes:
Binding, PersistentRow, SinglePersistentAsset, TransientAsset

public interface IPersistentRow
extends java.util.Map

PersistentRow dient als reiner (transienter) Datenbehälter für einen kompletten Datensatz (eine Zeile) aus einer oder mehreren (1:1-Join) Datenbanktabellen. Programmtechnisch gesehen ist PersistentRow eine relativ dünne Hülle um eine HashMap (interne Darstellung der Daten).

PersistentRow fordert für jede Instanz ein korrespondierendes Instanz von SqlTableMetaData an.

Author:
Wolfgang Schröder

Nested Class Summary
 
Nested classes inherited from class java.util.Map
java.util.Map.Entry
 
Method Summary
 boolean containsColumn(java.lang.String name)
          Delegate an SqlTableMetaData.containsColumn
 boolean containsXmlAttributes()
          True, wenn eine Spalte des PersistentRow weitere Spaltes als XML enthält.
 java.util.Iterator createColumnNames()
          Delegate an SqlTableMetaData.getColumnNames
 java.util.Iterator createSqlColumnNames()
          Liefert nur die Namen der tatsächlichen Spalten die in einer SQL-Tabelle existieren, also ohne die Namen ggf vorhandener XML-Spaltennamen.
 java.lang.Object getColumn(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte.
 boolean getColumnAsBoolean(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Boolean-Skalar.
 int getColumnAsInt(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als int-Wert Liefert 0, wenn in der Datenbank-Tabelle null steht oder der Wert wirklich 0 ist.
 java.lang.Integer getColumnAsInteger(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Integer-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.
 long getColumnAsLong(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als long-Wert Liefert 0, wenn in der Datenbank-Tabelle null steht oder der Wert wirklich 0 ist.
 java.lang.Long getColumnAsLongObject(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Long-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.
 java.lang.String getColumnAsString(java.lang.String name)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als String-Objekt Liefert nie null!
 int getColumnCount()
          Delegate an SqlTableMetaData.getColumnCount
 java.lang.String getDataType(java.lang.String name)
          Delegate an SqlTableMetaData.getDataType
 java.util.Date getDateColumn(java.lang.String columnName)
          Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Date-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.
 java.lang.String getPrimaryKeyColumn()
          Delegate an SqlTableMetaData.getPrimaryKey
 java.lang.String[] getPrimaryKeyColumns()
          Delegate an SqlTableMetaData.getPrimaryKeys
 java.lang.String getTableName()
          Delegate an SqlTableMetaData.getTableName
 boolean isArray(java.lang.String name)
          Delegate an SqlTableMetaData.isArray
 void setColumn(java.lang.String name, java.lang.Object value)
          Setzt den Wert in der angeforderten Tabellenspalte.
 void setColumnAliasMap(java.util.Map mapping)
          Mit einem Column-Mapping können den Spaltennamen des Row Alias-Namen verliehen werden.
 void setColumns(java.lang.Object bean)
          Versucht alle in der Bean vorhandenen Attribute per Reflection zu lesen und in das PersistentRow zu übertragen.
 void setRequestParameters(UsecaseContext uc)
          Liest alle Wert aus dem übergebenen Multipart-Request und versucht die Werte im PersistentRow zu setzen.
 
Methods inherited from interface java.util.Map
clear, containsKey, containsValue, entrySet, equals, get, hashCode, isEmpty, keySet, put, putAll, remove, size, values
 

Method Detail

containsColumn

public boolean containsColumn(java.lang.String name)
Delegate an SqlTableMetaData.containsColumn


containsXmlAttributes

public boolean containsXmlAttributes()
True, wenn eine Spalte des PersistentRow weitere Spaltes als XML enthält.


createColumnNames

public java.util.Iterator createColumnNames()
Delegate an SqlTableMetaData.getColumnNames


createSqlColumnNames

public java.util.Iterator createSqlColumnNames()
Liefert nur die Namen der tatsächlichen Spalten die in einer SQL-Tabelle existieren, also ohne die Namen ggf vorhandener XML-Spaltennamen.


getColumn

public java.lang.Object getColumn(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte. Rückgabe-Objekte sind auf jeden Fall von einem der folgenden Typen:


getColumnAsBoolean

public boolean getColumnAsBoolean(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Boolean-Skalar. Die Wandlung zum boolean erfolgt per Boolean.valueOf(String).booleanValue();


getColumnAsInt

public int getColumnAsInt(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als int-Wert Liefert 0, wenn in der Datenbank-Tabelle null steht oder der Wert wirklich 0 ist.

Throws:
java.lang.ClassCastException - Wird geworfen, wenn die angeforderte Spalte nicht vom Typ Integer ist.

getColumnAsInteger

public java.lang.Integer getColumnAsInteger(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Integer-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.

Throws:
java.lang.ClassCastException - Wird geworfen, wenn die angeforderte Spalte nicht vom Typ Integer ist.

getColumnAsLong

public long getColumnAsLong(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als long-Wert Liefert 0, wenn in der Datenbank-Tabelle null steht oder der Wert wirklich 0 ist.

Throws:
java.lang.ClassCastException - Wird geworfen, wenn die angeforderte Spalte nicht vom Typ Long ist.

getColumnAsLongObject

public java.lang.Long getColumnAsLongObject(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Long-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.

Throws:
java.lang.ClassCastException - Wird geworfen, wenn die angeforderte Spalte nicht vom Typ Long ist.

getColumnAsString

public java.lang.String getColumnAsString(java.lang.String name)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als String-Objekt Liefert nie null! Wenn die angeforderte Spalte nicht als String gecastet werden kann, wird per toString()-Methode der Wert erzeugt.


getColumnCount

public int getColumnCount()
Delegate an SqlTableMetaData.getColumnCount


getDataType

public java.lang.String getDataType(java.lang.String name)
Delegate an SqlTableMetaData.getDataType


getDateColumn

public java.util.Date getDateColumn(java.lang.String columnName)
Liefert den gespeicherten Wert zur angeforderten Tabellenspalte als Date-Objekt Liefert null, wenn in der Datenbank-Tabelle null steht.

Throws:
java.lang.ClassCastException - Wird geworfen, wenn die angeforderte Spalte nicht vom Typ Date ist.

getPrimaryKeyColumn

public java.lang.String getPrimaryKeyColumn()
Delegate an SqlTableMetaData.getPrimaryKey


getPrimaryKeyColumns

public java.lang.String[] getPrimaryKeyColumns()
Delegate an SqlTableMetaData.getPrimaryKeys


getTableName

public java.lang.String getTableName()
Delegate an SqlTableMetaData.getTableName


isArray

public boolean isArray(java.lang.String name)
Delegate an SqlTableMetaData.isArray


setColumn

public void setColumn(java.lang.String name,
                      java.lang.Object value)
Setzt den Wert in der angeforderten Tabellenspalte. Der Wert wird nicht von PersistentRow selbst in der Datenbank gepseichert! Um Werte wieder in die Datenbank zurückzuschreiben, wird i.A. ein PersistentAsset-Objekt oder der Persistence-Manager benutzt. Existiert die Spalte nicht, wird der Wert ignoriert!


setColumnAliasMap

public void setColumnAliasMap(java.util.Map mapping)
Mit einem Column-Mapping können den Spaltennamen des Row Alias-Namen verliehen werden. Die Map muss als Keys den Aliasnamen und als Entry den echten Spaltennamen enthalten.


setColumns

public void setColumns(java.lang.Object bean)
Versucht alle in der Bean vorhandenen Attribute per Reflection zu lesen und in das PersistentRow zu übertragen.


setRequestParameters

public void setRequestParameters(UsecaseContext uc)
Liest alle Wert aus dem übergebenen Multipart-Request und versucht die Werte im PersistentRow zu setzen.

HINWEIS: Diese Methode unterstützt derzeit keine Formularfelder, die mehrere Werte beinhalten können (z.B. Selectlisten mit Mehrfachauswahl)!



Copyright © 2004 by basecmp® - Professional Web Solutions