package exemplocomposite;

import java.util.*;

public class Main {
    
    public static void imprimirComponentes(Set<Componente> componentes) {
        Iterator<Componente> i = componentes.iterator();
        System.out.println("Componente\t\tPreço");
        System.out.println("=======\t\t=====");
        while(i.hasNext()) {
            Componente p = i.next();
            System.out.println(p.getNome() + "\t\t" + p.obterPreco());
        }
    }
    
    private static Set<Componente> obterComponentes() {
        Set<Componente> componentes = new HashSet();

        Peca p1 = new Peca("PecaA", new Float(10.00));
        Peca p2 = new Peca("PecaB", new Float(9.00));
        Peca p3 = new Peca("PecaC",new Float(13.00));
        
        SistemaAutomotor sa0 = new SistemaAutomotor("SA0");
        SistemaAutomotor sa1 = new SistemaAutomotor("SA1");
        SistemaAutomotor sa2 = new SistemaAutomotor("SA2");
        
        Peca p4 = new Peca("PecaA", new Float(12.00));
        Peca p5 = new Peca("PecaB", new Float(14.00));
        Peca p6 = new Peca("PecaC",new Float(16.00));
        
        sa0.adicionar(p6);
        
        sa1.adicionar(p1);
        sa1.adicionar(p2);
        
        sa2.adicionar(sa1);
        sa2.adicionar(p4);
        sa2.adicionar(p5);
        
        componentes.add(p1);
        componentes.add(p2);
        componentes.add(p3);
        componentes.add(sa1);
        componentes.add(sa2);
        
        return componentes;
    }
    
    public static void main(String[] args) {
        Set<Componente> componentes = obterComponentes();
        imprimirComponentes(componentes);
    }
}
