public class CorrespondingObjectManager extends Object implements ObjectManagerInterface
Modifier and Type | Field and Description |
---|---|
private Map<String,ConfigurationArea> |
_localAreas |
private ClientDavInterface |
_localConnection |
private ConfigurationArea |
_localDefaultArea |
private ManagerInterface |
_manager |
private HashBagMap<ObjectSpecification,CorrespondingObject> |
_objectMap |
private Map<AttributeGroupPair,KExDaVDataPlugin> |
_plugins |
private Map<String,ConfigurationArea> |
_remoteAreas |
private ClientDavInterface |
_remoteConnection |
private ConfigurationArea |
_remoteDefaultArea |
Constructor and Description |
---|
CorrespondingObjectManager(ClientDavInterface localConnection,
ClientDavInterface remoteConnection,
ManagerInterface manager,
Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
Erstellt eine Verwaltung korrespondierender Objekte.
|
Modifier and Type | Method and Description |
---|---|
void |
clear()
Beendet alle von dieser Klasse verwendeten Austausche
|
void |
copyObjectIfNecessary(ObjectSpecification objectSpecification,
ClientDavInterface sourceConnection,
ClientDavInterface targetConnection)
Wird aufgerufen, wenn im Zielsystem ein dynamisches Objekt gebraucht wird.
|
CopyableCorrespondingObject |
createObjectExchange(ObjectSpecification objectSpecification,
Direction direction)
Erstellt einen Austausch dynamischer Objekte
|
ConfigurationArea |
getConfigurationAreaLocal(String typePid)
Sucht den passenden Konfigurationsbereich um ein Objekt im Lokal-System abzuspeichern
|
ConfigurationArea |
getConfigurationAreaRemote(String typePid)
Sucht den passenden Konfigurationsbereich um ein Objekt im Remote-System abzuspeichern
|
ClientDavInterface |
getLocalConnection()
Gibt die lokale Verbindung zurück
|
CorrespondingObject |
getObject(ObjectSpecification objectSpecification)
Gibt zu einer Pid ein korrespondierendes Objekt zurück, ohne dieses zu kopieren o.ä.
|
KExDaVDataPlugin |
getPlugIn(String atgSource,
String atgTarget)
Gibt ein Plugin zurück um von atgSource nach atgTarget zu konvertieren.
|
ClientDavInterface |
getRemoteConnection()
Gibt die Remote-Verbindung zurück
|
private void |
removeIllegalObjects(boolean onRemoteSystem,
ConfigurationArea targetArea,
Collection<ConfigurationArea> additionalTargetAreas)
Löscht Objekte aus den Austauschbereichen, die dort nichts zu suchen haben.
|
private void |
removeObject(boolean onRemoteSystem,
SystemObject systemObject)
Löscht ein Objekt.
|
boolean |
removeObjectExchange(ObjectSpecification objectSpecification,
Direction direction)
Entfernt einen Objektaustausch
|
void |
setConfigurationAreas(ConfigurationArea localDefaultArea,
ConfigurationArea remoteDefaultArea,
Map<String,ConfigurationArea> localAreas,
Map<String,ConfigurationArea> remoteAreas)
Setzt die Konfigurationsbereiche, in denen die Objekte angelegt werden sollen
|
String |
toString() |
private final HashBagMap<ObjectSpecification,CorrespondingObject> _objectMap
private Map<String,ConfigurationArea> _localAreas
private Map<String,ConfigurationArea> _remoteAreas
private ConfigurationArea _localDefaultArea
private ConfigurationArea _remoteDefaultArea
private final ClientDavInterface _localConnection
private final ClientDavInterface _remoteConnection
private final ManagerInterface _manager
private final Map<AttributeGroupPair,KExDaVDataPlugin> _plugins
public CorrespondingObjectManager(ClientDavInterface localConnection, ClientDavInterface remoteConnection, ManagerInterface manager, Map<AttributeGroupPair,KExDaVDataPlugin> plugins)
localConnection
- Lokale VerbindungremoteConnection
- Remote-Verbindungmanager
- KExDaV-Verwaltungplugins
- Plugins die pro Attributgruppenkonvertierung verwendet werdenpublic CopyableCorrespondingObject createObjectExchange(ObjectSpecification objectSpecification, Direction direction) throws MissingAreaException
objectSpecification
- Pid des Objektesdirection
- Richtung des AustauschesMissingAreaException
- Falls kein Konfigurationsbereich gefunden werden konnte, um das Objekt auf dem Zielsystem anzulegenpublic boolean removeObjectExchange(ObjectSpecification objectSpecification, Direction direction)
objectSpecification
- Piddirection
- Richtungpublic CorrespondingObject getObject(ObjectSpecification objectSpecification)
getObject
in interface ObjectManagerInterface
objectSpecification
- Pidpublic void copyObjectIfNecessary(ObjectSpecification objectSpecification, ClientDavInterface sourceConnection, ClientDavInterface targetConnection)
ObjectManagerInterface
copyObjectIfNecessary
in interface ObjectManagerInterface
objectSpecification
- Spezifikation zur Ermittlung des ObjektessourceConnection
- QuellverbindungtargetConnection
- Zielverbindungpublic ClientDavInterface getLocalConnection()
ObjectManagerInterface
getLocalConnection
in interface ObjectManagerInterface
public ClientDavInterface getRemoteConnection()
ObjectManagerInterface
getRemoteConnection
in interface ObjectManagerInterface
public ConfigurationArea getConfigurationAreaRemote(String typePid) throws MissingAreaException
ObjectManagerInterface
getConfigurationAreaRemote
in interface ObjectManagerInterface
typePid
- Objekt-TypMissingAreaException
- Falls kein Konfigurationsbereich gefunden werden konntepublic ConfigurationArea getConfigurationAreaLocal(String typePid) throws MissingAreaException
ObjectManagerInterface
getConfigurationAreaLocal
in interface ObjectManagerInterface
typePid
- Objekt-TypMissingAreaException
- Falls kein Konfigurationsbereich gefunden werden konntepublic KExDaVDataPlugin getPlugIn(String atgSource, String atgTarget) throws MissingPluginException
ObjectManagerInterface
BasicKExDaVDataPlugin
zurückgegebengetPlugIn
in interface ObjectManagerInterface
atgSource
- Quell-Attributgruppe (Pid)atgTarget
- Ziel-Attributgruppe (Pid)MissingPluginException
- Falls kein Plugin gefunden werden kannpublic void setConfigurationAreas(ConfigurationArea localDefaultArea, ConfigurationArea remoteDefaultArea, Map<String,ConfigurationArea> localAreas, Map<String,ConfigurationArea> remoteAreas)
localDefaultArea
- Standardbereich Lokal (oder null für keinen Standardbereich)remoteDefaultArea
- Standardbereich Remote (oder null für keinen Standardbereich)localAreas
- Lokale zusätzliche Bereiche nach TypremoteAreas
- Remote zusätzliche Bereiche nach Typprivate void removeIllegalObjects(boolean onRemoteSystem, ConfigurationArea targetArea, Collection<ConfigurationArea> additionalTargetAreas)
onRemoteSystem
- true wenn das Objekt auf dem Remotesystem, false wenn es auf dem Lokalsystem gelöscht werden solltargetArea
- StandardbereichadditionalTargetAreas
- Zusätzliche Bereicheprivate void removeObject(boolean onRemoteSystem, SystemObject systemObject) throws MissingKExDaVAttributeGroupException
onRemoteSystem
- true wenn das Objekt auf dem Remotesystem, false wenn es auf dem Lokalsystem gelöscht werden sollsystemObject
- Objekt.MissingKExDaVAttributeGroupException
public void clear()