public class KExDaVObject
extends java.lang.Object
Kapselt ein Systemobjekt auf einem Datenverteiler. Bietet allgemeine Funktionen wie Prüfung auf Existenz und das Senden und Empfangen von Daten. Im Gegensatz zu normalen Systemobjekten kann man sich mit dieser Klasse auch als Sender/Empfänger anmelden, wenn das zugehörige Objekt nicht auf dem Datenverteiler existiert. Die wirkliche Anmeldung wird dann nachgetragen, sobald das Objekt erstellt wird.
Constructor and Description |
---|
KExDaVObject(ObjectSpecification objectSpecification,
ClientDavInterface connection,
ManagerInterface manager)
Erstellt ein neues KExDavObject
|
KExDaVObject(java.lang.String pid,
ClientDavInterface connection,
ManagerInterface manager)
Erstellt ein neues KExDavObject
|
Modifier and Type | Method and Description |
---|---|
void |
addExistenceListener(ExistenceListener e)
Erstellt einen Listener auf die Erstellung dieses Objekts
|
void |
create(ConfigurationArea configurationArea,
java.lang.String pid,
java.lang.String typePid,
java.lang.String objectName,
java.util.Map<PidAttributeGroupUsage,Data> allConfigurationData,
long origId,
java.lang.String origConfigAuthority)
Erstellt dieses Objekt
|
boolean |
equals(java.lang.Object o) |
boolean |
exists()
Prüft ob das Objekt existiert
|
java.util.Map<PidAttributeGroupUsage,KExDaVAttributeGroupData> |
getAllConfigurationData()
Liest alle Konfigurationsdaten dieses Objekts
|
java.lang.String |
getConfigurationAuthority() |
ClientDavInterface |
getConnection()
Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehört
|
ExchangeProperties |
getExchangeProperties()
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
|
static ExchangeProperties |
getExchangeProperties(SystemObject wrappedObject)
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
|
long |
getId() |
java.lang.String |
getName()
Gibt den Namen dieses Objekts zurück
|
ObjectSpecification |
getObjectSpecification()
Gibt die Spezifikation dieses Objekts zurück
|
java.lang.String |
getPid() |
java.lang.String |
getType()
Gibt den Typ dieses Objekts zurück
|
SystemObject |
getWrappedObject()
Gibt das SystemObject zurück
|
int |
hashCode() |
boolean |
invalidate(boolean force)
Löscht dieses Objekt
|
boolean |
isConfigurationObject()
Prüft, ob das Objekt ein Konfigurationsobjekt ist
|
boolean |
isCopy()
Gibt true zurück, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, d.h. wenn es also “im Besitz” dieses KExDaVs ist und damit z.B. auch gelöscht werden darf.
|
boolean |
registerReceiver(java.lang.String atg,
java.lang.String asp,
short simulationVariant,
ReceiverRole receiverRole,
ReceiveOptions receiveOptions,
KExDaVReceiver receiver)
Anmeldung als Empfänger/Senke
|
boolean |
registerSender(java.lang.String atg,
java.lang.String asp,
short simulationVariant,
SenderRole senderRole,
KExDaVSender senderObject)
Anmeldung als Sender oder Quelle
|
void |
removeExistenceListener(ExistenceListener e)
Entfernt einen Listener auf die Löschung dieses Objekts
|
void |
sendData(KExDaVSender senderObject,
Data data,
long dataTime,
boolean delayed)
Sendet Daten an das Objekt
|
void |
setConfigurationData(java.util.Map<PidAttributeGroupUsage,Data> configurationData)
Setzt Konfigurationsdaten
|
java.lang.String |
toString() |
void |
unsubscribeReceiver(KExDaVReceiver receiverObject)
Meldet einen Empfänger ab
|
void |
unsubscribeSender(KExDaVSender senderObject)
Meldet einen Sender ab
|
public KExDaVObject(java.lang.String pid, ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObject
pid
- Objekt-Pidconnection
- Datenverteiler-Verbindungmanager
- KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden könnenpublic KExDaVObject(ObjectSpecification objectSpecification, ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObject
objectSpecification
- Objekt-Spezifikationconnection
- Datenverteiler-Verbindungmanager
- KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden könnenpublic boolean registerReceiver(java.lang.String atg, java.lang.String asp, short simulationVariant, ReceiverRole receiverRole, ReceiveOptions receiveOptions, KExDaVReceiver receiver) throws MissingObjectException
Anmeldung als Empfänger/Senke
atg
- Attributgruppeasp
- AspektsimulationVariant
- SimulationsvariantereceiverRole
- (Empfänger oder Senke)receiveOptions
- (Delta oder Nachgeliefert oder Normal)receiver
- Objekt an das Empfangene Daten gesendet werden. Jedes Objekt ist einer Datenidentifikation fest zugeordnet und kann nur einmal angemeldet werden.MissingObjectException
- Falls Attributgruppe oder Aspekt nicht vorhanden sindpublic boolean registerSender(java.lang.String atg, java.lang.String asp, short simulationVariant, SenderRole senderRole, KExDaVSender senderObject) throws MissingObjectException
Anmeldung als Sender oder Quelle
atg
- Attributgruppeasp
- AspektsimulationVariant
- SimulationsvariantesenderRole
- Sender oder QuellesenderObject
- Beliebiges Objekt das zu diesem Sender gespeichert wird. Jedes Objekt ist einer Datenidentifikation fest zugeordnet und kann nur einmal angemeldet werden.MissingObjectException
- Falls Attributgruppe oder Aspekt nicht vorhanden sindpublic void sendData(KExDaVSender senderObject, Data data, long dataTime, boolean delayed)
Sendet Daten an das Objekt
senderObject
- Sender-Objektdata
- DatendataTime
- Zeit des Datensatzesdelayed
- true
, wenn der im Ergebnis enthaltene Datensatz als nachgeliefert gekennzeichnet werden soll.public void unsubscribeSender(KExDaVSender senderObject)
Meldet einen Sender ab
senderObject
- Sender-Objektpublic void unsubscribeReceiver(KExDaVReceiver receiverObject)
Meldet einen Empfänger ab
receiverObject
- Empfänger-Objektpublic ClientDavInterface getConnection()
Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehört
public SystemObject getWrappedObject()
Gibt das SystemObject zurück
public void addExistenceListener(ExistenceListener e)
Erstellt einen Listener auf die Erstellung dieses Objekts
e
- Callbackpublic void removeExistenceListener(ExistenceListener e)
Entfernt einen Listener auf die Löschung dieses Objekts
e
- Callbackpublic boolean invalidate(boolean force) throws ConfigurationChangeException, MissingKExDaVAttributeGroupException
Löscht dieses Objekt
force
- Soll das Objekt auch gelöscht werden, wenn es nicht von KExDaV kopiert wurde?ConfigurationChangeException
- Falls das Ändern der Konfiguration fehlschlägt (z.B. keine Berechtigung)MissingKExDaVAttributeGroupException
public java.util.Map<PidAttributeGroupUsage,KExDaVAttributeGroupData> getAllConfigurationData() throws MissingObjectException
Liest alle Konfigurationsdaten dieses Objekts
MissingObjectException
- Falls ein Objekt fehlt (entweder das Systemobjekt, oder die Attributgruppe oder der Aspekt)public java.lang.String toString()
toString
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public void create(ConfigurationArea configurationArea, java.lang.String pid, java.lang.String typePid, java.lang.String objectName, java.util.Map<PidAttributeGroupUsage,Data> allConfigurationData, long origId, java.lang.String origConfigAuthority) throws MissingObjectException, ConfigurationChangeException, MissingKExDaVAttributeGroupException
Erstellt dieses Objekt
configurationArea
- Konfigurationsbereichpid
- typePid
- Objekt-Typ-PidobjectName
- Objekt-name falls vorhandenallConfigurationData
- KonfigurationsdatenorigId
- origConfigAuthority
- MissingObjectException
- Falls der angegebene Typ nicht existiert oder nicht vom Typ DynamicObjectType ist.ConfigurationChangeException
- Falls die Konfigurationsänderung nicht durchgeführt werden konnteMissingKExDaVAttributeGroupException
public java.lang.String getType() throws MissingObjectException
Gibt den Typ dieses Objekts zurück
MissingObjectException
- Falls Objekt nicht existiertpublic ObjectSpecification getObjectSpecification()
Gibt die Spezifikation dieses Objekts zurück
public java.lang.String getName() throws MissingObjectException
Gibt den Namen dieses Objekts zurück
MissingObjectException
- Falls Objekt nicht existiertpublic boolean exists()
Prüft ob das Objekt existiert
public boolean isConfigurationObject()
Prüft, ob das Objekt ein Konfigurationsobjekt ist
public boolean isCopy() throws MissingKExDaVAttributeGroupException
Gibt true zurück, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, d.h. wenn es also “im Besitz” dieses KExDaVs ist und damit z.B. auch gelöscht werden darf.
MissingKExDaVAttributeGroupException
public ExchangeProperties getExchangeProperties() throws MissingKExDaVAttributeGroupException
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
MissingKExDaVAttributeGroupException
- Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)public static ExchangeProperties getExchangeProperties(SystemObject wrappedObject) throws MissingKExDaVAttributeGroupException
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück
wrappedObject
- Objekt, dessen Infos abgerufen werden sollenMissingKExDaVAttributeGroupException
- Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)public void setConfigurationData(java.util.Map<PidAttributeGroupUsage,Data> configurationData) throws MissingObjectException, ConfigurationChangeException
Setzt Konfigurationsdaten
configurationData
- KonfigurationsdatenMissingObjectException
- Das Objekt existiert nichtConfigurationChangeException
- Die Konfiguration unterstützt die Änderung nichtpublic java.lang.String getPid() throws MissingObjectException
MissingObjectException
public long getId() throws MissingObjectException
MissingObjectException
public java.lang.String getConfigurationAuthority() throws MissingObjectException
MissingObjectException