Package de.willuhn.datasource.db
Class ObjectMetaCache
java.lang.Object
de.willuhn.datasource.db.ObjectMetaCache
Diese Klasse ist (wie der Name schon sagt ;) ein Cache.
Und zwar fuer die Meta-Daten der Business-Objekte. Und zwar:
AbstractDBObject ist ja die Basisklasse aller Business-Objekte.
Und diese ermittelt die Eigenschaften der Objekte "on the fly"
aus den Meta-Daten der SQL-Tabelle. Dies ist ein zeitraubender
Prozess, der nicht fuer jede Instanziierung eines Objektes neu
gemacht werden sollte. Schliesslich kennen wir den Aufbau der
SQL-Tabelle ja schon, wenn wir ein Objekt dieses Typs bereits
geladen haben. Nunja, dieser Cache macht nichts anderes, als
in einer Liste die Metadaten der verwendeten Objekte zu sammeln,
damit sie bei der naechsten Erzeugung eines Objektes "recycled"
werden koennen.
- Author:
- willuhn
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic HashMap
getMetaData
(Class service, Class objectType) Liefert die Meta-Daten einer Klasse oder null.static int
getStats()
Liefert den prozentualen Anteil zwischen Cache-Abfragen insgesamt und erfolgreich beantworteten Abfragen.static void
setMetaData
(Class service, Class objectType, HashMap fields) Fuegt dem Cache die Meta-Daten einer DBObject-Klasse hinzu.
-
Constructor Details
-
ObjectMetaCache
public ObjectMetaCache()
-
-
Method Details
-
getMetaData
Liefert die Meta-Daten einer Klasse oder null.- Parameters:
service
- Klasse des Service.objectType
- Klasse des Objekt-Typs.- Returns:
- Die Metadaten.
-
setMetaData
Fuegt dem Cache die Meta-Daten einer DBObject-Klasse hinzu.- Parameters:
service
- Klasse des Service.objectType
- Klasse des Objekt-Typs.fields
- Hashmap mit den Metadaten (key=Feldnamen,value=Datentyp).
-
getStats
public static int getStats()Liefert den prozentualen Anteil zwischen Cache-Abfragen insgesamt und erfolgreich beantworteten Abfragen.- Returns:
- Anteil der erfolgreich beantworteten Anfragen in Prozent.
-