|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.bsvrz.kex.kexdav.main.AbstractKExDaVExchange<D,E>
public abstract class AbstractKExDaVExchange<D,E>
Abstrakte Klasse, die den Austausch von Objekten zwischen 2 Datenverteilern kapselt. Diese Klasse erhält Parameter, Und erstellt daraus eine beliebige anzahl von Definitionen (generischer Parameter D). Beim erneuten Eintreffen von Parametern werden diese Definitionen aktualisiert und mit den alten Definitionen verglichen. Für jede neue Definition wird ein neues Austausch-Objekt erstellt (generischer Parameter E). Für jede weggefallene Definition wird das zugehörige Austauschobjekt entsorgt. Wenn eine Definition unverändert bleibt, wird auch am Austauschobjekt nichts gemacht. So werden nur die Austausche von Parameteränderungen beeinflusst, wo auch wirklich die Parameter geändert werden. Hinweis: Definitionen und Austauschobjekte sollten weitgehend immutable sein.
Descriptions sollten sinnvolle implementierungen von equals und hashcode haben, da sie hier in einer HashMap gespeichert werden und bei bedarf verglichen werden.
Field Summary | |
---|---|
private Map<D,E> |
_exchangeMap
|
private ManagerInterface |
_manager
|
private RemoteDaVParameter |
_parameter
|
Constructor Summary | |
---|---|
protected |
AbstractKExDaVExchange(RemoteDaVParameter parameter,
ManagerInterface manager)
Abstrakte Klasse, die den Austausch von Objekten zwischen 2 Datenverteilern kapselt |
Method Summary | |
---|---|
protected abstract E |
createExchange(D description)
Template-Methode, die anhand einer Description ein Datenaustausch-Klasse erstellt |
protected abstract Set<D> |
getExchangeDescriptionsFromNewParameters(RemoteDaVParameter parameters)
Template-Methode, die für einen Parameter-Datensatz alle Datenbeschreibungen zurückgeben soll |
Map<D,E> |
getExchangeMap()
Gibt die Descriptions und zugehörigen Austauschobjekte zurück, die zur Zeit in dieser Klasse gespeichert sind |
protected ManagerInterface |
getManager()
Gibt den KExDaV-Manager zurück |
protected void |
notifyNewExchangeDescriptions(Set<D> newExchangeDescriptions)
Benachrichtigung über neue Asutausche, damit z.B. |
private void |
refreshExchanges(RemoteDaVParameter parameters)
Aktualisiert die bestehenden Austauschmodule |
protected abstract void |
removeExchange(E exchange)
Template-Methode, die eine Datenaustauschklasse deaktiviert bzw. |
void |
setParameter(RemoteDaVParameter newParameters)
Wird aufgerufen, falls neue Parameter eintreffen |
protected void |
start()
Startet den Austausch, aktualisiert den Austausch falls bereits gestartet |
protected void |
stop()
Stoppt den Austausch |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private RemoteDaVParameter _parameter
private final Map<D,E> _exchangeMap
private final ManagerInterface _manager
Constructor Detail |
---|
protected AbstractKExDaVExchange(RemoteDaVParameter parameter, ManagerInterface manager)
parameter
- Parametermanager
- KExDaV-VerwaltungMethod Detail |
---|
protected void start() throws MissingAreaException
MissingAreaException
- falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.protected void stop()
public void setParameter(RemoteDaVParameter newParameters) throws MissingAreaException
newParameters
- Neue Parameter, die die auszutauschenden Daten und Objekte festlegen
MissingAreaException
- falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.private void refreshExchanges(RemoteDaVParameter parameters) throws MissingAreaException
parameters
- Parameter
MissingAreaException
- falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.protected void notifyNewExchangeDescriptions(Set<D> newExchangeDescriptions)
newExchangeDescriptions
- neue Austauschbeschreibungenprotected final ManagerInterface getManager()
public Map<D,E> getExchangeMap()
protected abstract E createExchange(D description) throws KExDaVException
description
- Description
KExDaVException
- Falls ein Fehler auftrittprotected abstract void removeExchange(E exchange)
exchange
- Datenaustauschklasseprotected abstract Set<D> getExchangeDescriptionsFromNewParameters(RemoteDaVParameter parameters)
parameters
- Parameter
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |