GenericObject
, Changeable
, DBObject
, Transactionable
, Serializable
, Remote
AbstractDBObjectNode
public abstract class AbstractDBObject extends UnicastRemoteObject implements DBObject
ref
Constructor | Description |
---|---|
AbstractDBObject() |
ct
|
Modifier and Type | Method | Description |
---|---|---|
void |
addDeleteListener(Listener l) |
Fuegt dem Objekt einen Listener hinzu, der ausgeloest wird, wenn
das Objekt gerade geloescht wurde.
|
void |
addStoreListener(Listener l) |
Fuegt dem Objekt einen Listener hinzu, der ausgeloest wird, wenn
das Objekt gespeichert wurde.
|
void |
clear() |
Loescht alle Eigenschaften (incl.
|
void |
delete() |
Loescht das Objekt aus der Datenbank.
|
protected void |
deleteCheck() |
Diese Methode wird intern vor der Ausfuehrung von delete()
aufgerufen.
|
boolean |
equals(GenericObject other) |
Vergleicht dieses Objekt mit dem uebergebenen.
|
Object |
getAttribute(String fieldName) |
Liefert den Wert des angegebenen Attributes.
|
String[] |
getAttributeNames() |
Liefert ein String-Array mit allen verfuegbaren Attribut-Namen.
|
String |
getAttributeType(String attributeName) |
Liefert den Attributtyp des uebergebenen Feldes.
|
protected Class |
getForeignObject(String field) |
Prueft, ob das angegebene Feld ein Fremschluessel zu einer
anderen Tabelle ist.
|
String |
getID() |
Liefert einen Identifier fuer dieses Objekt.
|
protected String |
getIDField() |
Liefert den Namen der Spalte, in der sich der Primary-Key befindet.
|
protected PreparedStatement |
getInsertSQL() |
Liefert das automatisch erzeugte SQL-Statement fuer ein Insert.
|
DBIterator |
getList() |
Liefert eine Liste aller Objekte des aktuellen Types.
|
protected String |
getListQuery() |
Liefert das automatisch erzeugte SQL-Statement fuer die Erzeugung einer Liste
dieses Typs.
|
protected String |
getLoadQuery() |
Liefert das automatisch erzeugte SQL-Statement zum Laden des Objektes.
|
abstract String |
getPrimaryAttribute() |
Liefert den Namen des Primaer-Attributes dieses Objektes.
|
protected DBServiceImpl |
getService() |
Liefert den Service-Provider.
|
protected abstract String |
getTableName() |
Liefert den Namen der repraesentierenden SQL-Tabelle.
|
protected PreparedStatement |
getUpdateSQL() |
Liefert das automatisch erzeugte SQL-Statement fuer ein Update.
|
protected boolean |
hasChanged() |
Prueft, ob das Objekt seit dem Laden geaendert wurde.
|
protected boolean |
hasChanged(String attribute) |
Prueft, ob sich der Wert des genannten Attributs seit dem Laden geaendert hat.
|
protected void |
init() |
Holt sich die Meta-Daten der Tabelle und erzeugt die Properties.
|
void |
insert() |
Speichert das Objekt explizit als neuen Datensatz in der Datenbank.
|
protected void |
insertCheck() |
Diese Methode wird intern vor der Ausfuehrung von insert()
aufgerufen.
|
boolean |
isNewObject() |
Prueft, ob es sich um ein neues Objekt oder ein bereits in der Datenbank existierendes handelt.
|
void |
load(String id) |
Laedt die Eigenschaften des Datensatzes mit der angegebenen
ID aus der Datenbank.
|
void |
overwrite(DBObject object) |
Ueberschreibt dieses Objekt mit den Attributen des uebergebenen.
|
void |
removeDeleteListener(Listener l) |
Entfernt den Listener wieder.
|
void |
removeStoreListener(Listener l) |
Entfernt den Listener wieder.
|
Object |
setAttribute(String fieldName,
Object value) |
Speichert einen neuen Wert in den Properties
und liefert den vorherigen zurueck.
|
void |
setID(String id) |
Speichert die uebergeben ID in diesem Objekt.
|
protected void |
setService(DBServiceImpl service) |
Speichert den Service-Provider.
|
void |
store() |
Speichert das Objekt in der Datenbank.
|
void |
transactionBegin() |
Damit kann man manuell eine Transaktion starten.
|
void |
transactionCommit() |
Beendet eine manuell gestartete Transaktion.
|
void |
transactionRollback() |
Rollt die angefangene Transaktion manuell zurueck.
|
protected void |
updateCheck() |
Diese Methode wird intern vor der Ausfuehrung von update()
aufgerufen.
|
finalize, getClass, notify, notifyAll, wait, wait, wait
equals, getRef, hashCode, toString, toStub
getClientHost, getLog, setLog
clone, exportObject, exportObject, exportObject, exportObject, exportObject, unexportObject
public AbstractDBObject() throws RemoteException
RemoteException
protected void setService(DBServiceImpl service) throws Exception
service
- Exception
protected DBServiceImpl getService()
protected void init() throws SQLException
SQLException
- Wenn beim Laden der Meta-Daten ein Datenbank-Fehler auftrat.public final void load(String id) throws RemoteException
DBObject
load
in interface DBObject
id
- ID des zu ladenden Objektes.RemoteException
- im Fehlerfall.DBObject.load(java.lang.String)
public void store() throws RemoteException, de.willuhn.util.ApplicationException
Changeable
store
in interface Changeable
RemoteException
- im Fehlerfall.de.willuhn.util.ApplicationException
- Wenn das Objekt nicht gespeichert werden darf.
Der Grund hierfuer findet sich im Fehlertext der Exception.Changeable.store()
public final void clear() throws RemoteException
Changeable
clear
in interface Changeable
RemoteException
- im Fehlerfall.Changeable.clear()
public void delete() throws RemoteException, de.willuhn.util.ApplicationException
Changeable
delete
in interface Changeable
RemoteException
- im Fehlerfall.de.willuhn.util.ApplicationException
- Wenn das Objekt nicht geloescht werden darf.
Der Grund hierfuer findet sich im Fehlertext der Exception.Changeable.delete()
public final String getID() throws RemoteException
GenericObject
getID
in interface GenericObject
RemoteException
GenericObject.getID()
public final void setID(String id)
id
- public Object getAttribute(String fieldName) throws RemoteException
DBObject
getAttribute
in interface DBObject
getAttribute
in interface GenericObject
fieldName
- Name des Feldes.RemoteException
- im Fehlerfall.GenericObject.getAttribute(java.lang.String)
public final String getAttributeType(String attributeName) throws RemoteException
DBObject
getAttributeType
in interface DBObject
attributeName
- Name des Attributes.RemoteException
- im Fehlerfall.DBObject.getAttributeType(java.lang.String)
protected boolean hasChanged()
protected boolean hasChanged(String attribute)
attribute
- Name des Attributes.public Object setAttribute(String fieldName, Object value) throws RemoteException
fieldName
- Name des Feldes.value
- neuer Wert des Feldes.
Muss vom Typ String, Date, Timestamp, Double, Integer oder DBObject sein.dbObject
nimmt die Funktion an, dass
es sich um einen Fremdschluessel handelt und speichert automatisch statt
des Objektes selbst nur dessen ID mittels new Integer(((DBObject)value).getID())
.RemoteException
public final String[] getAttributeNames() throws RemoteException
GenericObject
getAttributeNames
in interface GenericObject
RemoteException
GenericObject.getAttributeNames()
public void insert() throws RemoteException, de.willuhn.util.ApplicationException
RemoteException
- Wenn beim Speichern Fehler aufgetreten sind.de.willuhn.util.ApplicationException
- Durch insertCheck()
erzeugte Benutzerfehler.protected PreparedStatement getUpdateSQL() throws RemoteException
RemoteException
- wenn beim Erzugen des Statements ein Fehler auftrat.protected PreparedStatement getInsertSQL() throws RemoteException
RemoteException
- Wenn beim Erzeugen des Statements ein Fehler auftrat.protected String getListQuery()
getIDField
auch liefert, da das von DBIteratorImpl gelesen wird.
Also z.Bsp. "select " + getIDField() + " from " + getTableName().
Kann bei Bedarf �berschrieben um ein abweichendes Statement zu verwenden.
Die Funktion muss das Statement nur dewegen als String zurueckliefern,
weil es typischerweise von DBIterator weiterverwendet wird und dort eventuell
noch weitere Filterkriterien hinzugefuegt werden koennen muessen.protected String getLoadQuery() throws RemoteException
getID()
geliefert wird.
ACHTUNG: Das Statement muss alle Felder selecten (*).
Also z.Bsp. "select * from " + getTableName() + " where " + getIDField() + " = " + getID();
Kann bei Bedarf �berschrieben um ein abweichendes Statement zu verwenden.RemoteException
- Wenn beim Erzeugen des Statements ein Fehler auftrat.public final boolean isNewObject() throws RemoteException
Changeable
isNewObject
in interface Changeable
RemoteException
- im Fehlerfall.Changeable.isNewObject()
protected String getIDField()
protected abstract String getTableName()
public abstract String getPrimaryAttribute() throws RemoteException
GenericObject
getPrimaryAttribute
in interface DBObject
getPrimaryAttribute
in interface GenericObject
RemoteException
- im Fehlerfall.GenericObject.getPrimaryAttribute()
protected void deleteCheck() throws de.willuhn.util.ApplicationException
de.willuhn.util.ApplicationException
- wenn das Objekt nicht gel�scht werden darf.protected void insertCheck() throws de.willuhn.util.ApplicationException
de.willuhn.util.ApplicationException
- wenn das Objekt nicht gespeichert werden darf.protected void updateCheck() throws de.willuhn.util.ApplicationException
de.willuhn.util.ApplicationException
- wenn das Objekt nicht gespeichert werden darf.protected Class getForeignObject(String field) throws RemoteException
field
- das zu pruefende Feld.RemoteException
- im Fehlerfall.public final void transactionBegin() throws RemoteException
Transactionable
transactionBegin
in interface Transactionable
RemoteException
- im Fehlerfall.Transactionable.transactionBegin()
public final void transactionRollback() throws RemoteException
Transactionable
transactionRollback
in interface Transactionable
RemoteException
- im Fehlerfall.Transactionable.transactionRollback()
public final void transactionCommit() throws RemoteException
Transactionable
transactionBegin()
aufgerufen wurde,
wird dieser Aufruf ignoriert.transactionCommit
in interface Transactionable
RemoteException
- im Fehlerfall.Transactionable.transactionCommit()
public DBIterator getList() throws RemoteException
DBObject
getList
in interface DBObject
RemoteException
DBObject.getList()
public void overwrite(DBObject object) throws RemoteException
Changeable
store()
aufgerufen werden.overwrite
in interface Changeable
object
- das Objekt, welches als Quelle verwendet werden soll.RemoteException
- im Fehlerfall.Changeable.overwrite(de.willuhn.datasource.rmi.DBObject)
public boolean equals(GenericObject other) throws RemoteException
DBObject
equals
in interface DBObject
equals
in interface GenericObject
other
- das zu vergleichende Objekt.RemoteException
GenericObject.equals(de.willuhn.datasource.GenericObject)
public void addDeleteListener(Listener l) throws RemoteException
DBObject
addDeleteListener
in interface DBObject
l
- der Listener.RemoteException
DBObject.addDeleteListener(de.willuhn.datasource.rmi.Listener)
public void addStoreListener(Listener l) throws RemoteException
DBObject
addStoreListener
in interface DBObject
l
- der Listener.RemoteException
DBObject.addStoreListener(de.willuhn.datasource.rmi.Listener)
public void removeDeleteListener(Listener l) throws RemoteException
DBObject
removeDeleteListener
in interface DBObject
l
- der Listener.RemoteException
DBObject.removeDeleteListener(de.willuhn.datasource.rmi.Listener)
public void removeStoreListener(Listener l) throws RemoteException
DBObject
removeStoreListener
in interface DBObject
l
- der Listener.RemoteException
DBObject.removeStoreListener(de.willuhn.datasource.rmi.Listener)
Copyright © 2018. All rights reserved.