package model.gammeOperatoire;

import java.util.Arrays;
import java.util.Vector;

/**
 * Objet technique Activite
 * Activite est une superclasse, et peut etre soit une Operation, soit une Attente, soit un Stockage, soit un Transport
 * @author Magic Penguins
 * @see Attente
 * @see Operation
 * @see Stockage
 * @see Transport
 */
public class Activite implements java.io.Serializable {

	private static final long serialVersionUID = 8334616572070205187L;
	/**
	 * Nom de l'activite
	 */
	protected String nom;
	/**
	 * Duree de l'activite
	 */
	protected int duree;
	/**
	 * Chaine de caracteres utilise pour determiner les JTextField necessaires a la creation de l'activite en IHM
	 */
	protected String[] baseStr={"Nom", "Duree"};
	/**
	 * Liste genere a partir de baseStr
	 * @see Activite#baseStr
	 */
	protected Vector<String> param=new Vector<String>(Arrays.asList(baseStr));
	
	/**
	 * Constructeur pour une activite
	 * @param duree
	 * Duree de l'activite
	 * @param nom
	 * Nom de l'activite
	 * @param param
	 * Liste des parametres
	 */
	public Activite(int duree, String nom, Vector<String> param) {
		this.nom=nom;
		this.duree=duree;
		this.param.addAll(param);
	}
	
	public int getDuree() {
		return duree;
	}

	public void setDuree(int duree) {
		this.duree = duree;
	}

	public Vector<String> getParam() {
		return param;
	}

	/**
	 * toString d'une Activite
	 */
	public String toString() {
		return this.nom;
	}
	
	public void set(Vector<Object> source){}
	public Object get(int i){return null;}

}
