|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.dav.daf.main.impl.CacheManager
public class CacheManager
Die interne Subkomponente Cache-Manager ist für das Speichern der ankommenden Daten und für die Bereitstellung bereits gespeicherte Daten zuständig. Die gespeicherten Daten werden nach ihrem Index sortiert festgehalten. Ein im Hintergrund laufender Thread, der CacheCleaner, sorgt dafür, dass die Daten, nach ihrer beim Anmelden angegebenen Verweilzeit, aus dem Cache gelöscht werden. Diese Subkomponente wird von ClientDavConnection erzeugt.
Nested Class Summary | |
---|---|
(package private) class |
CacheManager.CacheCleaner
|
Field Summary | |
---|---|
private DataModel |
_dataModel
Der Konfigurationsmanager |
private static Debug |
_debug
|
private Hashtable |
cache
Der Datensätzecache. |
private CacheManager.CacheCleaner |
cleaner
Der Verwalter der Datensätze im Cache |
private SubscriptionManager |
subscriptionManager
Der Anmeldemanager |
Constructor Summary | |
---|---|
CacheManager(SubscriptionManager _subscriptionManager,
ConfigurationManager _configurationManager)
Dieser Konstruktor erzeugt eine Instanz und hält eine Referenz auf die Subkomponenten Anmeldemanager und Konfigurationsmanager fest. |
|
CacheManager(SubscriptionManager _subscriptionManager,
DataModel dataModel)
Dieser Konstruktor erzeugt eine Instanz und hält eine Referenz auf die Subkomponenten Anmeldemanager und Konfigurationsmanager fest. |
Method Summary | |
---|---|
(package private) void |
cleanCache(BaseSubscriptionInfo baseSubscriptionInfo)
Diese Methode wird vom SubscriptionManager aufgerufen. |
void |
close()
Schliesst diese Komponente und beendet den Thread CacheCleaner |
List |
getCachedData(BaseSubscriptionInfo baseSubscriptionInfo,
boolean delayedDataFlag,
int n)
Diese Methode iteriert durch den Cache-Inhalt und sammelt die letzen n Datensätze, vom aktuellen Datensatz startend in die Vergangenheit. |
List |
getCachedData(BaseSubscriptionInfo baseSubscriptionInfo,
boolean delayedDataFlag,
long fromTime,
long toTime)
Diese Methode iteriert durch den Cache-Inhalt und sammelt die Datensätze, deren Zeitstempel zwischen den spezifizierten Zeiten liegt. |
(package private) Thread |
getCleaner()
Diese Methode wird für JUnit-Tests benötigt. |
CachedObject |
getLastValueOfCachedData(BaseSubscriptionInfo baseSubscriptionInfo,
boolean delayedDataFlag)
Gibt den aktuellen Datensatz der spezifizierten Daten zurück. |
void |
update(SendDataObject newData)
Diese Methode wird von der Protokollsteuerung DaV-DAF aufgerufen, wenn ein aktuelles Datum angekommen ist. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final Debug _debug
private SubscriptionManager subscriptionManager
private final DataModel _dataModel
private Hashtable cache
private CacheManager.CacheCleaner cleaner
Constructor Detail |
---|
public CacheManager(SubscriptionManager _subscriptionManager, ConfigurationManager _configurationManager)
_subscriptionManager
- Im Konstruktor wird die Methode SubscriptionManager.setCacheManager(CacheManager)
aufgerufen und
dieses Objekt übergeben._configurationManager
- Wird zum anfordern des Datenmodells benötigt.CacheManager(SubscriptionManager _subscriptionManager, DataModel dataModel)
_subscriptionManager
- Im Konstruktor wird die Methode SubscriptionManager.setCacheManager(CacheManager)
aufgerufen und
dieses Objekt übergeben.dataModel
- DatenmodellMethod Detail |
---|
public void update(SendDataObject newData) throws InterruptedException
newData
- Neuer Datensatz
InterruptedException
- Wenn der Thread während eines blockierenden Aufrufs unterbrochen wurdepublic final void close()
CacheCleaner
Thread getCleaner()
final void cleanCache(BaseSubscriptionInfo baseSubscriptionInfo)
baseSubscriptionInfo
- Alle Daten, die zu dieser Anmeldeinformationen vorhanden sind, werden aus dem Cache entfernt.public final CachedObject getLastValueOfCachedData(BaseSubscriptionInfo baseSubscriptionInfo, boolean delayedDataFlag)
null
zurückgegeben.
baseSubscriptionInfo
- Anmeldeinformation eines DatensatzesdelayedDataFlag
- Nachgelieferte Daten
null
, falls kein Datensatz vorhanden ist.public final List getCachedData(BaseSubscriptionInfo baseSubscriptionInfo, boolean delayedDataFlag, int n)
baseSubscriptionInfo
- Anmeldeinformation eines DatensatzesdelayedDataFlag
- Nachgelieferte Datenn
- Anzahl der gültigen Versionen eines Datensatzes
null
, falls kein Datensatz vorhanden ist. Der Datensatz, der als letztes gecasht wurde steht an Index 0.public final List getCachedData(BaseSubscriptionInfo baseSubscriptionInfo, boolean delayedDataFlag, long fromTime, long toTime)
null
zurückgegeben.
baseSubscriptionInfo
- Anmeldeinformation eines DatensatzesdelayedDataFlag
- Nachgelieferte DatenfromTime
- Start Zeitintervall. Wird der Wert -1 übergeben, so wird die Datenzeit des zuletzt gecachten Objekts benutzt.toTime
- Ende Zeitintervall. Wird der Wert -1 übergeben, so wird die Datenzeit des zuletzt gecachten Objekts benutzt.
null
wenn kein Datensatz vorhanden ist
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |