Class ObjectMetaCache

java.lang.Object
de.willuhn.datasource.db.ObjectMetaCache

public class ObjectMetaCache extends Object
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 Details

    • ObjectMetaCache

      public ObjectMetaCache()
  • Method Details

    • getMetaData

      public static HashMap getMetaData(Class service, Class objectType)
      Liefert die Meta-Daten einer Klasse oder null.
      Parameters:
      service - Klasse des Service.
      objectType - Klasse des Objekt-Typs.
      Returns:
      Die Metadaten.
    • setMetaData

      public static void setMetaData(Class service, Class objectType, HashMap fields)
      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.