public abstract class DataLoader extends Object
Modifier and Type | Field and Description |
---|---|
protected Debug |
_debug
Debug
|
protected Lock |
_readLock
Lock, das zum Lesen von Daten benutzt wird.
|
protected Lock |
_writeLock |
Constructor and Description |
---|
DataLoader(ClientDavInterface connection,
String attributeGroupPid,
String aspectPid,
Object lock)
Erstellt ein neues Objekt, für das Daten aktualisiert werden sollen.
|
Modifier and Type | Method and Description |
---|---|
protected abstract void |
deactivateInvalidChild(DataLoader node)
Wenn es ein Problem mit der Rekursion gibt, wird dieses Objekt hiermit angewiesen den Verweis auf das angegebene (Unter-)Objekt zu deaktivieren.
|
protected abstract Collection<DataLoader> |
getChildObjects()
Gibt die untergeordneten Objekte zurück.
|
DataState |
getDataState()
Gibt den aktuellen Zustand zurück
|
long |
getNoDataTime()
Gibt zurück, wie lange keine Daten eingetroffen sind
|
SystemObject |
getSystemObject()
Gibt das Systemobjekt zurück
|
boolean |
isInitialized()
Prüft, ob dieses DataLoader-Objekt mit dem Laden der Daten fertig ist
|
protected void |
startDataListener(SystemObject systemObject)
Startet das Aktualisieren der Daten über das ClientReceiverInterface.
|
void |
stopDataListener()
Beendet das Aktualisieren der Daten über das ClientReceiverInterface
|
String |
toString() |
String |
toString(boolean verbose)
Bietet auf Wunsch eine ausführlichere String-Darstellung des Objekts (Allerdings auf Kosten der Verarbeitungszeit)
|
protected abstract void |
update(Data data)
Wird aufgerufen, wenn neue Daten eingetroffen sind.
|
void |
waitForInitialization()
Wartet bis dieses Objekt mit dem Laden fertig ist, aber maximal die in
TIMEOUT angegebene Zeit. |
void |
waitForInitializationTree()
Wartet bis dieses Objekt und alle Kindobjekte mit dem Laden fertig sind, aber pro Objekt maximal die in
TIMEOUT angegebene Zeit. |
protected final Debug _debug
protected final Lock _readLock
protected final Lock _writeLock
public DataLoader(ClientDavInterface connection, String attributeGroupPid, String aspectPid, Object lock)
connection
- Verbindung zum DatenverteilerattributeGroupPid
- AttributgruppeaspectPid
- Aspektlock
- protected abstract void update(Data data)
data
- Data-Objekt entsprechend Attributgruppe und Aspektprotected abstract Collection<DataLoader> getChildObjects()
HighLevelSubscriptionsManager
über geänderte Benutzerrechte zu informieren. Achtung: Es
werden nur die direkten Kinder zurückzugeben, nicht die "Enkel" usw. - Will man alle "Enkel" usw. haben muss man diese Funktion rekursiv aufrufen.deactivateInvalidChild(DataLoader)
deaktivierte Kindelemente werden nicht aufgeführt.protected final void startDataListener(SystemObject systemObject)
update(de.bsvrz.dav.daf.main.Data)
-Methode aufgerufen (auch nach dem
ersten Aufruf der Methode). Um das Laden der Daten anzuhalten ist stopDataListener()
aufzurufen.systemObject
- Objekt für das die Daten geholt werden sollenpublic void stopDataListener()
protected abstract void deactivateInvalidChild(DataLoader node)
node
- Das zu entfernende Kindobjektpublic String toString(boolean verbose)
verbose
- ausführlichere Darstellung wenn truepublic boolean isInitialized()
public long getNoDataTime()
public DataState getDataState()
public SystemObject getSystemObject()
public void waitForInitialization()
TIMEOUT
angegebene Zeit. Bei Anfragen an dieses Objekt, sollte zu erst diese
Funktion aufgerufen werden um sicherzustellen, das das Objekt bereits Daten erhalten hat.public void waitForInitializationTree()
TIMEOUT
angegebene Zeit.