Class EmpresaSegura

java.lang.Object
  extended by EmpresaSegura

public class EmpresaSegura
extends java.lang.Object

Empresa = Nome (String) + Stock (Codigo -> Produto) Esta classe designa-se por EmpresaSegura porque, em comparação com a classe Empresa, vai usar o mecanismo de EXCEPÇÕES por forma a garantir que se os seus métodos forem invocados com parâmetros errados, tal será detectado e as respectivas EXCEPÇÕES lançadas. Quem invocar tais métodos ERRADAMENTE deverá, através de TRY/CATCH tentar recuperar de tais erros.

Version:
1.0/01/2005
Author:
F. Mário Martins

Constructor Summary
EmpresaSegura()
          Construtores simples
EmpresaSegura(java.lang.String nome)
           
EmpresaSegura(java.lang.String nomeEmp, java.util.HashMap stockInic)
          Este construtor recebe um HashMap de produtos e faz a sua cópia para a variável de instância STOCK.
 
Method Summary
 void abateQuantStock(java.lang.String cod, int quant)
          Abate uma dada quantidade à existência em stock de uma produto cujo código é dado.
 java.util.TreeSet codigos()
          Devolve todos os códigos válidos de produtos
 boolean existeProd(java.lang.String cod)
          Verifica se um dado produto cujo código é dado existe no stock.
 Produto fichaProduto(java.lang.String cod)
          Devolve toda a informação de um produto cujo código é dado e garantidamente existente
 java.lang.String getEmpresa()
          Devolve o nome da empresa
 void gravaEmFichTxt(java.lang.String fich)
          Grava a informação deste produto no ficheiro de texto cujo nome é dado como parâmetro.
 void gravaEmObjStream(java.lang.String fich)
          Grava a Empresa numa ObjectStream
 void insereProduto(Produto fichaProd)
          Insere um novo produto.
 int numProdutos()
          Devolve o número actual de produtos em stock
 java.util.ArrayList prodsEmAlarme()
          Cria a lista com os códigos dos produtos que possuem quantidade em ALARME
 java.util.TreeSet prodsOk()
          Cria um conjunto com os códigos dos produtos que possuem quantidade não em ALARME
 int quantTotalEmStock()
          Quantidade total de produtos em stock
 void removeProduto(java.lang.String cod)
          Remove o produto cujo código é dado como parâmetro
 java.lang.String toString()
          toString()
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EmpresaSegura

public EmpresaSegura()
Construtores simples


EmpresaSegura

public EmpresaSegura(java.lang.String nome)

EmpresaSegura

public EmpresaSegura(java.lang.String nomeEmp,
                     java.util.HashMap stockInic)
Este construtor recebe um HashMap de produtos e faz a sua cópia para a variável de instância STOCK. O construtor assume que o HashMap parâmetro está bem construído, ou seja, que os valores são todos da classe PRODUTO. Caso algum valor não seja, será lançada de forma automática (JVM) uma ClassCastException.

Method Detail

abateQuantStock

public void abateQuantStock(java.lang.String cod,
                            int quant)
                     throws EmpresaExc
Abate uma dada quantidade à existência em stock de uma produto cujo código é dado.

Throws:
EmpresaExc

codigos

public java.util.TreeSet codigos()
Devolve todos os códigos válidos de produtos


existeProd

public boolean existeProd(java.lang.String cod)
Verifica se um dado produto cujo código é dado existe no stock.


fichaProduto

public Produto fichaProduto(java.lang.String cod)
                     throws EmpresaExc
Devolve toda a informação de um produto cujo código é dado e garantidamente existente

Throws:
EmpresaExc

getEmpresa

public java.lang.String getEmpresa()
Devolve o nome da empresa


gravaEmFichTxt

public void gravaEmFichTxt(java.lang.String fich)
Grava a informação deste produto no ficheiro de texto cujo nome é dado como parâmetro.


gravaEmObjStream

public void gravaEmObjStream(java.lang.String fich)
Grava a Empresa numa ObjectStream


insereProduto

public void insereProduto(Produto fichaProd)
                   throws EmpresaExc
Insere um novo produto. O método é consistente dado que o código do produto é igual ao que consta da ficha do produto !! O método não permite códigos DUPLICADOS !!

Throws:
EmpresaExc

numProdutos

public int numProdutos()
Devolve o número actual de produtos em stock


prodsEmAlarme

public java.util.ArrayList prodsEmAlarme()
Cria a lista com os códigos dos produtos que possuem quantidade em ALARME


prodsOk

public java.util.TreeSet prodsOk()
Cria um conjunto com os códigos dos produtos que possuem quantidade não em ALARME


quantTotalEmStock

public int quantTotalEmStock()
Quantidade total de produtos em stock


removeProduto

public void removeProduto(java.lang.String cod)
                   throws EmpresaExc
Remove o produto cujo código é dado como parâmetro

Throws:
EmpresaExc

toString

public java.lang.String toString()
toString()

Overrides:
toString in class java.lang.Object