public class ObjectExchangeManager extends AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject> implements ObjectCollectionParent, ObjectCollectionChangeListener, RegionManager
Modifier and Type | Field and Description |
---|---|
private CorrespondingObjectManager |
_correspondingObjectManager |
private Collection<ObjectCollection> |
_objectCollections |
private Map<ClientDavInterface,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 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 Collection<SystemObject> |
getSystemObjectsFromParameter(ObjectCollectionFactory parameter,
ClientDavInterface connection) |
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.
|
getExchangeMap, getManager, notifyNewExchangeDescriptions, setParameter, start, stop
private final CorrespondingObjectManager _correspondingObjectManager
private final Collection<ObjectCollection> _objectCollections
private final Map<ClientDavInterface,Map<SystemObject,Region>> _regions
public ObjectExchangeManager(RemoteDaVParameter parameter, ManagerInterface manager, CorrespondingObjectManager correspondingObjectManager)
parameter
- Parametermanager
- VerwaltungcorrespondingObjectManager
- Verwaltung korrespondierende Objekteprotected CopyableCorrespondingObject createExchange(ObjectExchangeDescription description) throws KExDaVException
AbstractKExDaVExchange
createExchange
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
description
- DescriptionKExDaVException
- Falls ein Fehler auftrittprotected void removeExchange(CopyableCorrespondingObject exchange)
AbstractKExDaVExchange
removeExchange
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
exchange
- Datenaustauschklasseprotected Set<ObjectExchangeDescription> getExchangeDescriptionsFromNewParameters(RemoteDaVParameter parameters)
AbstractKExDaVExchange
getExchangeDescriptionsFromNewParameters
in class AbstractKExDaVExchange<ObjectExchangeDescription,CopyableCorrespondingObject>
parameters
- Parameterprivate 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 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