org.jzuul.engine
Class ObjectCache

java.lang.Object
  extended byorg.jzuul.engine.ObjectCache

public class ObjectCache
extends Object

Diese Klasse implementiert einen Cache für Objekte der nur eine bestimmte Anzahl an Objekten enthält. Bei einem vollen Cache werden "wertlose" Objekte gelöscht. Dabei wird der Wert eines Objektes aus dem Alter in Millisekunden geteilt durch die Anzahl der Zugriffe berechnet. Somit haben alte Objekte die auf die Häufig zugegriffen wird die gleiche Chance im Cache zu bleiben wir junge Objekte, auf die selten zugegriffen wird. Created on Jun 2, 2004

Version:
$Revision: 1.3 $

Nested Class Summary
private  class ObjectCache.CacheObject
          Diese Klasse ist ein Wrapper um die hinzugefügten Objekte.
 
Field Summary
private  int fillStat
          Der Füllstatus
private  Map objectMap
          Der interne Speicher für die Objekte, eine Map von Key auf CacheObjects
private  int size
          Die Größe des Caches
 
Constructor Summary
ObjectCache(int size)
          Erstellt eine ObjectCache Objekt das die angegebene Anzahl an Elementen enthalten soll.
 
Method Summary
 boolean containsKey(Object key)
          Fragt nach ob ein Objekt zu key in dem Cache ist.
 boolean containsKey(String key)
           
 Object get(Object key)
          Holt das zu dem key zugehörige Objekt
 void put(Object key, Object value)
          Fügt ein Key Value Paar in den ObjectCache ein.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

objectMap

private Map objectMap
Der interne Speicher für die Objekte, eine Map von Key auf CacheObjects


size

private int size
Die Größe des Caches


fillStat

private int fillStat
Der Füllstatus

Constructor Detail

ObjectCache

public ObjectCache(int size)
Erstellt eine ObjectCache Objekt das die angegebene Anzahl an Elementen enthalten soll.

Parameters:
size - die Anzahl der im Cache zu haltenden Elemente
Method Detail

containsKey

public boolean containsKey(Object key)
Fragt nach ob ein Objekt zu key in dem Cache ist. Da der Cache Objekte löscht kann es passieren das ein Element nicht mehr in dem Cache ist obwohl es hinzugefügt wurde. Daher muss die aufrufende Methode damit Rechnen das ein Objekt verschwindet.

Parameters:
key - der Key zu dem ein Objekt gefunden werden soll
Returns:
true wenn ein Objekt zu dem key existiert, false sonst

containsKey

public boolean containsKey(String key)

get

public Object get(Object key)
Holt das zu dem key zugehörige Objekt

Parameters:
key - ein Key der auf ein Objekt zeigt
Returns:
das Objekt aus dem Cache, null falls das Objekt nicht enthalten ist

put

public void put(Object key,
                Object value)
Fügt ein Key Value Paar in den ObjectCache ein. Diese Methode ist auch für das entfernen von Objekten aus dem Cache zuständig.

Parameters:
key - ein Key für das Value
value - das dazugehörige Value


Copyright © 2004 JZuul.org All Rights Reserved.
This documentation may be distributed and/or modified under the terms of the FDL