com.langner.factoryxml.sdk
Class Directory

java.lang.Object
  |
  +--com.langner.factoryxml.sdk.Directory

public class Directory
extends java.lang.Object

Diese Klasse dient der Ermittlung der vorhandenen Verzeichniseinträge.
Über einen Aufruf von getEntries(DEVICE_TYPE_GATEWAY) können Sie somit schnell alle vorhandenen Gateways ermitteln.
Eine Verbindung zu diesem Gerät stellen Sie dann mit der Funktion getConnection her.

Sollte kein FactoryXML Directory Service verfügbar sein, können Sie eine Verbindung zu einem Gerät direkt über die statische Funktion getConnection unter Angabe der nötigen Parameter herstellen.


Nested Class Summary
static interface Directory.Entry
          Über dieses Interface erhalten Sie die Informationen eines Verzeichniseintrages.
 
Constructor Summary
Directory(Transport fPrimaryDirectory, java.lang.String fClientName, java.lang.String fClientPassword, boolean fIsProxy)
          Erzeugt eine neue Instanz der Klasse Directory.
Directory(Transport fPrimaryDirectory, Transport fSecondaryDirectory, java.lang.String fClientName, java.lang.String fClientPassword, boolean fIsProxy)
          Erzeugt eine neue Instanz der Klasse Directory.
 
Method Summary
 Connection getConnection(Directory.Entry fEntry)
          Erzeugt eine neue Instanz der Klasse Connection.
 Connection getConnection(Transport fTransport)
          Erzeugt eine neue Instanz der Klasse Connection mit Angabe der Verbindungsinformationen.
static Connection getConnection(Transport fTransport, java.lang.String fClientName, java.lang.String fClientPassword)
          Erzeugt eine neue Instanz der Klasse Connection.
 Directory.Entry[] getEntries(java.lang.String fDeviceType)
          Ermittelt die verfügbaren Verzeichniseinträge eines bestimmten Typs.
 java.util.Properties getProperties()
          Ermittelt Eigenschaften zu dieser Instanz.
 Transport getResourceCenter()
          Liefert die Verbindungsinformation eines FactoryXML Resource Centers.
 void readCache(java.io.ObjectInputStream stream)
          Aktualisiert den aktuellen Cache mit Daten aus dem Stream.
 void writeCache(java.io.ObjectOutputStream stream)
          Schreibt den aktuellen Cache in den Stream.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Directory

public Directory(Transport fPrimaryDirectory,
                 java.lang.String fClientName,
                 java.lang.String fClientPassword,
                 boolean fIsProxy)
Erzeugt eine neue Instanz der Klasse Directory.
Aufgrund der Einschränkungen bei einem Applet benötigen Sie für diese Anwendung einen FactoryXML Proxy.
Dieser FactoryXML Proxy muss auf dem Server laufen, von dem die HTTP- Seite geladen wird.
In diesem Falle setzten Sie fIsProxy auf true und geben bei fDirectory die Verbindungsinformation des FactoryXML Proxy an.

Parameters:
fPrimaryDirectory - Verbindungsinformation des FactoryXML Directory Services
fClientName - Name des Benutzers für die Authentifizierung
fClientPassword - Passwort des Benutzers für die Authentifizierung
fIsProxy - Wenn Sie ein Applet schreiben geben Sie true, ansonsten false an.

Directory

public Directory(Transport fPrimaryDirectory,
                 Transport fSecondaryDirectory,
                 java.lang.String fClientName,
                 java.lang.String fClientPassword,
                 boolean fIsProxy)
Erzeugt eine neue Instanz der Klasse Directory.
Aufgrund der Einschränkungen bei einem Applet benötigen Sie für diese Anwendung einen FactoryXML Proxy.
Dieser FactoryXML Proxy muss auf dem Server laufen, von dem die HTTP- Seite geladen wird.
In diesem Falle setzten Sie fIsProxy auf true und geben bei fDirectory die Verbindungsinformation des FactoryXML Proxy an.

Parameters:
fPrimaryDirectory - Verbindungsinformation des ersten FactoryXML Directory Services
fSecondaryDirectory - Verbindungsinformation des zweiten FactoryXML Directory Services
fClientName - Name des Benutzers für die Authentifizierung
fClientPassword - Passwort des Benutzers für die Authentifizierung
fIsProxy - Wenn Sie ein Applet schreiben geben Sie true, ansonsten false an.
Method Detail

getEntries

public Directory.Entry[] getEntries(java.lang.String fDeviceType)
Ermittelt die verfügbaren Verzeichniseinträge eines bestimmten Typs.
Ist der erste Verzeichnisdient nicht erreichbar, so wird versucht, die Informationen von dem zweiten Verzeichnisdienst zu erhalten. Ist auch dieser nicht erreichbar, werden die Informationen aus dem Cache geliefert.
Werden Informationen von einem Verzeichnisdienst ermittelt, so wird auch der Cache mit den Daten der Geräteklasse aktualisiert.
Wenn Sie den Cache immer aktuell halten wollen, müssen Sie diese Funktion zyklisch aufrufen.

Parameters:
fDeviceType - Gibt die gewünschte Geräteklasse an.
Mögliche Werte siehe Entry.
Wollen Sie alle dem Verzeichnisdienst bekannten Geräte abfragen, müssen Sie bei fDeviceType null angeben.
Returns:
Verzeichniseinträge eines bestimmten Typs.

getConnection

public Connection getConnection(Directory.Entry fEntry)
Erzeugt eine neue Instanz der Klasse Connection.
Über die Connection- Klasse erhalten Sie Zugriff auf einen Dienst.
Verwenden Sie diese Funktion, wenn Sie eine Verbindung zu einem Dienst herstellen wollen, die Sie zuvor über die Funktion getEntries() ermittelten haben.

Parameters:
fEntry - Geben Sie einen Eintrag aus der zuvor über getEntries() ermittelten Liste an.
Returns:
Liefert die neue Instanz.

getConnection

public Connection getConnection(Transport fTransport)
Erzeugt eine neue Instanz der Klasse Connection mit Angabe der Verbindungsinformationen.
Über die Connection- Klasse erhalten Sie Zugriff auf einen Dienst.
Verwenden Sie diese Funktion, wenn ein FactoryXML Directory Service vorhanden ist, Sie aber die Verbindungsinformationen explizit angeben wollen.

Parameters:
fTransport - Verbindungsinformationen des Dienstes.
Returns:
Liefert die neue Instanz.

getConnection

public static Connection getConnection(Transport fTransport,
                                       java.lang.String fClientName,
                                       java.lang.String fClientPassword)
Erzeugt eine neue Instanz der Klasse Connection.
Über die Connection- Klasse erhalten Sie Zugriff auf einen Dienst.
Verwenden Sie diese Funktion, wenn kein FactoryXML Directory Service verfügbar ist.

Parameters:
fTransport - Verbindungsinformationen des Dienstes.
fClientName - Name des Benutzers für die Authentifizierung
fClientPassword - Passwort des Benutzers für die Authentifizierung
Returns:
Liefert die neue Instanz.

getResourceCenter

public Transport getResourceCenter()
Liefert die Verbindungsinformation eines FactoryXML Resource Centers.
Diese wird zufällig aus der Liste der vorhandenen Dienste der Geräteklasse DEVICE_TYPE_RESOURCE ausgewählt.

Returns:
Verbindungsinformation eines FactoryXML Resource Centers.

getProperties

public java.util.Properties getProperties()
Ermittelt Eigenschaften zu dieser Instanz.

Returns:
Liefert die Eigenschaften.

readCache

public void readCache(java.io.ObjectInputStream stream)
               throws java.io.IOException,
                      java.lang.ClassNotFoundException
Aktualisiert den aktuellen Cache mit Daten aus dem Stream.
Fehler bei der Bearbeitung werden über Exceptions signalisiert.
Aktualisiert wird der Cache bei jedem Aufruf der Funktion getEntries.

Parameters:
stream - Der Stream, aus dem die Daten gelesen werden sollen.
Throws:
java.io.IOException - Laufzeitfehler beim Lesen der Daten.
java.lang.ClassNotFoundException - Der Stream enthält keine gültige Cache-Struktur.

writeCache

public void writeCache(java.io.ObjectOutputStream stream)
                throws java.io.IOException
Schreibt den aktuellen Cache in den Stream.
Fehler bei der Bearbeitung werden über Exceptions signalisiert.
Aktualisiert wird der Cache bei jedem Aufruf der Funktion getEntries.

Parameters:
stream - Der Stream, über den die Daten geschreiben werden sollen.
Throws:
java.io.IOException - Laufzeitfehler beim Schreiben der Daten.


Copyright © 2002-2003 Langner Communications AG
Eulenkrugstrasse 27, D-22359 Hamburg
www.langner.com