de.bsvrz.kex.kexdav.correspondingObjects
Class CopyableCorrespondingObject

java.lang.Object
  extended by de.bsvrz.kex.kexdav.correspondingObjects.CorrespondingObject
      extended by de.bsvrz.kex.kexdav.correspondingObjects.CopyableCorrespondingObject

public class CopyableCorrespondingObject
extends CorrespondingObject

Diese Klasse kapselt zwei korrespondierenden Objekten auf unterschiedlichen Datenverteilern und unterstützt das automatische Kopieren, Löschen, usw. des Objektes in eine vorgegebene Richtung

Author:
Kappich Systemberatung

Field Summary
private  KExDaVDataPlugin _configurationDataPlugin
           
private  ManagerInterface _manager
           
private  ObjectManagerInterface _objectManagerInterface
           
private  ExistenceListener _sourceListener
           
private  boolean _started
           
private  Direction _strategy
           
 
Constructor Summary
CopyableCorrespondingObject(ObjectManagerInterface objectManagerInterface, ManagerInterface manager, ObjectSpecification objectSpecification, Direction strategy)
          Konstruktor
 
Method Summary
private  void copyConfigurationData(KExDaVObject source, KExDaVObject target)
          Kopiert Konfigurationsdaten
private  void createCopyObjectListener(KExDaVObject source, KExDaVObject target)
          Erstellt den Listener, der überwacht ob ein Objekt erstellt oder gelöscht wird und daraufhin das Objekt ebenfalls kopiert oder löscht
private  void createObject(KExDaVObject source, KExDaVObject target)
           
private  Map<PidAttributeGroupUsage,Data> getConfigurationData(KExDaVObject source, ClientDavInterface targetConnection)
           
 Direction getStrategy()
          Gibt die Richtung des Objektaustausches zurück
private  ConfigurationArea getTargetConfigurationArea(String type)
           
private  void invalidateObject(KExDaVObject target)
          Löscht ein Objekt
(package private)  void start()
          Startet den Austausch des Objekts
(package private)  void stop()
          Beendet den Austausch des Objekts
 
Methods inherited from class de.bsvrz.kex.kexdav.correspondingObjects.CorrespondingObject
equals, getLocalObject, getObjectSpecification, getRemoteObject, hashCode, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_sourceListener

private ExistenceListener _sourceListener

_strategy

private final Direction _strategy

_objectManagerInterface

private final ObjectManagerInterface _objectManagerInterface

_manager

private final ManagerInterface _manager

_started

private boolean _started

_configurationDataPlugin

private final KExDaVDataPlugin _configurationDataPlugin
Constructor Detail

CopyableCorrespondingObject

CopyableCorrespondingObject(ObjectManagerInterface objectManagerInterface,
                            ManagerInterface manager,
                            ObjectSpecification objectSpecification,
                            Direction strategy)
Konstruktor

Parameters:
objectManagerInterface - Objekt-Verwaltung
manager - KExDaV-Verwaltung
objectSpecification - Spezifikation zur Bestimmung des Objekts
strategy - Austauschrichtung
Method Detail

start

void start()
     throws MissingAreaException
Startet den Austausch des Objekts

Throws:
MissingAreaException - Ein benötigter KB fehlt

copyConfigurationData

private void copyConfigurationData(KExDaVObject source,
                                   KExDaVObject target)
Kopiert Konfigurationsdaten

Parameters:
source - Quell-Objekt
target - Objekt, den die Konfigurationsdaten hinzugefügt werden sollen

stop

void stop()
Beendet den Austausch des Objekts


createCopyObjectListener

private void createCopyObjectListener(KExDaVObject source,
                                      KExDaVObject target)
Erstellt den Listener, der überwacht ob ein Objekt erstellt oder gelöscht wird und daraufhin das Objekt ebenfalls kopiert oder löscht

Parameters:
source - Objekt, das auf Änderungen überwacht wird
target - Objekt das ggf. erstellt oder gelöscht wird

invalidateObject

private void invalidateObject(KExDaVObject target)
                       throws ConfigurationChangeException
Löscht ein Objekt

Parameters:
target - Objekt
Throws:
ConfigurationChangeException - Konfiguration weigert sich den Auftrag auszuführen

createObject

private void createObject(KExDaVObject source,
                          KExDaVObject target)
                   throws MissingAreaException
Throws:
MissingAreaException

getConfigurationData

private Map<PidAttributeGroupUsage,Data> getConfigurationData(KExDaVObject source,
                                                              ClientDavInterface targetConnection)
                                                       throws MissingObjectException
Throws:
MissingObjectException

getTargetConfigurationArea

private ConfigurationArea getTargetConfigurationArea(String type)
                                              throws MissingAreaException
Throws:
MissingAreaException

getStrategy

public Direction getStrategy()
Gibt die Richtung des Objektaustausches zurück

Returns:
Richtung