AMETAS.util.cache
Class PersistentStorage

java.lang.Object
  extended byAMETAS.util.cache.PersistentStorage
Direct Known Subclasses:
DiskStorage, NullStorage

public abstract class PersistentStorage
extends java.lang.Object

Diese Klasse implementiert einen persistenten Hintergrundspeicher für einen Cache. Wo und in welcher Weise die Daten tatsächlich gespeichert werden, hängt von der konkreten Implementierung ab. Diese Klasse stellt nur eine abstrakte Schnittstelle bereit, welche von der Klasse Cache verwendet wird, um die Cacheable-Objekte persistent zu speichern. Ein Objekt, das in einer PersistentStorage-Klasse gespeichert werden soll, muß das Interface Storeable implementieren. Insbesondere wird dieses Interface vom Interface Cacheable erweitert, so daß jedes Cacheable-Objekt auch gleichzeitig Storeable ist.

Diese Klasse kann auch unabhängig von der Klasse Cache verwendet werden.

Since:
Version 2.1.0

Field Summary
protected  boolean m_bDebug
          Gibt an, ob Debug-Ausgaben über die aktuellen Vorgänge auf der Standardausgabe gemacht werden sollen.
 
Constructor Summary
PersistentStorage()
           
 
Method Summary
abstract  void clear()
          Löschen alle Objekte aus dem persistenten Speicher.
abstract  int getSize()
          Liefert die Anzahl der gespeicherten Objekte zurück.
abstract  Storeable load(java.lang.String sName)
          Lädt das Objekt mit dem übergebenen Namen und liefert es zurück.
abstract  void remove(java.lang.String sName)
          Entfernt das Objekt mit dem Namen sName aus dem persistenten Speicher.
 void setDebug(boolean b)
          Schaltet die Augabe von Debug-Meldungen ein und aus.
abstract  void store(Storeable strObject)
          Schreibt das übergebene Storable in den persistenten Speicher.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_bDebug

protected boolean m_bDebug
Gibt an, ob Debug-Ausgaben über die aktuellen Vorgänge auf der Standardausgabe gemacht werden sollen.

Constructor Detail

PersistentStorage

public PersistentStorage()
Method Detail

setDebug

public void setDebug(boolean b)
Schaltet die Augabe von Debug-Meldungen ein und aus.

Parameters:
b - true wenn Debug-Ausgaben gemacht werden sollen, false sonst.

store

public abstract void store(Storeable strObject)
                    throws java.io.IOException
Schreibt das übergebene Storable in den persistenten Speicher. Das Objekt wird unter dem Namen gespeichert, den es in seiner Methode getName() des Interfaces Storeable zurückliefert.

Parameters:
strObject - Das Storeable-Objekt, welches gespeichert werden soll.
Throws:
IOEcxeption - wenn beim Speichern des Objektes ein I/O-Fehler auftritt.
java.io.IOException

load

public abstract Storeable load(java.lang.String sName)
                        throws java.io.IOException
Lädt das Objekt mit dem übergebenen Namen und liefert es zurück. Der Name ist deselbe, den die Methode getName() des Interfaces Storeable zurückgibt. Dieser Name wird von der Methode store(Storeable) zur Speicherung verwendet.

Parameters:
sName - Der Name des zu ledenden Objektes.
Returns:
Das Storeable-Objekt, das aus dem persistenten Speichermedium geladen wurde.
Throws:
IOEcxeption - wenn beim Laden des Objektes ein I/O-Fehler auftritt.
java.io.IOException

remove

public abstract void remove(java.lang.String sName)
Entfernt das Objekt mit dem Namen sName aus dem persistenten Speicher.

Parameters:
sName - Der Name des zu entfernenden Objektes.

clear

public abstract void clear()
Löschen alle Objekte aus dem persistenten Speicher.


getSize

public abstract int getSize()
Liefert die Anzahl der gespeicherten Objekte zurück.

Returns:
Die Anzahl der im zugrundeliegenden Speicher enthaltenen Objekte.