public class CacheManager extends Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
CacheManager.CacheCleaner |
Modifier and Type | Field and Description |
---|---|
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 and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
(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.
|
private static final Debug _debug
private SubscriptionManager subscriptionManager
private final DataModel _dataModel
private Hashtable cache
private CacheManager.CacheCleaner cleaner
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
- Datenmodellpublic void update(SendDataObject newData) throws InterruptedException
newData
- Neuer DatensatzInterruptedException
- 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 Datennull
, 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 Datensatzesnull
, 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