Package com.ibm.retail.AEF.client

Provides proxy objects to facilitate remote listener clients of the POSDataProvider interface.

See:
          Description

Interface Summary
AEFListenerProxyInterface The AEFListenerProxy interface is the base interface for client proxy classes.
AEFPropertyListenerProxy The AEFPropertyListenerProxy interface defines a proxy interface for remote listeners to monitor the AEFPropertyChanges of its associated terminal session.
KeyConsumerProxyInterface The KeyConsumerProxyInterface API provides a proxy object for remote listeners/consumers of POS keyboard events.
 

Class Summary
AEFEventListenerProxy The AEFEventListenerProxy class provides a base class for the client listener proxy objects used to monitor the events of an associated terminal session.
AEFPropertyListenerProxyImpl The AEFPropertyListenerProxy provides a proxy object for remote listeners to monitor the AEFPropertyChanges of its associated terminal session.
CashReceiptListenerProxy The CashReceiptListenerProxy provides a proxy object for remote listeners to monitor the CashReceipt events of its associated terminal session.
CouponListenerProxy The CouponListenerProxy provides a proxy object for remote listeners to monitor the Coupon events of its associated terminal session.
CustomerListenerProxy The CustomerListenerProxy provides a proxy object for remote listeners to monitor the Customer events of its associated terminal session.
DiscountListenerProxy The DiscountListenerProxy provides a proxy object for remote listeners to monitor the Discount events of its associated terminal session.
EventDispatcher The EventDispatcher provides an event dispatch mechanism for AEF clients.
GenericListenerProxy GenericListenerProxy provides a proxy object for remote listeners to monitor the Generic (POSAppEvent) events of its associated terminal session.
ItemSalesListenerProxy ItemSalesListenerProxy provides a proxy object for remote listeners to monitor the Item events of its associated terminal session.
KeyConsumerProxy KeyConsumerProxy provides a proxy object for remote listeners/consumers of POS keyboard events.
OperatorListenerProxy The OperatorListenerProxy provides a proxy object for remote listeners to monitor the Operator events of its associated terminal session.
OptionsListenerProxy The OptionsListenerProxy API provides a proxy object for remote listeners to monitor the Options events of its associated terminal session.
PointsListenerProxy PointsListenerProxy provides a proxy object for remote listeners to monitor the Points events of its associated terminal session.
ReportListenerProxy ReportListenerProxy provides a proxy object for remote listeners to monitor the report events of its associated terminal session.
ScaleListenerProxy ScaleListenerProxy provides a proxy object for remote listeners to monitor the Scale events of its associated terminal session.
SessionStatusListenerProxy SessionStatusListenerProxy provides a proxy object for remote listeners to monitor the SessionStatus events of its associated terminal session.
StateChangeListenerProxy StateChangeListenerProxy provides a proxy object for remote listeners to monitor the StateChange events of its associated terminal session.
TenderListenerProxy TenderListenerProxy provides a proxy object for remote listeners to monitor the Tender events of its associated terminal session.
TransactionStatusListenerProxy TransactionStatusListenerProxy provides a proxy object for remote listeners to monitor the TransactionStatus events of its associated terminal session.
TransactionTotalsListenerProxy The TransactionTotalsListenerProxy API provides a proxy object for remote listeners to monitor the TransactionTotals events of its associated terminal session.
WorkstationStatusListenerProxy WorkstationStatusListenerProxy provides a proxy object for remote listeners to monitor the WorkstationStatus events of its associated terminal session.
 

Package com.ibm.retail.AEF.client Description

Provides proxy objects to facilitate remote listener clients of the POSDataProvider interface.

The client package provides listener proxy objects to help facilitate remote clients using the POSDataProvider event listener interfaces. The listener proxy objects provide two essential functions:

  1. Remote listener (RMI) capabability
    Listener 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).

  2. Event dispatching
    The proxy objects also perform the role of event dispatching. Since event notification calls from the AEF POSDataProvider are synchronous, clients should perform their event processing on a separate thread so as not to affect the performance of the AEF. By default, the listener proxy object will perform event queuing on a separate AEF event dispatcher thread. This relieves the client of any "thread swapping" responsibilities and insures that the AEF event dispatching performance is not affected by client processing.

Sample Usage:

import com.ibm.retail.AEF.event.DiscountListener;
import com.ibm.retail.AEF.event.DiscountEvent;
import com.ibm.retail.AEF.client.DiscountListenerProxy;
import com.ibm.retail.AEF.data.POSDataProvider;

// Usage Note: The client does not need to extend java.rmi.server classes, this is handled
// by the proxy object.
public class MyClient implements DiscountListener
{
  /**
   *  Constructor.
   *
   *  @param   dataProvider POSDataProvider for an AEFSession
   */
  public MyClient(POSDataProvider dataProvider)
  {
    this.dataProvider = dataProvider;
    try
    {
       // Use proxy to register as a listener to discount events
       DiscountListenerProxy proxy = new DiscountListenerProxy(this,dataProvider);
    }
    catch (RemoteException re)
    {
       System.err.println("RemoteException: Failed to register as listener" + re);
    }
    catch (AEFException ae)
    {
       System.err.println("AEFException: Failed to register as listener" + ae);
    }
  }

  /**
   *  A discount was applied to an item or transaction.
   *
   *  @param   evt contains details of the discount event
   *  @throws  RemoteException  if a listener can not be notified
   */
  public void discountApplied(DiscountEvent evt) throws java.rmi.RemoteException
  {
     // Usage Note: The client does not need to dispatch the event on another
     // thread before calling updateGUI().  Dispatching has been handled by the proxy object.
     updateGUI(evt);
  }
{



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