package model.posteCharge;

import java.util.Vector;


public class PosteCharge implements java.io.Serializable{
	/**
	 * 
	 */
	private static final long serialVersionUID = -4569313160559377260L;

	static int id =1;
	
	protected String nom;
	protected String reference;
	protected int tempsDemande;
	protected Vector<Machine> machine;
	protected Vector<Operateur> operateur;
	
	public PosteCharge(String nom, int tempDemande) {
		this.nom=nom;
		this.tempsDemande=tempDemande;
		
		this.machine=new Vector<Machine>();
		this.operateur=new Vector<Operateur>();
		this.reference=model.Reference.genererReference("PCH", id);
		id ++;
		
	}
	
	public Vector<Machine> getMachine() {
		return machine;
	}

	public Vector<Operateur> getOperateur() {
		return operateur;
	}

	public void addMachine(Machine m){
		this.machine.add(m);
	}
	
	public void addMachine(Vector<Machine> m){
		this.machine.addAll(m);
	}
	
	
	public void addOperateur(Operateur o){
		this.operateur.add(o);
	}
	
	public void addOperateur(Vector<Operateur> o){
		this.operateur.addAll(o);
	}
	
	
	public String getNom() {
		return nom;
	}
	
	public String getReference() {
		return reference;
	}
	
	
	public int getTempsDemande() {
		return tempsDemande;
	}
	
	public boolean isValid() {
		return (!this.operateur.isEmpty() || !this.machine.isEmpty());
	}
	
	@Override
	public String toString() {
		return nom+" ("+reference+")";
	}

}
