Class KExDaVObject
- java.lang.Object
-
- de.bsvrz.kex.kexdav.systemobjects.KExDaVObject
-
public class KExDaVObject extends java.lang.ObjectKapselt 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 voidaddExistenceListener(ExistenceListener e)Erstellt einen Listener auf die Erstellung dieses Objektsvoidcreate(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 Objektbooleanequals(java.lang.Object o)booleanexists()Prüft ob das Objekt existiertjava.util.Map<PidAttributeGroupUsage,KExDaVAttributeGroupData>getAllConfigurationData()Liest alle Konfigurationsdaten dieses Objektsjava.lang.StringgetConfigurationAuthority()de.bsvrz.dav.daf.main.ClientDavInterfacegetConnection()Gibt die Datenverteiler-Verbindung zurück, zu der dieses Objekt gehörtExchangePropertiesgetExchangeProperties()Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurückstatic ExchangePropertiesgetExchangeProperties(de.bsvrz.dav.daf.main.config.SystemObject wrappedObject)Gibt die konfigurierte Auttributgruppe für ausgetausche Objekte zurücklonggetId()java.lang.StringgetName()Gibt den Namen dieses Objekts zurückObjectSpecificationgetObjectSpecification()Gibt die Spezifikation dieses Objekts zurückjava.lang.StringgetPid()java.lang.StringgetType()Gibt den Typ dieses Objekts zurückde.bsvrz.dav.daf.main.config.SystemObjectgetWrappedObject()Gibt das SystemObject zurückinthashCode()booleaninvalidate(boolean force)Löscht dieses ObjektbooleanisConfigurationObject()Prüft, ob das Objekt ein Konfigurationsobjekt istbooleanisCopy()Gibttruezurü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.booleanregisterReceiver(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/SenkebooleanregisterSender(java.lang.String atg, java.lang.String asp, short simulationVariant, de.bsvrz.dav.daf.main.SenderRole senderRole, KExDaVSender senderObject)Anmeldung als Sender oder QuellevoidremoveExistenceListener(ExistenceListener e)Entfernt einen Listener auf die Löschung dieses ObjektsvoidsendData(KExDaVSender senderObject, de.bsvrz.dav.daf.main.Data data, long dataTime, boolean delayed)Sendet Daten an das ObjektvoidsetConfigurationData(java.util.Map<PidAttributeGroupUsage,de.bsvrz.dav.daf.main.Data> configurationData)Setzt Konfigurationsdatenjava.lang.StringtoString()voidunsubscribeReceiver(KExDaVReceiver receiverObject)Meldet einen Empfänger abvoidunsubscribeSender(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 MissingObjectExceptionAnmeldung 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 MissingObjectExceptionAnmeldung 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, MissingKExDaVAttributeGroupExceptionLö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:
toStringin classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein 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, MissingKExDaVAttributeGroupExceptionErstellt 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 MissingObjectExceptionGibt 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 MissingObjectExceptionGibt 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 MissingKExDaVAttributeGroupExceptionGibttruezurü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
-
-