com.ibm.retail.AEF.client
Class AEFPropertyListenerProxyImpl

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.AEFPropertyListenerProxyImpl
All Implemented Interfaces:
AEFPropertyChangeListener, AEFPropertyListenerProxy, java.rmi.Remote, java.io.Serializable

public class AEFPropertyListenerProxyImpl
extends AEFEventListenerProxy
implements AEFPropertyListenerProxy, AEFPropertyChangeListener

The AEFPropertyListenerProxy provides a proxy object for remote listeners to monitor the AEFPropertyChanges 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.data.POSDataProvider dataProvider
           
protected  com.ibm.retail.AEF.event.AEFPropertyChangeListener listener
           
protected static java.lang.reflect.Method listenerMethod
           
 
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
AEFPropertyListenerProxyImpl(com.ibm.retail.AEF.data.POSDataProvider dataProvider, com.ibm.retail.AEF.event.AEFPropertyChangeListener listener)
          Construct an AEFPropertyListenerProxy.
 
Method Summary
 void addAEFPropertyChangeListener()
          Add a property change listener to listen to all data provider events.
 void addAEFPropertyChangeListener(java.lang.String category)
          Add a filtered property change listener to listen to data provider events for a specific category
 void addAEFPropertyChangeListener(java.lang.String category, java.lang.String property)
          Add a filtered property change listener to listen to data provider events for a specific property
(package private) static java.lang.String copyright()
           
 void propertyChanged(com.ibm.retail.AEF.event.AEFPropertyChangeEvent evt)
          An AEF POSDataProvider property was updated.
 void removeAEFPropertyChangeListener()
          Remove a property change listener.
 void removeAEFPropertyChangeListener(java.lang.String category)
          Remove a filtered property change listener
 void removeAEFPropertyChangeListener(java.lang.String category, java.lang.String property)
          Remove a filtered property change listener.
 
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

listenerMethod

protected static java.lang.reflect.Method listenerMethod

dataProvider

protected com.ibm.retail.AEF.data.POSDataProvider dataProvider

listener

protected com.ibm.retail.AEF.event.AEFPropertyChangeListener listener
Constructor Detail

AEFPropertyListenerProxyImpl

public AEFPropertyListenerProxyImpl(com.ibm.retail.AEF.data.POSDataProvider dataProvider,
                                    com.ibm.retail.AEF.event.AEFPropertyChangeListener listener)
                             throws java.rmi.RemoteException
Construct an AEFPropertyListenerProxy.

Use the addPropertyChangeListener() methods to register the client listener with the POSDataProvider.

Parameters:
dataProvider - an instance of POSDataProvider is the source of event data
listener - client listener for this proxy is the recepient of event data
Throws:
java.rmi.RemoteException
AEFException - Among the possible AEFException error codes are:
AEFConst.NO_LISTENER_SUPPORT
Method Detail

copyright

static java.lang.String copyright()

addAEFPropertyChangeListener

public void addAEFPropertyChangeListener()
                                  throws java.rmi.RemoteException
Add a property change listener to listen to all data provider events.

Specified by:
addAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Throws:
java.rmi.RemoteException - if remote access fails

removeAEFPropertyChangeListener

public void removeAEFPropertyChangeListener()
                                     throws java.rmi.RemoteException
Remove a property change listener.

Specified by:
removeAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Throws:
java.rmi.RemoteException - if remote access fails

addAEFPropertyChangeListener

public void addAEFPropertyChangeListener(java.lang.String category)
                                  throws java.rmi.RemoteException
Add a filtered property change listener to listen to data provider events for a specific category

Specified by:
addAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Parameters:
category - identifies the category of data
Throws:
java.rmi.RemoteException - if remote access fails

removeAEFPropertyChangeListener

public void removeAEFPropertyChangeListener(java.lang.String category)
                                     throws java.rmi.RemoteException
Remove a filtered property change listener

Specified by:
removeAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Parameters:
category - identifies the category of data
Throws:
java.rmi.RemoteException - if remote access fails

addAEFPropertyChangeListener

public void addAEFPropertyChangeListener(java.lang.String category,
                                         java.lang.String property)
                                  throws java.rmi.RemoteException
Add a filtered property change listener to listen to data provider events for a specific property

Specified by:
addAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Parameters:
category - identifies the category of data
property - identifies the property data
Throws:
java.rmi.RemoteException - if remote access fails

removeAEFPropertyChangeListener

public void removeAEFPropertyChangeListener(java.lang.String category,
                                            java.lang.String property)
                                     throws java.rmi.RemoteException
Remove a filtered property change listener.

Specified by:
removeAEFPropertyChangeListener in interface AEFPropertyListenerProxy
Parameters:
category - identifies the category of data
property - identifies the property data
Throws:
java.rmi.RemoteException - if remote access fails

propertyChanged

public void propertyChanged(com.ibm.retail.AEF.event.AEFPropertyChangeEvent evt)
                     throws java.rmi.RemoteException
An AEF POSDataProvider property was updated.

Specified by:
propertyChanged in interface AEFPropertyChangeListener
Parameters:
evt - contains details of the event
Throws:
java.rmi.RemoteException - if remote access fails


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