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 ObjectManagerInterfaceobjectSpecification - Pidpublic void copyObjectIfNecessary(ObjectSpecification objectSpecification, ClientDavInterface sourceConnection, ClientDavInterface targetConnection)
ObjectManagerInterfacecopyObjectIfNecessary in interface ObjectManagerInterfaceobjectSpecification - Spezifikation zur Ermittlung des ObjektessourceConnection - QuellverbindungtargetConnection - Zielverbindungpublic ClientDavInterface getLocalConnection()
ObjectManagerInterfacegetLocalConnection in interface ObjectManagerInterfacepublic ClientDavInterface getRemoteConnection()
ObjectManagerInterfacegetRemoteConnection in interface ObjectManagerInterfacepublic ConfigurationArea getConfigurationAreaRemote(String typePid) throws MissingAreaException
ObjectManagerInterfacegetConfigurationAreaRemote in interface ObjectManagerInterfacetypePid - Objekt-TypMissingAreaException - Falls kein Konfigurationsbereich gefunden werden konntepublic ConfigurationArea getConfigurationAreaLocal(String typePid) throws MissingAreaException
ObjectManagerInterfacegetConfigurationAreaLocal in interface ObjectManagerInterfacetypePid - Objekt-TypMissingAreaException - Falls kein Konfigurationsbereich gefunden werden konntepublic KExDaVDataPlugin getPlugIn(String atgSource, String atgTarget) throws MissingPluginException
ObjectManagerInterfaceBasicKExDaVDataPlugin zurückgegebengetPlugIn in interface ObjectManagerInterfaceatgSource - 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.MissingKExDaVAttributeGroupExceptionpublic void clear()