Class KExDaVObject
- java.lang.Object
-
- de.bsvrz.kex.kexdav.systemobjects.KExDaVObject
-
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 Summary
Constructors Constructor Description KExDaVObject(ObjectSpecification objectSpecification, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObjectKExDaVObject(java.lang.String pid, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObject
-
Method Summary
Modifier and Type Method Description void
addExistenceListener(ExistenceListener e)
Erstellt einen Listener auf die Erstellung dieses Objektsvoid
create(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea, java.lang.String pid, java.lang.String typePid, java.lang.String objectName, java.util.Map<PidAttributeGroupUsage,de.bsvrz.dav.daf.main.Data> allConfigurationData, long origId, java.lang.String origConfigAuthority)
Erstellt dieses Objektboolean
equals(java.lang.Object o)
boolean
exists()
Prüft ob das Objekt existiertjava.util.Map<PidAttributeGroupUsage,KExDaVAttributeGroupData>
getAllConfigurationData()
Liest alle Konfigurationsdaten dieses Objektsjava.lang.String
getConfigurationAuthority()
de.bsvrz.dav.daf.main.ClientDavInterface
getConnection()
Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehörtExchangeProperties
getExchangeProperties()
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurückstatic ExchangeProperties
getExchangeProperties(de.bsvrz.dav.daf.main.config.SystemObject wrappedObject)
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurücklong
getId()
java.lang.String
getName()
Gibt den Namen dieses Objekts zurückObjectSpecification
getObjectSpecification()
Gibt die Spezifikation dieses Objekts zurückjava.lang.String
getPid()
java.lang.String
getType()
Gibt den Typ dieses Objekts zurückde.bsvrz.dav.daf.main.config.SystemObject
getWrappedObject()
Gibt das SystemObject zurückint
hashCode()
boolean
invalidate(boolean force)
Löscht dieses Objektboolean
isConfigurationObject()
Prüft, ob das Objekt ein Konfigurationsobjekt istboolean
isCopy()
Gibttrue
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, de.bsvrz.dav.daf.main.ReceiverRole receiverRole, de.bsvrz.dav.daf.main.ReceiveOptions receiveOptions, KExDaVReceiver receiver)
Anmeldung als Empfänger/Senkeboolean
registerSender(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.SenderRole senderRole, KExDaVSender senderObject)
Anmeldung als Sender oder Quellevoid
removeExistenceListener(ExistenceListener e)
Entfernt einen Listener auf die Löschung dieses Objektsvoid
sendData(KExDaVSender senderObject, de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
Sendet Daten an das Objektvoid
setConfigurationData(java.util.Map<PidAttributeGroupUsage,de.bsvrz.dav.daf.main.Data> configurationData)
Setzt Konfigurationsdatenjava.lang.String
toString()
void
unsubscribeReceiver(KExDaVReceiver receiverObject)
Meldet einen Empfänger abvoid
unsubscribeSender(KExDaVSender senderObject)
Meldet einen Sender ab
-
-
-
Constructor Detail
-
KExDaVObject
public KExDaVObject(java.lang.String pid, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObject- Parameters:
pid
- Objekt-Pidconnection
- Datenverteiler-Verbindungmanager
- KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden können
-
KExDaVObject
public KExDaVObject(ObjectSpecification objectSpecification, de.bsvrz.dav.daf.main.ClientDavInterface connection, ManagerInterface manager)
Erstellt ein neues KExDavObject- Parameters:
objectSpecification
- Objekt-Spezifikationconnection
- Datenverteiler-Verbindungmanager
- KExDaV-Manager-Objekt, an das Benachrichtigungen gesendet werden können
-
-
Method Detail
-
registerReceiver
public boolean registerReceiver(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.ReceiverRole receiverRole, de.bsvrz.dav.daf.main.ReceiveOptions receiveOptions, KExDaVReceiver receiver) throws MissingObjectException
Anmeldung als Empfänger/Senke- Parameters:
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.- Returns:
- boolean
- Throws:
MissingObjectException
- Falls Attributgruppe oder Aspekt nicht vorhanden sind
-
registerSender
public boolean registerSender(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.SenderRole senderRole, KExDaVSender senderObject) throws MissingObjectException
Anmeldung als Sender oder Quelle- Parameters:
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.- Returns:
- true wenn das Objekt angemeldet wurde, sonst false.
- Throws:
MissingObjectException
- Falls Attributgruppe oder Aspekt nicht vorhanden sind
-
sendData
public void sendData(KExDaVSender senderObject, de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)
Sendet Daten an das Objekt- Parameters:
senderObject
- Sender-Objektdata
- DatendataTime
- Zeit des Datensatzesdelayed
-true
, wenn der im Ergebnis enthaltene Datensatz als nachgeliefert gekennzeichnet werden soll.
-
unsubscribeSender
public void unsubscribeSender(KExDaVSender senderObject)
Meldet einen Sender ab- Parameters:
senderObject
- Sender-Objekt
-
unsubscribeReceiver
public void unsubscribeReceiver(KExDaVReceiver receiverObject)
Meldet einen Empfänger ab- Parameters:
receiverObject
- Empfänger-Objekt
-
getConnection
public de.bsvrz.dav.daf.main.ClientDavInterface getConnection()
Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehört- Returns:
- Datenverteiler-Verbindung
-
getWrappedObject
public de.bsvrz.dav.daf.main.config.SystemObject getWrappedObject()
Gibt das SystemObject zurück- Returns:
- SystemObject
-
addExistenceListener
public void addExistenceListener(ExistenceListener e)
Erstellt einen Listener auf die Erstellung dieses Objekts- Parameters:
e
- Callback
-
removeExistenceListener
public void removeExistenceListener(ExistenceListener e)
Entfernt einen Listener auf die Löschung dieses Objekts- Parameters:
e
- Callback
-
invalidate
public boolean invalidate(boolean force) throws de.bsvrz.dav.daf.main.config.ConfigurationChangeException, MissingKExDaVAttributeGroupException
Löscht dieses Objekt- Parameters:
force
- Soll das Objekt auch gelöscht werden, wenn es nicht von KExDaV kopiert wurde?- Returns:
- true wenn das Objekt nicht mehr existiert, sonst false
- Throws:
de.bsvrz.dav.daf.main.config.ConfigurationChangeException
- Falls das Ändern der Konfiguration fehlschlägt (z.B. keine Berechtigung)MissingKExDaVAttributeGroupException
- Exception
-
getAllConfigurationData
public java.util.Map<PidAttributeGroupUsage,KExDaVAttributeGroupData> getAllConfigurationData() throws MissingObjectException
Liest alle Konfigurationsdaten dieses Objekts- Returns:
- Konfigurationsdaten
- Throws:
MissingObjectException
- Falls ein Objekt fehlt (entweder das Systemobjekt, oder die Attributgruppe oder der Aspekt)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
create
public void create(de.bsvrz.dav.daf.main.config.ConfigurationArea configurationArea, java.lang.String pid, java.lang.String typePid, java.lang.String objectName, java.util.Map<PidAttributeGroupUsage,de.bsvrz.dav.daf.main.Data> allConfigurationData, long origId, java.lang.String origConfigAuthority) throws MissingObjectException, de.bsvrz.dav.daf.main.config.ConfigurationChangeException, MissingKExDaVAttributeGroupException
Erstellt dieses Objekt- Parameters:
configurationArea
- Konfigurationsbereichpid
- PidtypePid
- Objekt-Typ-PidobjectName
- Objekt-name falls vorhandenallConfigurationData
- KonfigurationsdatenorigId
- Original-IDorigConfigAuthority
- Original-Configurationsverantwortlicher- Throws:
MissingObjectException
- Falls der angegebene Typ nicht existiert oder nicht vom Typ DynamicObjectType ist.de.bsvrz.dav.daf.main.config.ConfigurationChangeException
- Falls die Konfigurationsänderung nicht durchgeführt werden konnteMissingKExDaVAttributeGroupException
- Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)
-
getType
public java.lang.String getType() throws MissingObjectException
Gibt den Typ dieses Objekts zurück- Returns:
- Objekttyp als Pid
- Throws:
MissingObjectException
- Falls Objekt nicht existiert
-
getObjectSpecification
public ObjectSpecification getObjectSpecification()
Gibt die Spezifikation dieses Objekts zurück- Returns:
- Objekt-Spezifikation
-
getName
public java.lang.String getName() throws MissingObjectException
Gibt den Namen dieses Objekts zurück- Returns:
- Objektname
- Throws:
MissingObjectException
- Falls Objekt nicht existiert
-
exists
public boolean exists()
Prüft ob das Objekt existiert- Returns:
- True wenn es existiert
-
isConfigurationObject
public boolean isConfigurationObject()
Prüft, ob das Objekt ein Konfigurationsobjekt ist- Returns:
- True wenn es ein Konfigurationsobjekt ist, false wenn es nicht existiert oder ein dynamisches Objekt ist.
-
isCopy
public boolean isCopy() throws MissingKExDaVAttributeGroupException
Gibttrue
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.- Returns:
true
, wenn das Objekt mit diesem KExDaV von einem anderen Datenverteilersystem kopiert wurde, sonstfalse
- Throws:
MissingKExDaVAttributeGroupException
- Exception
-
getExchangeProperties
public ExchangeProperties getExchangeProperties() throws MissingKExDaVAttributeGroupException
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück- Returns:
- die konfigurierte Auttributgruppe für ausgetausche Objekte
- Throws:
MissingKExDaVAttributeGroupException
- Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)
-
getExchangeProperties
public static ExchangeProperties getExchangeProperties(de.bsvrz.dav.daf.main.config.SystemObject wrappedObject) throws MissingKExDaVAttributeGroupException
Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurück- Parameters:
wrappedObject
- Objekt, dessen Infos abgerufen werden sollen- Returns:
- die konfigurierte Auttributgruppe für ausgetausche Objekte
- Throws:
MissingKExDaVAttributeGroupException
- Bei nicht existierender Attributgruppe in der Konfiguration (altes Datenmodell)
-
setConfigurationData
public void setConfigurationData(java.util.Map<PidAttributeGroupUsage,de.bsvrz.dav.daf.main.Data> configurationData) throws MissingObjectException, de.bsvrz.dav.daf.main.config.ConfigurationChangeException
Setzt Konfigurationsdaten- Parameters:
configurationData
- Konfigurationsdaten- Throws:
MissingObjectException
- Das Objekt existiert nichtde.bsvrz.dav.daf.main.config.ConfigurationChangeException
- Die Konfiguration unterstützt die Änderung nicht
-
getPid
public java.lang.String getPid() throws MissingObjectException
- Throws:
MissingObjectException
-
getId
public long getId() throws MissingObjectException
- Throws:
MissingObjectException
-
getConfigurationAuthority
public java.lang.String getConfigurationAuthority() throws MissingObjectException
- Throws:
MissingObjectException
-
-