com.ibm.retail.AEF.client
Class SessionStatusListenerProxy

java.lang.Object
  |
  +--java.rmi.server.RemoteObject
        |
        +--java.rmi.server.RemoteServer
              |
              +--java.rmi.server.UnicastRemoteObject
                    |
                    +--com.ibm.retail.AEF.util.AEFRemoteObject
                          |
                          +--com.ibm.retail.AEF.client.AEFEventListenerProxy
                                |
                                +--com.ibm.retail.AEF.client.SessionStatusListenerProxy
All Implemented Interfaces:
AEFListenerProxyInterface, java.rmi.Remote, java.io.Serializable, SessionStatusListener

public class SessionStatusListenerProxy
extends AEFEventListenerProxy
implements AEFListenerProxyInterface, SessionStatusListener

SessionStatusListenerProxy provides a proxy object for remote listeners to monitor the SessionStatus events of its associated terminal session.

Remote proxy objects extend the appropriate RMI server classes which handle the RMI duties for the client (so the client does not need to deal with rmi server issues). The proxy objects also perform the role of event dispatching.

By default, the listener proxy object will perform event queuing on an AEF event thread. This relieves the client of any "thread swapping" responsibilities and insures that the AEF event dispatching performance is not affected by client processing. To override this default behavior, use the setDispatchQueue() method. The proxy utilizes the EventDispatcher for queueing event listener notification.

To use a proxy object, the client must implement the listener interface and get the POSDataProvider object from the AEFSession to monitor. The proxy object is then constructed passing a reference to the client and the data provider. The proxy object performs the listener registration and forwards all events from the data provider to the client.

See Also:
Sample Usage, EventDispatcher, Serialized Form

Field Summary
protected  com.ibm.retail.AEF.session.SessionStatusListener listener
           
protected  com.ibm.retail.AEF.session.AEFSession session
           
protected static java.lang.reflect.Method sessionEndedMethod
           
protected static java.lang.reflect.Method sessionReadyMethod
           
protected static java.lang.reflect.Method sessionStatusChangedMethod
           
 
Fields inherited from class com.ibm.retail.AEF.client.AEFEventListenerProxy
dispatchQueueName, SOCKET_CONNECT_TIMEOUT, SOCKET_READ_TIMEOUT
 
Fields inherited from class com.ibm.retail.AEF.util.AEFRemoteObject
DEFAULT_CONNECT_TIMEOUT, DEFAULT_READ_TIMEOUT
 
Fields inherited from class java.rmi.server.RemoteObject
ref
 
Constructor Summary
SessionStatusListenerProxy(com.ibm.retail.AEF.session.AEFSession session, com.ibm.retail.AEF.session.SessionStatusListener listener)
          Construct a SessionStatusListenerProxy.
SessionStatusListenerProxy(com.ibm.retail.AEF.session.AEFSession session, com.ibm.retail.AEF.session.SessionStatusListener listener, int soTimeout, int connectTimeout)
          Construct a SessionStatusListenerProxy.
 
Method Summary
(package private) static java.lang.String copyright()
           
 void removeListener()
          Remove the proxy listener from AEFSession.
 void sessionEnded(com.ibm.retail.AEF.session.SessionStatusEvent evt)
          The session ended.
 void sessionReady(com.ibm.retail.AEF.session.SessionStatusEvent evt)
          The session is ready.
 void sessionStatusChanged(com.ibm.retail.AEF.session.SessionStatusEvent evt)
          A session status event has occurred.
 
Methods inherited from class com.ibm.retail.AEF.client.AEFEventListenerProxy
dispatchEvent, getDispatchQueueName, getListenerMethod, setDispatchQueueName
 
Methods inherited from class com.ibm.retail.AEF.util.AEFRemoteObject
getClientSocketConnectTimeout, getClientSocketReadTimeout
 
Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, unexportObject
 
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
 
Methods inherited from class java.rmi.server.RemoteObject
equals, getRef, hashCode, toString, toStub
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

sessionStatusChangedMethod

protected static java.lang.reflect.Method sessionStatusChangedMethod

sessionReadyMethod

protected static java.lang.reflect.Method sessionReadyMethod

sessionEndedMethod

protected static java.lang.reflect.Method sessionEndedMethod

session

protected com.ibm.retail.AEF.session.AEFSession session

listener

protected com.ibm.retail.AEF.session.SessionStatusListener listener
Constructor Detail

SessionStatusListenerProxy

public SessionStatusListenerProxy(com.ibm.retail.AEF.session.AEFSession session,
                                  com.ibm.retail.AEF.session.SessionStatusListener listener)
                           throws java.rmi.RemoteException,
                                  AEFException
Construct a SessionStatusListenerProxy. This method registers the proxy as a listener with the AEFSession and begins event notification to the proxy client listener.

Parameters:
session - instance of AEFSession which is the source of events
listener - client listener which receives the event notification via this proxy
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.NO_LISTENER_SUPPORT

SessionStatusListenerProxy

public SessionStatusListenerProxy(com.ibm.retail.AEF.session.AEFSession session,
                                  com.ibm.retail.AEF.session.SessionStatusListener listener,
                                  int soTimeout,
                                  int connectTimeout)
                           throws java.rmi.RemoteException,
                                  AEFException
Construct a SessionStatusListenerProxy. This method registers the proxy as a listener with the AEFSession and begins event notification to the proxy client listener.

Parameters:
session - instance of AEFSession which is the source of events
listener - client listener which receives the event notification via this proxy
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.NO_LISTENER_SUPPORT
Method Detail

copyright

static java.lang.String copyright()

removeListener

public void removeListener()
                    throws java.rmi.RemoteException,
                           AEFException
Remove the proxy listener from AEFSession. Ends notification of events.

Specified by:
removeListener in interface AEFListenerProxyInterface
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.NO_LISTENER_SUPPORT

sessionStatusChanged

public void sessionStatusChanged(com.ibm.retail.AEF.session.SessionStatusEvent evt)
                          throws java.rmi.RemoteException
A session status event has occurred. Dispatches event notification to the proxy client listener.

Specified by:
sessionStatusChanged in interface SessionStatusListener
Parameters:
evt - SessionStatusEvent
Throws:
java.rmi.RemoteException

sessionReady

public void sessionReady(com.ibm.retail.AEF.session.SessionStatusEvent evt)
                  throws java.rmi.RemoteException
The session is ready. Dispatches event notification to the proxy client listener.

Specified by:
sessionReady in interface SessionStatusListener
Parameters:
evt - SessionStatusEvent
Throws:
java.rmi.RemoteException

sessionEnded

public void sessionEnded(com.ibm.retail.AEF.session.SessionStatusEvent evt)
                  throws java.rmi.RemoteException
The session ended. Dispatches event notification to the proxy client listener.

Specified by:
sessionEnded in interface SessionStatusListener
Parameters:
evt - SessionStatusEvent
Throws:
java.rmi.RemoteException


Copyright © 2004 IBM. All Rights Reserved.
Generated: July 19 2004