AMETAS.util.cache
Interface Cacheable

All Superinterfaces:
java.io.Serializable, Storeable

public interface Cacheable
extends Storeable

Dieses Interface ist von allen Klassen zu implementieren, deren Objekte in einem Cache verwaltet werden sollen. Über die Implementierung der einzelnen Methoden kann die Klasse festlegen, nach welchen Strategien ihre Objekte in Cache behandelt werden sollen.

Die wichtigsten Daten eines jeden Cacheable-Objektes sind sein dirty-Flag und sein swapable-Flag:

Wie ein Objekt mit diesen beiden Flaggen umgeht, ist völlig von den Eigenschaften der Objekt-Klasse und der umgebenden Anwendung abhängig und kann daher hier nicht vorgegeben werden.

Since:
Version 2.1.0

Method Summary
 boolean isDirty()
          Gibt an, ob dieses Objekt dirty ist, also in den persistenten Speicher geschrieben werden muß.
 boolean isSwapable()
          Liefert die Information zurück, ob dieses Objekt ausgelagert werden kann.
 void setModified(boolean b)
          Setzt das dirty-Flag dieses Objektes.
 void swapIn(Cache chCache)
          Hier kann das Objekt Aktionen ausführen, die beim Einlagern nötig sind.
 void swapOut()
          Hier kann das Objekt Aktionen ausführen, die beim Auslagern nötig sind.
 
Methods inherited from interface AMETAS.util.cache.Storeable
getName, setName
 

Method Detail

isSwapable

public boolean isSwapable()
Liefert die Information zurück, ob dieses Objekt ausgelagert werden kann.

Returns:
true, falls dieses Objekt ausgelagert werden kann, false sonst.

isDirty

public boolean isDirty()
Gibt an, ob dieses Objekt dirty ist, also in den persistenten Speicher geschrieben werden muß.

Returns:
true, falls sich dieses Objekt seit der letzten persistenten Speicherung geändert hat, false sonst.

swapIn

public void swapIn(Cache chCache)
Hier kann das Objekt Aktionen ausführen, die beim Einlagern nötig sind. Z.B. sollten hier die Cache-Metriken aktualisiert werden, die über die Aktualität Auskunft geben und von isSwapable() verwendet werden.

Parameters:
chCache - der Cache, in den das Objekt eingelagert wird.

swapOut

public void swapOut()
Hier kann das Objekt Aktionen ausführen, die beim Auslagern nötig sind.


setModified

public void setModified(boolean b)
Setzt das dirty-Flag dieses Objektes. Normalerweise wird diese Methode immer mit true als Parameter aufgerufen, um eine Veränderung anzuzeigen. In dieser Methode ist das dirty-Flag auf den übergebenen Wert zu setzen, damit die Veränderung durch isDirty() angezeigt wird. Merke: Vorzugsweise sollten die verwendenden Klassen das Objekt über die Methode Cache.setModified(Cacheable) als modifiziert kennzeichnen, da so der write through-Mechanismus verwendet werden kann.

Parameters:
b - true falls das Objekt verändert wurde, false falls keine Änderung vorliegt.