public class ObjectExchangeManager extends AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject> implements ObjectCollectionParent, ObjectCollectionChangeListener, RegionManager
Verwaltung Objektaustausche
Modifier and Type | Field and Description |
---|---|
private CorrespondingObjectManager |
_correspondingObjectManager |
private java.util.Collection<ObjectCollection> |
_objectCollections |
private java.util.Map<ClientDavInterface,java.util.Map<SystemObject,Region>> |
_regions |
Constructor and Description |
---|
ObjectExchangeManager(RemoteDaVParameter parameter,
ManagerInterface manager,
CorrespondingObjectManager correspondingObjectManager)
Konstruktor
|
Modifier and Type | Method and Description |
---|---|
void |
blockChanged()
Wird aufgerufen, wenn sich ein Block ändert
|
protected CopyableCorrespondingObject |
createExchange(ObjectExchangeDescription description)
Template-Methode, die anhand einer Description ein Datenaustausch-Klasse erstellt
|
protected java.util.Set<ObjectExchangeDescription> |
getExchangeDescriptionsFromNewParameters(RemoteDaVParameter parameters)
Template-Methode, die für einen Parameter-Datensatz alle Datenbeschreibungen zurückgeben soll
|
Region |
getRegion(SystemObject regionObject)
Gibt die Region-Klasse zurück die zu dem angeforderten Systemobjekt gehört.
|
private java.util.Collection<SystemObject> |
getSystemObjectsFromParameter(ObjectCollectionFactory parameter,
ClientDavInterface connection) |
java.lang.Object |
getUpdateLock()
Um immer einen konsistenten Zustand zu haben, darf immer nur ein DataLoader gleichzeitig pro RegionManager geupdatet werden.
|
boolean |
isDisabled(Region region) |
void |
objectChanged(DataLoader object)
Wird aufgerufen un dem AccessControlManager zu informieren, dass ein verwaltetes Objekt sich geändert hat.
|
protected void |
removeExchange(CopyableCorrespondingObject exchange)
Template-Methode, die eine Datenaustauschklasse deaktiviert bzw. entfernt
|
getExchangeMap, getManager, notifyNewExchangeDescriptions, setParameter, start, stop
private final CorrespondingObjectManager _correspondingObjectManager
private final java.util.Collection<ObjectCollection> _objectCollections
private final java.util.Map<ClientDavInterface,java.util.Map<SystemObject,Region>> _regions
public ObjectExchangeManager(RemoteDaVParameter parameter, ManagerInterface manager, CorrespondingObjectManager correspondingObjectManager)
Konstruktor
parameter
- Parametermanager
- VerwaltungcorrespondingObjectManager
- Verwaltung korrespondierende Objekteprotected CopyableCorrespondingObject createExchange(ObjectExchangeDescription description) throws KExDaVException
AbstractKExDaVExchange
Template-Methode, die anhand einer Description ein Datenaustausch-Klasse erstellt
createExchange
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
description
- DescriptionKExDaVException
- Falls ein Fehler auftrittprotected void removeExchange(CopyableCorrespondingObject exchange)
AbstractKExDaVExchange
Template-Methode, die eine Datenaustauschklasse deaktiviert bzw. entfernt
removeExchange
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
exchange
- Datenaustauschklasseprotected java.util.Set<ObjectExchangeDescription> getExchangeDescriptionsFromNewParameters(RemoteDaVParameter parameters)
AbstractKExDaVExchange
Template-Methode, die für einen Parameter-Datensatz alle Datenbeschreibungen zurückgeben soll
getExchangeDescriptionsFromNewParameters
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
parameters
- Parameterprivate java.util.Collection<SystemObject> getSystemObjectsFromParameter(ObjectCollectionFactory parameter, ClientDavInterface connection)
public boolean isDisabled(Region region)
isDisabled
in interface ObjectCollectionParent
public Region getRegion(SystemObject regionObject)
de.bsvrz.dav.dav.util.accessControl.RegionManager
getRegion
in interface ObjectCollectionParent
getRegion
in interface RegionManager
regionObject
- Systemobjekt, das eine Region repräsentiertpublic void objectChanged(DataLoader object)
de.bsvrz.dav.dav.util.accessControl.RegionManager
HighLevelSubscriptionsManager
eine Benachrichtigung senden, dass
sich die Rechte des Benutzers geändert haben und eventuelle vorhandene Anmeldungen entfernt werden müssen.objectChanged
in interface RegionManager
object
- Objekt das sich geändert hatpublic java.lang.Object getUpdateLock()
de.bsvrz.dav.dav.util.accessControl.RegionManager
getUpdateLock
in interface RegionManager
public void blockChanged()
de.bsvrz.dav.dav.util.accessControl.ObjectCollectionChangeListener
blockChanged
in interface ObjectCollectionChangeListener