
/**
 * Write a description of class Modelos here.
 * 
 * @author DCC + PRH
 * @version 2006.04.15
 */
public class Modelos
{
	// instance variables 
	private int MaxMods;
	private int TotMods;
	private Modelo[] Mods;

	/**
	 * Constructor for objects of class Modelos
	 */

	public Modelos(int capacid)
	{
		// initialise instance variables
		this.TotMods = 0;
		this.MaxMods = capacid;
		this.Mods = new Modelo[this.MaxMods];		
	}

	/**
	 * Insere 1 novo Modelo no conjunto de Modelos da Empresa 
	 * 
	 * @param  p   preco de custo do modelo
	 * @param  t   tempo de fabrico
	 * @param  m   descricao do processo de montagem
	 * @param  c   lista de componentes 
	 * @return     nada 
	 */
	public void insMod(float p, int t, String m, String[] c)
	{
		if (this.TotMods < this.MaxMods)
		{
		   this.Mods[this.TotMods] = new Modelo(); 
		   this.Mods[this.TotMods].setPC(p);		   
		   this.Mods[this.TotMods].setTF(t);
		   this.Mods[this.TotMods].setMonta(m);
		   this.Mods[this.TotMods].setComp(c);
		   
		   this.TotMods++;
		  }
		else
		{
		   System.out.println("ERRO: nao e possivel inserir mais Modelos!");   
		}
	}
	/**
	 * Retorna um Modelo dado o seu indice no conjunto 
	 * 
	 * @param  n  (int) indice (posicao no array) do modelo pretendido
	 * @return     Modelo 
	 */	
	public Modelo getMod(int n)
	{
	     Modelo este = null;
		 if ((n >= 0)&&(n < this.TotMods)) { este = this.Mods[n]; }
		 return este;
  	}			
	/**
	 * Lista os Atributos de todos os Modelo do conjunto 
	 * 
	 * @param      não tem
	 * @return     nada 
	 */	
	public void listMods()
	{ 
	    int n, m;
		for (n = 0; n < TotMods; n++)
	    {
	       m=n+1;
	       System.out.println("Descricao completa do Modelo nu. "+m);
		   this.Mods[n].mostraModelo();		
		   System.out.println("----------------------------------");
     	}
	}		

}
