/**
 * Write a description of class SeguroVeiculos here.
 * 
 * @author FMM 
 * @version (a version number or a date)
 */
import java.util.*;
public class SeguroLigeiros extends SeguroVeiculos {
    
    // Variáveis de Classe
    // Variáveis de Classe
    private static TreeMap<String,  Clausula> tabClaus = new TreeMap<String, Clausula>();
    public static void addClausula(Clausula cl) { tabClaus.put(cl.getCodClausula(), cl.clone()); }
    public static Clausula getClausula(String cod) { return tabClaus.get(cod); }
    public static void removeClausula(String cod) { tabClaus.remove(cod); }

    
    // Variáveis de Instância
    private TreeMap<String,  Clausula> tabClausPagas = new TreeMap<String,  Clausula>();
    
    // Construtores para SeguroVida
     
    public SeguroLigeiros() { super(); }
    public SeguroLigeiros(TreeMap<String, Clausula> tabCl) { }
    public SeguroLigeiros(SeguroLigeiros segVida) { }
    
    public TreeMap<String, Clausula> getClausulas() {
        TreeMap<String, Clausula> tabAux = new TreeMap<String, Clausula>();
        for(Clausula claus : tabClausPagas.values()) 
               tabAux.put(claus.getCodClausula(), claus.clone());
        return tabAux;
    }
    
    public Set<Clausula> todasAsClausulasPagas() {
        Set<Clausula> claus = new HashSet<Clausula>(this.getClausulas().values());
        for(Clausula c : super.getTabClausulas().values()) claus.add(c);
        return claus;
    }
         
    public SeguroLigeiros clone() { return new SeguroLigeiros(this); }
    public double calculaPagamento() { return 0.0; };
    public String emiteFactura() { return ""; };
    public void registaPagamento() { };
    
}
