tpdv
Class TPDV

java.lang.Object
  |
  +--tpdv.TPDV

class TPDV
extends java.lang.Object
implements ITPDV

Classe que implementa um Terminal Ponto De Venda (TPDV). Um TPDV é usado para fazer uma venda (uma única venda de cada vez). Itens podem ser comprados até o final da venda. Um pagamento pode ser feito para a venda corrente.

Version:
1.0
Author:
Craig Larman, Jacques Philippe Sauvé, jacques@dsc.ufpb.br

Field Summary
private  ICatalogoDeProdutos catálogo
          O catálogo de produtos que podem ser vendidos neste TPDV.
private  Venda venda
          A venda corrente sendo realizada no TPDV.
 
Constructor Summary
TPDV(ICatalogoDeProdutos catálogo)
          Cria um TPDV.
 
Method Summary
 void entraItem(int upc, int quantidade)
          Informa um produto e a quantidade de itens deste produto sendo comprados na venda corrente.
 void façaPagamento(float valorEntregue)
          Realiza um pagamento para a venda corrente do TPDV.
 void fimDeVenda()
          Quando chamado, indica que a venda corrente sendo realizada no TPDV terminou.
 IVenda getVenda()
          Obtém a venda corrente sendo realizada no TPDV.
(package private)  boolean isNovaVenda()
           
protected  Venda makeVenda()
           
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

catálogo

private ICatalogoDeProdutos catálogo
O catálogo de produtos que podem ser vendidos neste TPDV.

venda

private Venda venda
A venda corrente sendo realizada no TPDV.
Constructor Detail

TPDV

public TPDV(ICatalogoDeProdutos catálogo)
Cria um TPDV.
Parameters:
catálogo - Um catálogo de produtos que podem ser adquiridos neste TPDV.
Method Detail

getVenda

public IVenda getVenda()
Obtém a venda corrente sendo realizada no TPDV.
Specified by:
getVenda in interface ITPDV
Returns:
A venda corrente sendo realizada no TPDV.

fimDeVenda

public void fimDeVenda()
                throws NaoHaVendaException
Quando chamado, indica que a venda corrente sendo realizada no TPDV terminou.
Specified by:
fimDeVenda in interface ITPDV

entraItem

public void entraItem(int upc,
                      int quantidade)
               throws ProdutoInexistenteException
Informa um produto e a quantidade de itens deste produto sendo comprados na venda corrente. Caso a venda anterior já tenha terminado, uma nova Venda é criada.
Specified by:
entraItem in interface ITPDV
Parameters:
upc - O Universal Product Code (UPC) do produto sendo comprado.
quantidade - A quantidade de itens sendo comprados.

façaPagamento

public void façaPagamento(float valorEntregue)
                   throws PagamentoInsuficienteException
Realiza um pagamento para a venda corrente do TPDV.
Specified by:
façaPagamento in interface ITPDV
Parameters:
valorEntregue - O valor entregue pelo cliente para pagar a venda.

isNovaVenda

boolean isNovaVenda()

makeVenda

protected Venda makeVenda()