de.bsvrz.kex.kexdav.objectexchange
Class DynamicSetExchange

java.lang.Object
  extended by de.bsvrz.kex.kexdav.objectexchange.DynamicSetExchange

public class DynamicSetExchange
extends Object

Klasse zum Austausch von veränderlichen Mengen

Author:
Kappich Systemberatung

Nested Class Summary
private  class DynamicSetExchange.SetListener
           
 
Field Summary
private  CorrespondingObjectManager _correspondingObjectManager
           
private  MutableSetChangeListener _listener
           
private  ManagerInterface _manager
           
private  String _myDisplayNameSource
           
private  String _myDisplayNameTarget
           
private  MutableSet _source
           
private  Direction _strategy
           
private  MutableSet _target
           
 
Constructor Summary
DynamicSetExchange(ConfigurationObject localObject, ConfigurationObject remoteObject, String localSetName, String remoteSetName, Direction strategy, CorrespondingObjectManager correspondingObjectManager, ManagerInterface manager)
          Konstruktor
 
Method Summary
private  void addObject(ObjectSpecification objectSpecification)
          Fügt der Menge ein Objekt hinzu
private static MutableSet getSet(ConfigurationObject object, String setName)
          Ermittelt eine Menge
private static boolean matchesNone(SystemObject object, Collection<ObjectSpecification> objectSpecifications)
          Prüft ob das Objekt in den Spezifikationen enthalten ist
private  void removeObject(SystemObject object)
          Löscht ein Objekt aus der Menge
 void start()
          Startet den Austausch
 void stop()
          Beendet den Austausch
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

_source

private final MutableSet _source

_target

private final MutableSet _target

_listener

private final MutableSetChangeListener _listener

_strategy

private final Direction _strategy

_correspondingObjectManager

private final CorrespondingObjectManager _correspondingObjectManager

_manager

private final ManagerInterface _manager

_myDisplayNameTarget

private final String _myDisplayNameTarget

_myDisplayNameSource

private final String _myDisplayNameSource
Constructor Detail

DynamicSetExchange

public DynamicSetExchange(ConfigurationObject localObject,
                          ConfigurationObject remoteObject,
                          String localSetName,
                          String remoteSetName,
                          Direction strategy,
                          CorrespondingObjectManager correspondingObjectManager,
                          ManagerInterface manager)
                   throws MissingObjectException
Konstruktor

Parameters:
localObject - Lokales Onjekt
remoteObject - Remote-Objekt
localSetName - Lokaler Mengenname
remoteSetName - Remote-Mengenname
strategy - Austauschrichtung
correspondingObjectManager - Verwaltung korrespondierender Objekte
manager - KExDaV-Manager an den Benachrichtigungen usw. geschickt werden können
Throws:
MissingObjectException - Falls ein notwendiges Objekt oder eine Menge Fehlt
Method Detail

getSet

private static MutableSet getSet(ConfigurationObject object,
                                 String setName)
                          throws MissingObjectException
Ermittelt eine Menge

Parameters:
object - Objekt
setName - Mengenname
Returns:
Menge
Throws:
MissingObjectException - die Menge kann nicht gefunden werden oder ist nicht änderbar

start

public void start()
           throws MissingAreaException
Startet den Austausch

Throws:
MissingAreaException - Falls ein Konfigurationsbereich fehlt

matchesNone

private static boolean matchesNone(SystemObject object,
                                   Collection<ObjectSpecification> objectSpecifications)
Prüft ob das Objekt in den Spezifikationen enthalten ist

Parameters:
object - Objekt
objectSpecifications - Spezifikationen
Returns:
false wenn das objekt zu mindestens einer ObjectSpecification passt, sonst true

stop

public void stop()
Beendet den Austausch


addObject

private void addObject(ObjectSpecification objectSpecification)
                throws MissingAreaException
Fügt der Menge ein Objekt hinzu

Parameters:
objectSpecification - Objekt-Spezifizierung
Throws:
MissingAreaException - Es fehlt ein KB für das Objekt

removeObject

private void removeObject(SystemObject object)
Löscht ein Objekt aus der Menge

Parameters:
object - Objekt

toString

public String toString()
Overrides:
toString in class Object