/** Total a pagar pelo conjunto de todos os seguros */ public double totalPagar() { int total = 0; for (Seguro s : seguros.values()) { total += s.premio(); } return total; }
/** Map com a copia dos seguros de um cliente */ public Map<String, Seguro> copiaSeg() { Map<String, Seguro> segs = new TreeMap<String, Seguro>(); for (Seguro s : seguros.values()) { segs.put(s.getCodigo(), s.clone()); } return segs; }
/** Metodo que devolve o pagamento actual de um seguro */ public double precoSeguro(String codS) { Seguro s = null; double premio = 0; s = seguros.get(codS); if (s != null) premio = s.premio(); return premio; }
public int nVezesSeguro(Seguro seg) { Collection<? extends Seguro> segs = seguros.values(); int total = 0; for (Seguro s : segs) { if (s.equals(seg)) total++; } return total; }
/** Set dos seguros em atraso */ public Set<Seguro> segsAtraso() { Collection<Seguro> segs = seguros.values(); TreeSet<Seguro> segsF = new TreeSet<Seguro>(); for (Seguro sg : segs) { if (sg.getEmDivida()) segsF.add(sg.clone()); } return segsF; }
/** Total de seguros com pagamento em atraso */ public int pagAtraso() { int total = 0; for (Seguro sg : seguros.values()) { if (sg.getEmDivida()) total++; } return total; }
/** Metodo que devolve o valor a pagar pelo seguro mais caro de um cliente */ public double seguroMaisCaro() { Seguro seg = null; double maior = 0, premio; Collection<? extends Seguro> segs = seguros.values(); for (Seguro s : segs) { premio = s.premio(); if (premio > maior) maior = premio; } return maior; }
/** Ficah de cliente para uma String */ public String toString() { StringBuilder s = new StringBuilder("----------- Cliente --------\n"); s.append(cliente.toString()); s.append("\nPremio total: "); s.append(premioTotal); s.append("\n---------Seguros que possui----------\n"); for (Seguro sg : seguros.values()) { s.append(sg.toString()); } return s.toString(); }
public int numOcorrencias() { int ocorre = 0; for (Seguro s : seguros.values()) ocorre += s.getNumOcorrencias(); return ocorre; }
/** Retorna o seguro de um cliente correspondete ao codigo passado como argumento */ public Seguro getSeguro(String cod) { Seguro s = seguros.get(cod); if (s != null) return s.clone(); else return null; }
/** Metodo responsavel por adicionar mais um seguro a um cliente */ public void adicionaSeguro(String cod, Seguro seg) { seguros.put(cod, seg.clone()); }