public class ClientDavConnection extends Object implements ClientDavInterface
Modifier and Type | Class and Description |
---|---|
private static class |
ClientDavConnection.ConnectionShutdownHook |
private class |
ClientDavConnection.ImplicitReceiver |
(package private) class |
ClientDavConnection.ImplicitSubscriptionNote |
(package private) class |
ClientDavConnection.ImplicitUnsubscriber |
private class |
ClientDavConnection.ReadyMessageSender |
Modifier and Type | Field and Description |
---|---|
private boolean |
_applicationSendsDoneMessage
Hält fest, ob sich eine Applikation explizit selbst um die Fertigmeldung kümmert oder nicht.
|
private CacheManager |
_cacheManager
Der Cachemanager
|
private ClientDavParameters |
_clientDavParameters
Die Startparameter
|
private ClientDavRequester |
_clientDavRequester |
private DavCloseHandler |
_closeHandler
Das Objekt, das für das Schliessen nach Auftritt eines Fehlers zuständig ist.
|
private ConfigurationManager |
_configurationManager
Der Konfigurationsmanager
|
private List<DavConnectionListener> |
_connectionListeners
Enthält die Beobachter, die eine Mitteilung erhalten wollen, wenn die Verbindung zum Datenverteiler terminiert wird.
|
private DataModel |
_dataModel
Das DataModel Objekt dieser Verbindung.
|
private ClientDavConnection |
_dataModelConnection |
private static Debug |
_debug |
private Map<AttributeGroup,Data> |
_defaultData
Diese Map speichert zu einer Attributgruppe, den dazugehörigen "leeren" Datensatz, der vom Datenverteiler zur Verfügung gestellt wurde.
|
private ClientHighLevelCommunication |
_highLevelCommunication
Die höhere Ebene der Kommunikation
|
private ClientDavConnection.ImplicitReceiver |
_implicitReceiver
Empfänger für Implizitanmeldungen
|
private Object |
_implicitSubscriptionDataReceived
Monitorobjekt mit dem Aktualisierungen von impliziten Anmeldungen kommuniziert werden.
|
private Hashtable<BaseSubscriptionInfo,ClientDavConnection.ImplicitSubscriptionNote> |
_implicitSubscriptions
Die Liste wo die Implizitanmeldungen eingetragen werden.
|
private ClientDavConnection.ImplicitUnsubscriber |
_implicitUnsubscriber
Der Abmelder der Implizitanmeldungen
|
private boolean |
_isConnected
Information über den Verbindungsstatus.
|
private boolean |
_isLoggedIn
Information über den Authentifizierungsstatus.
|
private Object |
_lock |
private ClientSenderInterface |
_readyMessageSender
Der Sender, der die Fertigmeldung verschickt.
|
private boolean |
_reinitializeOnConnect |
private SimulationTime |
_simulationTime
Simulationszeithilfsobjekt
|
private StreamedRequestManager |
_streamedRequestManager
verwaltet Archivantworten
|
private SubscriptionManager |
_subscriptionManager
Der Anmeldemanager
|
private TransactionManager |
_transactionManager |
Modifier | Constructor and Description |
---|---|
|
ClientDavConnection()
Erzeugt eine neue logische Datenverteilerverbindung mit Default-Parametern.
|
|
ClientDavConnection(ClientDavParameters parameters)
Erzeugt eine neue logische Datenverteilerverbindung mit den angegebenen Parametern.
|
|
ClientDavConnection(ClientDavParameters parameters,
DataModel dataModel)
Erzeugt eine neue logische Datenverteilerverbindung mit den angegebenen Parametern.
|
protected |
ClientDavConnection(ClientDavParameters parameters,
DataModel dataModel,
Object lock)
Erzeugt eine neue logische Datenverteilerverbindung mit den angegebenen Parametern.
|
Modifier and Type | Method and Description |
---|---|
void |
addConnectionListener(DavConnectionListener davConnectionListener)
Ergänzt einen neuen Beobachter für bestimmte Zustandsänderungen bzgl.
|
private Aspect |
aspectToSubstitute(AttributeGroup attributeGroup,
Aspect aspect)
Gibt die Aspektumleitung für eine Kombination von Attributgruppe und Aspekt zurück.
|
private void |
checkDataIdentification(SystemObject[] objects,
AttributeGroup atg,
Aspect aspect,
String context)
Überprüft, ob die angegebene Kombination von Objekt, Attributgruppe und Aspekt zulässig ist.
|
boolean |
checkLoggedUserNameAndPassword(String userName,
String password)
Vergleicht den angegebenen Benutzernamen und das angegebene Benutzerpasswort mit den entsprechenden Werten, die beim Verbindungsaufbau zum Datenverteiler
benutzt wurden.
|
private ResultData |
composeApplicationReadyMessage(DataModel configuration,
AttributeGroup attributeGroup,
boolean sendNotReadyYet)
Erstellt die zu versendende Fertigmeldung
|
void |
connect()
Initialisiert einen Kommunikationskanal zum Datenverteiler mit den in den
Verbindungsparametern angegebenen
Addressinformationen. |
Data |
createData(AttributeGroup attributeGroup)
Liefert einen neuen initialisierten Datensatz zurück, der mit Attributwerten der in der angegebenen Attributgruppe definierten Attribute gefüllt ist.
|
private void |
createDataModel() |
void |
disconnect(boolean error,
String message)
Terminiert die Verbindung mit dem Datenverteiler.
|
void |
enableExplicitApplicationReadyMessage()
Diese Methode sollte von Applikationen, die den Zeitpunkt zum Versand der Applikations-Fertigmeldung selbst vorgeben möchten, vor der Authentifizierung
einer Datenverteilerverbindung aufrufen.
|
ArchiveRequestManager |
getArchive()
Liefert ein Stellvertreterobjekt zurück, mit dem streambasierte Archivanfragen über das lokale Archivsystem abgewickelt werden können.
|
ArchiveRequestManager |
getArchive(SystemObject archiveSystem)
Liefert ein Stellvertreterobjekt zurück, mit dem streambasierte Archivanfragen über ein bestimmtes Archivsystem abgewickelt werden können.
|
ResultData[] |
getCachedData(SystemObject[] objects,
DataDescription dataDescription,
ReceiveOptions options,
HistorySpecification history)
Zugriff auf zwischengespeicherte Datensätze.
|
ClientDavParameters |
getClientDavParameters()
Bestimmt die Verbindungsparameter der Datenverteiler-Applikationsfunktionen.
|
ResultData[] |
getData(SystemObject[] objects,
DataDescription dataDescription,
long unsubscriptionTime)
Zugriff auf die aktuellen Datensätze von verschiedenen System-Objekten.
|
ResultData |
getData(SystemObject object,
DataDescription dataDescription,
long unsubscriptionTime)
Zugriff auf den aktuellen Datensatz eines System-Objekts.
|
DataModel |
getDataModel()
Gibt das Datenmodell zurück, über das auf die lokale Konfiguration zugegriffen werden kann.
|
DataModel |
getDataModel(long configAuthorityId)
Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann.
|
DataModel |
getDataModel(String configAuthority)
Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann.
|
DataModel |
getDataModel(SystemObject configAuthority)
Gibt ein Datenmodell zurück, über das auf eine beliebige Konfiguration zugegriffen werden kann.
|
long |
getDavRoundTripTime()
Bestimmt die Telegrammlaufzeit von dieser Applikation zum lokalen Datenverteiler und zurück.
|
ClientApplication |
getLocalApplicationObject()
Gibt das Stellvertreterobjekt für diese Applikation zurück.
|
long |
getLocalApplicationObjectId()
Gibt die Id des Stellvertreterobjekts für diese Applikation zurück.
|
ConfigurationAuthority |
getLocalConfigurationAuthority()
Gibt das Stellvertreterobjekt des zugeordneten Konfigurationsverantwortlichen zurück.
|
DavApplication |
getLocalDav()
Gibt das Stellvertreterobjekt für den Datenverteiler, mit dem die Applikation verbunden ist, zurück.
|
DynamicObject |
getLocalUser()
Bestimmt das Systemobjekt für den angemeldeten Benutzer.
|
ApplicationSubscriptionInfo |
getSubscriptionInfo(DavApplication davApplication,
ClientApplication application)
Gibt Informationen über die Datenanmeldungen eien Appliaktion zurück
|
ClientSubscriptionInfo |
getSubscriptionInfo(DavApplication davApplication,
SystemObject object,
AttributeGroupUsage usage,
short simulationVariant)
Gibt Informationen über eine Datenanmeldung zurück
|
long |
getTime()
Bestimmt die aktuelle Zeit oder, wenn die Applikation mit der Simulationsvariante einer Offline-Simulation gestartet wurde, die simulierte Zeit.
|
int |
getTimeStampFromSenderSubscription(BaseSubscriptionInfo info)
Gibt den Zeitpunkt einer Sender-Anmeldung zurück
|
Transactions |
getTransactions()
Gibt eine Klasse zurück, die für diese Verbindung Transaktions-Anmeldungen durchführt
|
boolean |
isConnected() |
boolean |
isLoggedIn() |
void |
login()
Start der logischen Verbindung mit dem Datenverteiler.
|
void |
login(String userName,
String password)
Start der logischen Verbindung mit dem Datenverteiler.
|
private void |
notifyConnectionClosed() |
void |
removeConnectionListener(DavConnectionListener davConnectionListener)
Entfernt einen Beobachter für bestimmte Zustandsänderungen bzgl.
|
void |
sendApplicationReadyMessage()
Methode, die von der Applikation aufgerufen werden kann, um explizit eine Applikations-Fertigmeldung zu versenden.
|
private void |
sendApplicationReadyMessage(boolean sendNotReadyYet)
Meldet sich als Quelle beim Datenverteiler an und verschickt eine (Noch-nicht-)Fertigmeldung.
|
void |
sendData(ResultData result)
Sendet einen Ergebnisdatensatz zum Datenverteiler.
|
void |
sendData(ResultData[] results)
Sendet mehrere Ergebnisdatensätze zum Datenverteiler.
|
void |
setCloseHandler(ApplicationCloseActionHandler closer)
Setzt das Objekt, das für die Behandlung von Fehlern der Kommunikationsverbindung zuständig ist.
|
void |
sleep(long timeToSleep)
Blockiert den aufrufenden Thread für die spezifizierte Zeit.
|
void |
sleepUntil(long absolutTime)
Blockiert den aufrufenden Thread bis die spezifizierte Zeit erreicht ist.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
Collection<SystemObject> objects,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
Collection<SystemObject> objects,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role,
long cacheTime)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
SystemObject[] objects,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
SystemObject[] objects,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role,
long cacheTime)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeReceiver(ClientReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription,
ReceiveOptions options,
ReceiverRole role,
long cacheTime)
Anmeldung zum Empfangen von Daten.
|
void |
subscribeSender(ClientSenderInterface sender,
Collection<SystemObject> objects,
DataDescription dataDescription,
SenderRole role)
Anmeldung zum Senden von Daten.
|
void |
subscribeSender(ClientSenderInterface sender,
SystemObject[] objects,
DataDescription dataDescription,
SenderRole role)
Anmeldung zum Senden von Daten.
|
void |
subscribeSender(ClientSenderInterface sender,
SystemObject object,
DataDescription dataDescription,
SenderRole role)
Anmeldung zum Senden von Daten.
|
void |
subscribeSource(ClientSenderInterface sender,
ResultData initialData)
Anmeldung als Quelle und versenden von initialen Daten.
|
(package private) void |
triggerTransactionReceiver(ClientReceiverInterface receiver,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions)
Meldet einen Transaktionsempfänger oder eine Transaktionssenke an.
|
(package private) void |
triggerTransactionSender(ClientSenderInterface sender,
TransactionDataDescription dataDescription,
Collection<InnerDataSubscription> subscriptions)
Meldet einen Transaktionssender oder eine Transaktionsquelle an.
|
void |
unsubscribeReceiver(ClientReceiverInterface receiver,
Collection<SystemObject> objects,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
void |
unsubscribeReceiver(ClientReceiverInterface receiver,
SystemObject[] objects,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
void |
unsubscribeReceiver(ClientReceiverInterface receiver,
SystemObject object,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
void |
unsubscribeSender(ClientSenderInterface sender,
Collection<SystemObject> objects,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
void |
unsubscribeSender(ClientSenderInterface sender,
SystemObject[] objects,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
void |
unsubscribeSender(ClientSenderInterface sender,
SystemObject object,
DataDescription dataDescription)
Abmeldung von angemeldeten Daten.
|
private static final Debug _debug
private ClientHighLevelCommunication _highLevelCommunication
private CacheManager _cacheManager
private ConfigurationManager _configurationManager
private SubscriptionManager _subscriptionManager
private ClientDavParameters _clientDavParameters
private Object _implicitSubscriptionDataReceived
private Hashtable<BaseSubscriptionInfo,ClientDavConnection.ImplicitSubscriptionNote> _implicitSubscriptions
private ClientDavConnection.ImplicitUnsubscriber _implicitUnsubscriber
private ClientDavConnection.ImplicitReceiver _implicitReceiver
private DataModel _dataModel
private DavCloseHandler _closeHandler
private boolean _isConnected
private boolean _isLoggedIn
private SimulationTime _simulationTime
private StreamedRequestManager _streamedRequestManager
private List<DavConnectionListener> _connectionListeners
private Map<AttributeGroup,Data> _defaultData
private boolean _applicationSendsDoneMessage
enableExplicitApplicationReadyMessage()
gesetzt werden.private ClientSenderInterface _readyMessageSender
private boolean _reinitializeOnConnect
private ClientDavRequester _clientDavRequester
private TransactionManager _transactionManager
private ClientDavConnection _dataModelConnection
private final Object _lock
public ClientDavConnection() throws MissingParameterException
MissingParameterException
- Wenn notwendige Informationen nicht in den Default-Parametern spezifiziert wurden.public ClientDavConnection(ClientDavParameters parameters) throws MissingParameterException
parameters
- Parameter für die Datenverteiler-Applikationsfunktionen.MissingParameterException
- Wenn notwendige Informationen nicht in den übergebenen Parametern spezifiziert wurden.public ClientDavConnection(ClientDavParameters parameters, DataModel dataModel) throws MissingParameterException
parameters
- Parameter für die Datenverteiler-Applikationsfunktionen.dataModel
- Das zu verwendende Datenmodell für Konfigurationsanfragen.MissingParameterException
- Wenn notwendige Informationen nicht in den übergebenen Parametern spezifiziert wurden.protected ClientDavConnection(ClientDavParameters parameters, DataModel dataModel, Object lock) throws MissingParameterException
parameters
- Parameter für die Datenverteiler-Applikationsfunktionen.dataModel
- Das zu verwendende Datenmodell für Konfigurationsanfragen.lock
- Objekt, welches zur Synchronisierung verwendet wird. Wird eine zweite Verbindung aufgebaut, synchronisieren beide Objekte auf
dasselbe Lock-Objekt um Deadlocks zu vermeiden. (Ansonsten passiert es sehr schnell, dass jede Verbindung das eigene Lock
hält und irgendeine Aktion auf der anderen Verbindung triggert, was dann zu einem Deadlock führt.)MissingParameterException
- Wenn notwendige Informationen nicht in den übergebenen Parametern spezifiziert wurden.private void createDataModel()
public void setCloseHandler(ApplicationCloseActionHandler closer)
ClientDavInterface
SystemTerminator
benutzt, das bei Kommunikationsfehlern eine Fehlermeldung ausgibt und
die Applikation terminiert.setCloseHandler
in interface ClientDavInterface
closer
- Objekt für die Behandlung von Kommunikationsfehlern oder null, falls bei einem Verbindungsfehler nichts passieren soll.public final long getTime()
ClientDavInterface
getTime
in interface ClientDavInterface
public final void sleep(long timeToSleep)
ClientDavInterface
sleep
in interface ClientDavInterface
timeToSleep
- Wartezeit in Millisekunden seit 1970.public final void sleepUntil(long absolutTime)
ClientDavInterface
sleepUntil
in interface ClientDavInterface
absolutTime
- Abzuwartender Zeitpunkt in Millisekunden seit 1970.public ArchiveRequestManager getArchive()
ClientDavInterface
getArchive(getLocalConfigurationAuthority)
.getArchive
in interface ClientDavInterface
ClientDavInterface.getLocalConfigurationAuthority()
,
ClientDavInterface.getArchive(SystemObject)
public ArchiveRequestManager getArchive(SystemObject archiveSystem)
ClientDavInterface
getArchive
in interface ClientDavInterface
archiveSystem
- Archivsystem über das Archivanfragen abgewickelt werden sollen.public final void connect() throws CommunicationError, ConnectionException
ClientDavInterface
Verbindungsparametern
angegebenen
Addressinformationen. Nach dem Aufbau der physischen Verbindung wird die in der Kommunikation mit dem Datenverteiler zu verwendende Protokollversion
verhandelt und die logische Verbindung in den Zustand Initialisiert
überführt.connect
in interface ClientDavInterface
CommunicationError
- Wenn bei der initialen Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.ConnectionException
- Wenn die physische Verbindung zum Datenverteiler nicht hergestellt werden konnte.ClientDavParameters
public final void disconnect(boolean error, String message)
ClientDavInterface
AußerBetrieb
überführt. Bei einer normalen Terminierung wird sichergestellt, daß alle im Sendepuffer enthaltenen Telegramme
vor dem Schließen des Kommunikationskanals gesendet werden. Bei einer abnormalen Terminierung wird der Kommunikationskanal sofort geschlossen.disconnect
in interface ClientDavInterface
error
- Information, ob es sich um eine abnormale Terminierung der Verbindung handelt.message
- Fehlertext, der im Falle einer abnormalen Terminierung die Ursache des Terminierung beschreibt, oder null
wenn die Ursache
nicht bekannt ist.public final void login() throws InconsistentLoginException, CommunicationError
ClientDavInterface
InBetrieb
überführt. Als Benutzername und Passwort werden die entsprechenden Werte aus den
Verbindungsparametern
benutzt.login
in interface ClientDavInterface
InconsistentLoginException
- Wenn Benutzername oder Passwort nicht korrekt sind.CommunicationError
- Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.public final void login(String userName, String password) throws InconsistentLoginException, CommunicationError
ClientDavInterface
InBetrieb
überführt.login
in interface ClientDavInterface
userName
- Name des Benutzers für die Authentifizierung.password
- Passwort des Benutzers für die Authentifizierung.InconsistentLoginException
- Wenn Benutzername oder Passwort nicht korrekt sind.CommunicationError
- Wenn bei der Kommunikation mit dem Datenverteiler Fehler aufgetreten sind.private Aspect aspectToSubstitute(AttributeGroup attributeGroup, Aspect aspect)
attributeGroup
- die Attributgruppeaspect
- der Aspektprivate void checkDataIdentification(SystemObject[] objects, AttributeGroup atg, Aspect aspect, String context)
objects
- zu prüfende Objekteatg
- zu prüfende Attributgruppeaspect
- zu prüfenden Aspektcontext
- Kontext, von dem diese Prüfung vorgenommen wirdIllegalArgumentException
- Wenn die angegebene Kombination von Objekt, Attributgruppe und Aspekt nicht zulässig ist.public final ResultData[] getCachedData(SystemObject[] objects, DataDescription dataDescription, ReceiveOptions options, HistorySpecification history)
ClientDavInterface
getCachedData
in interface ClientDavInterface
objects
- Feld mit System-Objekten für die die spezifizierten Daten zu lesen sind.dataDescription
- Beschreibende Informationen zu den gewünschten Daten.options
- Für den Zugriff zu verwendenden Optionenhistory
- Spezifikation der gewünschten Historie oder null
wenn nur die aktuellen Daten gewünscht sind.public final ResultData[] getData(SystemObject[] objects, DataDescription dataDescription, long unsubscriptionTime)
ClientDavInterface
getData
in interface ClientDavInterface
objects
- Feld mit System-Objekten für die die spezifizierten Daten zu lesen sind.dataDescription
- Beschreibende Informationen der zu lesenden Daten.unsubscriptionTime
- Relative Zeitangabe in Millisekunden nach der eine implizite Anmeldung wieder abgemeldet werden kann.public ResultData getData(SystemObject object, DataDescription dataDescription, long unsubscriptionTime)
ClientDavInterface
getData
in interface ClientDavInterface
object
- System-Objekt für das die spezifizierten Daten zu lesen sind.dataDescription
- Beschreibende Informationen zu dem zu lesenden Datensatz.unsubscriptionTime
- Relative Zeitangabe in Millisekunden nach der eine implizite Anmeldung wieder abgemeldet werden kann.public final DataModel getDataModel()
ClientDavInterface
getDataModel
in interface ClientDavInterface
public DataModel getDataModel(SystemObject configAuthority) throws ConfigurationTaskException
ClientDavInterface
getDataModel
in interface ClientDavInterface
configAuthority
- Systemobjekt zum Konfigurationsverantwortlichen der KonfigurationConfigurationTaskException
- Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftratpublic final DataModel getDataModel(String configAuthority) throws ConfigurationTaskException
ClientDavInterface
getDataModel
in interface ClientDavInterface
configAuthority
- Pid des Konfigurationsverantwortlichen der KonfigurationConfigurationTaskException
- Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftratpublic DataModel getDataModel(long configAuthorityId) throws ConfigurationTaskException
ClientDavInterface
getDataModel
in interface ClientDavInterface
configAuthorityId
- Id des Konfigurationsverantwortlichen der KonfigurationConfigurationTaskException
- Falls die angegebene Konfiguration innerhalb von 10 Minuten nicht geantwortet hat oder ein Fehler in der Kommunikation auftratpublic final long getDavRoundTripTime()
ClientDavInterface
getDavRoundTripTime
in interface ClientDavInterface
-1
, wenn innerhalb 60 Sekunden keine Antwort empfangen wurde.public ConfigurationAuthority getLocalConfigurationAuthority()
ClientDavInterface
getLocalConfigurationAuthority
in interface ClientDavInterface
public final ClientApplication getLocalApplicationObject()
ClientDavInterface
getLocalApplicationObject
in interface ClientDavInterface
public long getLocalApplicationObjectId()
public final DynamicObject getLocalUser()
ClientDavInterface
getLocalUser
in interface ClientDavInterface
InitialisationNotCompleteException
- Wenn die Authentifizierung noch nicht erfolgreich durchgeführt wurde.public final DavApplication getLocalDav()
ClientDavInterface
getLocalDav
in interface ClientDavInterface
public final void sendData(ResultData result) throws DataNotSubscribedException, SendSubscriptionNotConfirmed
ClientDavInterface
SendSubscriptionNotConfirmed
Exception
geworfen, falls die positive Sendesteuerung vor dem Ablauf des Zeitraums vorliegt, werden die Daten verschickt, liegt eine negative Sendesteuerung vor,
wird eine SendSubscriptionNotConfirmed
Exception geworfen. SendSubscriptionNotConfirmed
Exception geworfen ohne die fest vorgegebene Zeitspanne abzuwarten.sendData
in interface ClientDavInterface
result
- Ergebnis mit dem zu sendenden Datensatz.DataNotSubscribedException
- Wenn die Daten nicht zum Senden angemeldet waren.SendSubscriptionNotConfirmed
- Wenn beim Senden als einfacher Sender gesendet wird, ohne die Sendesteuerung abzuwarten.public final void sendData(ResultData[] results) throws DataNotSubscribedException, SendSubscriptionNotConfirmed
ClientDavInterface
SendSubscriptionNotConfirmed
Exception
geworfen, falls die positive Sendesteuerung vor dem Ablauf des Zeitraums vorliegt, werden die Daten verschickt, liegt eine negative Sendesteuerung vor,
wird eine SendSubscriptionNotConfirmed
Exception geworfen. SendSubscriptionNotConfirmed
Exception geworfen ohne die fest vorgegebene Zeitspanne abzuwarten.sendData
in interface ClientDavInterface
results
- Die zu sendenden Ergebnisdatensätze.DataNotSubscribedException
- Wenn nicht alle Datensätze zum Senden angemeldet waren.SendSubscriptionNotConfirmed
- Wenn beim Senden als einfacher Sender gesendet wird, ohne die Sendesteuerung abzuwarten.public final void subscribeReceiver(ClientReceiverInterface receiver, Collection<SystemObject> objects, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.objects
- Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).public final void subscribeReceiver(ClientReceiverInterface receiver, Collection<SystemObject> objects, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role, long cacheTime)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.objects
- Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).cacheTime
- Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert
-1
setzt den Vorhaltezeitraum auf den Default-Wert.public void subscribeReceiver(ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.object
- System-Objekt für das die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).public void subscribeReceiver(ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role, long cacheTime)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.object
- System-Objekt für das die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).cacheTime
- Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert
-1
setzt den Vorhaltezeitraum auf den Default-Wert.public final void subscribeReceiver(ClientReceiverInterface receiver, SystemObject[] objects, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.objects
- Feld mit System-Objekten für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).public final void subscribeReceiver(ClientReceiverInterface receiver, SystemObject[] objects, DataDescription dataDescription, ReceiveOptions options, ReceiverRole role, long cacheTime)
ClientDavInterface
subscribeReceiver
in interface ClientDavInterface
receiver
- Ein von der Applikation bereitzustellendes Objekt, das bei Aktualisierungen entsprechende Methodenaufrufe erhält.objects
- Feld mit System-Objekten für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.options
- Für die Anmeldung zu verwendende Optionen.role
- Für die Anmeldung zu verwendende Rolle (Empfänger oder Senke).cacheTime
- Vorhaltezeitraum in Millisekunden. Der Vorhaltezeitraum spezifiziert, wie lange empfangene Daten zwischengespeichert werden sollen. Der Wert
-1
setzt den Vorhaltezeitraum auf den Default-Wert.public void unsubscribeReceiver(ClientReceiverInterface receiver, Collection<SystemObject> objects, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeReceiver(de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.config.SystemObject[], de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.ReceiveOptions, de.bsvrz.dav.daf.main.ReceiverRole, long)
durchgeführte Empfangsanmeldung wieder rückgängig.unsubscribeReceiver
in interface ClientDavInterface
receiver
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.objects
- Liste mit System-Objekten für die die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public void unsubscribeReceiver(ClientReceiverInterface receiver, SystemObject object, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeReceiver(de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.config.SystemObject[], de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.ReceiveOptions, de.bsvrz.dav.daf.main.ReceiverRole, long)
durchgeführte Empfangsanmeldung wieder rückgängig.unsubscribeReceiver
in interface ClientDavInterface
receiver
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.object
- System-Objekt für das die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public void unsubscribeReceiver(ClientReceiverInterface receiver, SystemObject[] objects, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeReceiver(de.bsvrz.dav.daf.main.ClientReceiverInterface, de.bsvrz.dav.daf.main.config.SystemObject[], de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.ReceiveOptions, de.bsvrz.dav.daf.main.ReceiverRole, long)
durchgeführte Empfangsanmeldung wieder rückgängig.unsubscribeReceiver
in interface ClientDavInterface
receiver
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.objects
- Feld mit System-Objekten für die die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public final void subscribeSender(ClientSenderInterface sender, Collection<SystemObject> objects, DataDescription dataDescription, SenderRole role) throws OneSubscriptionPerSendData
ClientDavInterface
objects
angegebene Objekt wird ein Sendeanmeldung für die mit dataDescription
spezifizierten Daten beim Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role
) wird nach der Anmeldung
automatisch ein leerer Datensatz versendet.subscribeSender
in interface ClientDavInterface
sender
- Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.objects
- Liste mit System-Objekten für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.role
- Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).OneSubscriptionPerSendData
- Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.public void subscribeSender(ClientSenderInterface sender, SystemObject object, DataDescription dataDescription, SenderRole role) throws OneSubscriptionPerSendData
ClientDavInterface
dataDescription
spezifizierten Daten beim
Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role
) wird nach der Anmeldung automatisch ein leerer Datensatz
versendet.subscribeSender
in interface ClientDavInterface
sender
- Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.object
- System-Objekt, für das die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.role
- Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).OneSubscriptionPerSendData
- Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.public final void subscribeSender(ClientSenderInterface sender, SystemObject[] objects, DataDescription dataDescription, SenderRole role) throws OneSubscriptionPerSendData
ClientDavInterface
objects
angegebene Objekt wird ein Sendeanmeldung für die mit dataDescription
spezifizierten Daten beim Datenverteiler durchgeführt. Bei Anmeldungen als Quelle (siehe Parameter role
) wird nach der Anmeldung
automatisch ein leerer Datensatz versendet.subscribeSender
in interface ClientDavInterface
sender
- Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.objects
- Feld mit System-Objekten, für die die spezifizierten Daten anzumelden sind.dataDescription
- Beschreibende Informationen zu den anzumeldenden Daten.role
- Für die Anmeldung zu verwendende Rolle (Quelle oder Sender).OneSubscriptionPerSendData
- Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.public void subscribeSource(ClientSenderInterface sender, ResultData initialData) throws OneSubscriptionPerSendData
ClientDavInterface
initialData
enthaltenen Daten wird ein entsprechende Sendeanmeldung
beim Datenverteiler durchgeführt und anschließend wird der übergebene Datensatz als initialer Datensatz versendet.subscribeSource
in interface ClientDavInterface
sender
- Anwendungs-Objekt, an das Sendesteuerungen gesendet werden.initialData
- Initialer Datensatz, der nach der entsprechenden Anmeldung zu versenden ist.OneSubscriptionPerSendData
- Wenn bereits eine lokale Sendeanmeldung für die gleichen Daten von einem anderen Anwendungsobjekt vorliegt.public final void unsubscribeSender(ClientSenderInterface sender, Collection<SystemObject> objects, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeSender(de.bsvrz.dav.daf.main.ClientSenderInterface, java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.SenderRole)
durchgeführte Sendeanmeldung wieder rückgängig.unsubscribeSender
in interface ClientDavInterface
sender
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.objects
- Liste mit System-Objekten für die die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public void unsubscribeSender(ClientSenderInterface sender, SystemObject object, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeSender(de.bsvrz.dav.daf.main.ClientSenderInterface, java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.SenderRole)
durchgeführte Sendeanmeldung wieder rückgängig.unsubscribeSender
in interface ClientDavInterface
sender
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.object
- System-Objekt für das die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public final void unsubscribeSender(ClientSenderInterface sender, SystemObject[] objects, DataDescription dataDescription)
ClientDavInterface
ClientDavInterface.subscribeSender(de.bsvrz.dav.daf.main.ClientSenderInterface, java.util.Collection<de.bsvrz.dav.daf.main.config.SystemObject>, de.bsvrz.dav.daf.main.DataDescription, de.bsvrz.dav.daf.main.SenderRole)
durchgeführte Sendeanmeldung wieder rückgängig.unsubscribeSender
in interface ClientDavInterface
sender
- Das Anwendungsobjekt, das bei der Anmeldung benutzt wurde.objects
- Feld mit System-Objekten für die die spezifizierten Daten abzumelden sind.dataDescription
- Beschreibende Informationen zu den abzumeldenden Daten.public Data createData(AttributeGroup attributeGroup)
ClientDavInterface
createData
in interface ClientDavInterface
attributeGroup
- Attributgruppe des neuen Datensatzes.public void sendApplicationReadyMessage()
ClientDavInterface
ClientDavInterface.enableExplicitApplicationReadyMessage()
aufgerufen hat.sendApplicationReadyMessage
in interface ClientDavInterface
private void sendApplicationReadyMessage(boolean sendNotReadyYet)
sendNotReadyYet
- gibt an, ob eine Noch-nicht-Fertigmeldung (true
) oder eine Fertigmeldung (false
)
verschickt werden soll.private ResultData composeApplicationReadyMessage(DataModel configuration, AttributeGroup attributeGroup, boolean sendNotReadyYet)
configuration
- Verwendetes DatenmodellattributeGroup
- Attributgruppe für die FertigmeldungsendNotReadyYet
- true
, falls Noch-Nicht-Fertigmeldung versendet werden soll, false
sonst.public void enableExplicitApplicationReadyMessage()
ClientDavInterface
ClientDavInterface.sendApplicationReadyMessage()
veranlassen.enableExplicitApplicationReadyMessage
in interface ClientDavInterface
void triggerTransactionSender(ClientSenderInterface sender, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions) throws OneSubscriptionPerSendData
sender
- Sender-InterfacedataDescription
- Daten-Identifikationsubscriptions
- Innere Anmeldungen (für Quelle, falls null wird ein Sender angemeldet)OneSubscriptionPerSendData
- Fehler bei der Anmeldung (z.B. es gibt schon eine Quelle)void triggerTransactionReceiver(ClientReceiverInterface receiver, TransactionDataDescription dataDescription, Collection<InnerDataSubscription> subscriptions) throws OneSubscriptionPerSendData
receiver
- Empfänger-InterfacedataDescription
- Daten-Identifikationsubscriptions
- Innere Anmeldungen (für Senke, falls null wird ein Empfänger angemeldet)OneSubscriptionPerSendData
- Fehler bei der Anmeldung (z.B. es gibt schon eine Senke)public int getTimeStampFromSenderSubscription(BaseSubscriptionInfo info)
info
- Anmeldungpublic ClientSubscriptionInfo getSubscriptionInfo(DavApplication davApplication, SystemObject object, AttributeGroupUsage usage, short simulationVariant) throws IOException
davApplication
- Datenverteiler, der gefragt werden sollobject
- Systemobjektusage
- AttributgruppenverwendungsimulationVariant
- SimulationsvarianteIOException
public ApplicationSubscriptionInfo getSubscriptionInfo(DavApplication davApplication, ClientApplication application) throws IOException
davApplication
- Datenverteiler, der gefragt werden sollapplication
- Applikation von der vorhandene Anmeldungen abgefragt werden sollenIOException
public ClientDavParameters getClientDavParameters()
ClientDavInterface
getClientDavParameters
in interface ClientDavInterface
ClientDavParameters.clone(boolean)
public void addConnectionListener(DavConnectionListener davConnectionListener)
ClientDavInterface
addConnectionListener
in interface ClientDavInterface
davConnectionListener
- Beobachterobjekt, das hinzugefügt werden soll.public void removeConnectionListener(DavConnectionListener davConnectionListener)
ClientDavInterface
removeConnectionListener
in interface ClientDavInterface
davConnectionListener
- Beobachterobjekt, das entfernt werden soll.private void notifyConnectionClosed()
public boolean checkLoggedUserNameAndPassword(String userName, String password)
ClientDavInterface
checkLoggedUserNameAndPassword
in interface ClientDavInterface
userName
- Zu prüfender Benutzernamepassword
- Zu prüfendes Passworttrue
, wenn eine Verbindung zum Datenverteiler besteht und mit dem angegebenen Benutzernamen und Passwort aufgebaut wurde, sonst
false
public Transactions getTransactions()
ClientDavInterface
getTransactions
in interface ClientDavInterface
public boolean isConnected()
public boolean isLoggedIn()