de.bsvrz.kex.kexdav.main
Class KExDaVExchange

java.lang.Object
  extended by de.bsvrz.kex.kexdav.main.KExDaVExchange

 class KExDaVExchange
extends Object

Diese Klasse kümmert sich darum, beim Eintreffen neuer Parameter die einzelnen Klassen zum Austausch von Daten, Parametern, Objekten usw. zu instantiieren und gegebenenfalls wieder zu entsorgen. Diese Klasse gibt es einmal pro Remote-DaV-Verbindung

Author:
Kappich Systemberatung

Field Summary
private  CorrespondingObjectManager _correspondingObjectManager
           
private  DataExchangeManager _dataExchangeManager
           
private  ClientDavInterface _localConnection
           
private  ManagerInterface _manager
           
private  ObjectExchangeManager _objectExchangeManager
           
private  RemoteDaVParameter _parameter
           
private  ParameterExchangeManager _parameterExchangeManager
           
private  ClientDavInterface _remoteConnection
           
private  SetExchangeManager _setExchangeManager
           
 
Constructor Summary
KExDaVExchange(RemoteDaVParameter parameter, ClientDavInterface localConnection, ClientDavInterface remoteConnection, ManagerInterface manager, Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
          Erstellt eine neue KExDaVExchange-Klasse
 
Method Summary
private static void checkIfWritable(ClientDavInterface connection, ConfigurationArea configurationArea)
          Prüft ob ein Konfigurationsbereich beschreibbar ist und wirfst sonst einen Fehler
private  void refreshConfigurationAreas(RemoteDaVParameter parameters)
          Aktualisiert die Konfigurationsbereiche und gibt diese an den CorrespondingObjectManager weiter
private  void refreshParameters(RemoteDaVParameter parameters)
          Aktualisiert die Parameter
 void setParameter(RemoteDaVParameter newParameters)
          Wird aufgerufen, falls neue Parameter eintreffen
 void start()
          Startet den Austausch
 void stop()
          Stoppt den Austausch
 String toString()
           
 void triggerParameterExchange(Direction direction)
          Löst den Trigger für den Parameteraustausch aus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_parameter

private RemoteDaVParameter _parameter

_localConnection

private final ClientDavInterface _localConnection

_remoteConnection

private final ClientDavInterface _remoteConnection

_correspondingObjectManager

private final CorrespondingObjectManager _correspondingObjectManager

_manager

private final ManagerInterface _manager

_dataExchangeManager

private final DataExchangeManager _dataExchangeManager

_parameterExchangeManager

private final ParameterExchangeManager _parameterExchangeManager

_objectExchangeManager

private final ObjectExchangeManager _objectExchangeManager

_setExchangeManager

private final SetExchangeManager _setExchangeManager
Constructor Detail

KExDaVExchange

public KExDaVExchange(RemoteDaVParameter parameter,
                      ClientDavInterface localConnection,
                      ClientDavInterface remoteConnection,
                      ManagerInterface manager,
                      Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Erstellt eine neue KExDaVExchange-Klasse

Parameters:
parameter - Parameter, die die Daten und Objekte spezifizieren, die ausgetauscht werden sollen
localConnection - Lokale Verbindung
remoteConnection - Entfernte (Remote-)Verbindung
manager - Verwaltungsobjekt an das Warnungen und sonstiger Status gesendet wird
plugins - Plugins zum Datenaustausch
Method Detail

start

public void start()
           throws MissingAreaException
Startet den Austausch

Throws:
MissingAreaException - falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.

stop

public void stop()
Stoppt den Austausch


triggerParameterExchange

public void triggerParameterExchange(Direction direction)
Löst den Trigger für den Parameteraustausch aus

Parameters:
direction - Austauschrichtung

setParameter

public void setParameter(RemoteDaVParameter newParameters)
                  throws MissingAreaException
Wird aufgerufen, falls neue Parameter eintreffen

Parameters:
newParameters - Neue Parameter, die die auszutauschenden Daten und Objekte festlegen
Throws:
MissingAreaException - falls kein gültiger Konfigurationsbereich zum Erstellen von Objekten angegeben wurde, aber einer benötigt wurde.

refreshParameters

private void refreshParameters(RemoteDaVParameter parameters)
                        throws MissingAreaException
Aktualisiert die Parameter

Parameters:
parameters - Neue Parameter
Throws:
MissingAreaException - Ein benötigter KB fehlt

refreshConfigurationAreas

private void refreshConfigurationAreas(RemoteDaVParameter parameters)
                                throws MissingAreaException
Aktualisiert die Konfigurationsbereiche und gibt diese an den CorrespondingObjectManager weiter

Parameters:
parameters - Parameter
Throws:
MissingAreaException - Es sing ungültige Konfigurationsbereiche in den Parametern

checkIfWritable

private static void checkIfWritable(ClientDavInterface connection,
                                    ConfigurationArea configurationArea)
                             throws MissingAreaException
Prüft ob ein Konfigurationsbereich beschreibbar ist und wirfst sonst einen Fehler

Parameters:
connection - Verbindung
configurationArea - KB
Throws:
MissingAreaException - Falls der KB nicht beschreibbar ist

toString

public String toString()
Overrides:
toString in class Object