001    package org.cocome.tradingsystem.systests.interfaces;
002    
003    /**
004     * The main interface of a single cash desk. This is the view the environment
005     * (and thus the system test) has on the system, so the cash desk is just a
006     * provider for a number of peripheral devices.
007     * 
008     * @author Benjamin Hummel
009     * @author Christian Pfaller
010     * @author $Author: hummel $
011     * @version $Rev: 65 $
012     * @levd.rating GREEN Rev: 65
013     */
014    public interface ICashDesk {
015    
016            /** Returns the card reader for this cash desk. */
017            ICardReader getCardReader() throws Exception;
018    
019            /** Returns the cashbox for this cash desk. */
020            ICashBox getCashBox() throws Exception;
021    
022            /** Returns the bar code scanner for this cash desk. */
023            IBarcodeScanner getBarcodeScanner() throws Exception;
024    
025            /** Returns the printer for this cash desk. */
026            IPrinter getPrinter() throws Exception;
027    
028            /** Returns the user display for this cash desk. */
029            IUserDisplay getUserDisplay() throws Exception;
030    
031            /** Returns the lights display for this cash desk. */
032            ILightsDisplay getLightsDisplay() throws Exception;
033    
034            /**
035             * Specifies the number of express sales (sales with less then 8 itmes)
036             * needed to switch cash desk in express mode
037             * @returns nummber of required express sales for express mode
038             */
039            int getNumberOfExpressSalesForExpressModeSwitch();
040    }