AMETAS.servicedev
Class AMETASServiceProxy

java.lang.Object
  extended byAMETAS.event.AMETASEventHandler
      extended byAMETAS.servicedev.AMETASServiceProxy
All Implemented Interfaces:
AMETASEventHandlerIf, java.io.Serializable
Direct Known Subclasses:
AMETASAsyncServiceProxy, AMETASSyncServiceProxy

public abstract class AMETASServiceProxy
extends AMETASEventHandler

Dies Klasse dient als abstrakte Basisklasse für AMETASSyncServiceProxy und AMETASAsyncServiceProxy. Hier werden alle Dinge implementiert, die allgemein bei der Verwendung eines Proxies notwendig sind. Dies ist z.B. die Beschaffung der Dienst-ID.

Since:
Version 2.1.0
See Also:
Serialized Form

Field Summary
protected  java.lang.Object[] m_aobjResponseBody
          Hier legt die handleServiceMessage-Methode die Nutzlast der Antwortnachricht ab.
protected  AMETASPlaceUserDriverIf m_drvClientDriver
          Der Treiber des aufrufenden Klienten.
protected  AMETASPlaceUserID m_idService
          Enthält die PlaceUserID des anzusprechenden Dienstes.
protected  AMETASMessage m_mesResponse
          Hier legt die handleServiceMessage-Methode die gesamte Antwortnachricht ab.
protected  AMETASPlaceUser m_puClient
          Eine Referenz auf den Klienten dieses Proxy.
protected  AMETASPlaceUserID m_puidClientID
          Die Stellennutzer-ID des aufrufenden Klienten.
protected  java.lang.String m_sResponseTypeSpec
          Hier legt die handleServiceMessage-Methode die Typspezifikation der Dienstantwort ab.
protected  java.lang.String m_sServiceName
          Enthält den Namen, unter dem der Dienst im Dienstvermittler der Stelle registriert ist.
static int NO_SERVICE_NAME
          Diesen Wert liefert die Methode init() zurück, wenn Der Name des Dienstes nicht angegeben wurde.
static int OK
          Diesen Wert liefert die Methode init() zurück, wenn bei der Initialisierung kein Fehler auftrat.
static int SERVICE_NOT_FOUND
          Diesen Wert liefert die Methode init() zurück, wenn der Dienst nicht gefunden wurde.
 
Constructor Summary
AMETASServiceProxy(AMETASPlaceUser puClient, AMETASPlaceUserDriverIf drvClientDriver)
          Erzeugt einen neuen Proxy für den übergebenen Klienten.
 
Method Summary
 void cleanup()
          Diese Methode räumt nach Gebrauch des Proxys auf.
protected  AMETASMessage depositRequest(java.lang.Object[] aobjParams)
          Legt eine Anfragenachricht ab.
 AMETASPlaceUserID getServiceID()
          Liefert die PlaceUserID des Dienstes zurück.
 java.lang.String getServiceName()
          Liefert den Namen des Dienstes zurück.
 int init()
          Initialisiert den Proxy, um spätere Aufrufe vorzubereiten.
 int init(AMETASPlaceUser puClient, AMETASPlaceUserDriverIf drvClientDriver)
          Diese Version von init dient der Reinitialisierung eines Proxys nach einer Migration.
protected  void output(java.lang.String sMsg)
          Ruft output auf dem Treiber des Klienten auf.
 void setServiceName(java.lang.String sName)
          Setzt den Namen des anzusprechenden Dienstes.
 
Methods inherited from class AMETAS.event.AMETASEventHandler
handleApplicationMessage, handleCustomMessage, handleMessageEvent, handleMessageMessage, handlePlaceEvent, handlePlaceMessage, handlePlaceUserEvent, handleSecurityMessage, handleServiceMessage, handleTradingMessage
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

OK

public static final int OK
Diesen Wert liefert die Methode init() zurück, wenn bei der Initialisierung kein Fehler auftrat.

See Also:
Constant Field Values

SERVICE_NOT_FOUND

public static final int SERVICE_NOT_FOUND
Diesen Wert liefert die Methode init() zurück, wenn der Dienst nicht gefunden wurde.

See Also:
Constant Field Values

NO_SERVICE_NAME

public static final int NO_SERVICE_NAME
Diesen Wert liefert die Methode init() zurück, wenn Der Name des Dienstes nicht angegeben wurde.

See Also:
Constant Field Values

m_idService

protected transient AMETASPlaceUserID m_idService
Enthält die PlaceUserID des anzusprechenden Dienstes.


m_sServiceName

protected java.lang.String m_sServiceName
Enthält den Namen, unter dem der Dienst im Dienstvermittler der Stelle registriert ist. Diese Variable ist von der abgeleiteten Klasse, die ja speziell auf einen Dienst zugeschnitten ist, zu setzen. Alternativ kann der Klient ihn direkt über die Methode setServiceName() setzen.


m_puClient

protected transient AMETASPlaceUser m_puClient
Eine Referenz auf den Klienten dieses Proxy. Dies ist der Stellennutzer, der eine Referenz auf diesen Proxy in seinem Zustand hält.


m_drvClientDriver

protected transient AMETASPlaceUserDriverIf m_drvClientDriver
Der Treiber des aufrufenden Klienten. Dieser Proxy ist ein Teil dieses Klienten und muß auch Aufrufe auf dem Treiber tätigen.


m_puidClientID

protected transient AMETASPlaceUserID m_puidClientID
Die Stellennutzer-ID des aufrufenden Klienten. Dieser Proxy ist ein Teil dieses Klienten und muß auch Aufrufe in dessen Namen tätigen.


m_sResponseTypeSpec

protected transient java.lang.String m_sResponseTypeSpec
Hier legt die handleServiceMessage-Methode die Typspezifikation der Dienstantwort ab. Dies ist die erste Typspezifikation, die der Dienst selbst angegeben hat, nicht AMETASMessage.RESPONSE, welche generell eine Dienstantwort kennzeichnet.


m_aobjResponseBody

protected transient java.lang.Object[] m_aobjResponseBody
Hier legt die handleServiceMessage-Methode die Nutzlast der Antwortnachricht ab. Das erste Element dieses Arrays ist die erste Typspezifikation, die der Dienst selbst angegeben hat. Dies ist dieselbe, die in m_sResponseTypeSpec angegeben ist.


m_mesResponse

protected transient AMETASMessage m_mesResponse
Hier legt die handleServiceMessage-Methode die gesamte Antwortnachricht ab.

Constructor Detail

AMETASServiceProxy

public AMETASServiceProxy(AMETASPlaceUser puClient,
                          AMETASPlaceUserDriverIf drvClientDriver)
Erzeugt einen neuen Proxy für den übergebenen Klienten. Nach dem Erzeugen des Proxy muß der Klient init() aufrufen, um alle nötigen Initialisierungsschritte auszuführen.

Parameters:
puClient - Das Stellennutzer-Objekt des Klienten.
drvClientDriver - Der Treiber des Klienten.
Method Detail

init

public int init()
Initialisiert den Proxy, um spätere Aufrufe vorzubereiten. Hier beschafft der Proxy die ID des gewünschten Dienstes, und registriert sich (den aufrufenden Stellennutzer) als EventListener auf die Antworten des Dienstes usw.

Returns:
Den Fehlerstatus der Initialisierung (NO_SERVICE_NAME, SERVICE_NOT_FOUND oder OK).

init

public int init(AMETASPlaceUser puClient,
                AMETASPlaceUserDriverIf drvClientDriver)
Diese Version von init dient der Reinitialisierung eines Proxys nach einer Migration. Seit Version 2.4.0 können EventHandler, und damit auch ServiceProxys, nach einer Migration vom Agenten weiterverwendet werden. Er muss kein neues Objekt instantiieren. Aber der Proxy muss mit dieser Methode neu initialisiert werden.

Parameters:
puClient - Das Stellennutzer-Objekt des Klienten.
drvClientDriver - Der Treiber des Klienten.
Returns:
Den Fehlerstatus der Initialisierung (NO_SERVICE_NAME, SERVICE_NOT_FOUND oder OK).
Since:
2.4.0

cleanup

public void cleanup()
Diese Methode räumt nach Gebrauch des Proxys auf. Wenn ein Agent sich entscheidet, nach jeder Migration ein neues Proxy-Objekt anzulegen, anstatt das alte weiterzuverwenden, dann muss er auf dem alten Objekt erst cleanup aufrufen, bevor er ein neues erzeugt.

Since:
2.4.0

getServiceID

public AMETASPlaceUserID getServiceID()
Liefert die PlaceUserID des Dienstes zurück.

Returns:
Stellennutzer-ID des verwendeten Dienstes.

getServiceName

public java.lang.String getServiceName()
Liefert den Namen des Dienstes zurück.

Returns:
Name des verwendeten Dienstes.

setServiceName

public void setServiceName(java.lang.String sName)
Setzt den Namen des anzusprechenden Dienstes.

Parameters:
sName - Name des verwendeten Dienstes.

depositRequest

protected AMETASMessage depositRequest(java.lang.Object[] aobjParams)
Legt eine Anfragenachricht ab. Die Nachricht wird mit Standardparametern ausgestattet, und erhält als Nutzlast das übergebene Array der Anfrageparameter.

Parameters:
aobjParams - Die Nutzlast der Anfragenachricht
Returns:
Die erzeugte Nachricht. Abgeleitete Klassen können noch Informationen aus dieser Nachricht ziehen.

output

protected void output(java.lang.String sMsg)
Ruft output auf dem Treiber des Klienten auf. Reine Bequemlichkeit.

Parameters:
sMsg - Textnachricht, die in das Stellen-Log geschrieben werden soll.