package model;

/**
 * Reference contient une methode statique qui permet de generer une reference pour chaque type d'objet technique
 * @author Magic Penguins
 * @see model.article.Article#getReference()
 * @see model.gammeOperatoire.GammeOperatoire#getReference()
 * @see model.posteCharge.Machine#getReference()
 * @see model.posteCharge.Operateur#getReference()
 * @see model.posteCharge.PosteCharge#getReference()
 */
public class Reference {

	/**
	 * Nombre de caracteres composant la reference
	 */
	private static int taille = 8;
	
	/**
	 * 
	 * @param designation
	 * Type de l'objet technique
	 * ART pour article
	 * GOP pour gamme operatoire
	 * PCH pour poste de charge
	 * OPE pour operateur
	 * MAC pour machine
	 * @param id
	 * Compteur qui incremente a chaque creation d'objet technique
	 * Par exemple le premier article sera ART00001
	 * @return La reference generee
	 */
	public static String genererReference(String designation, int id) {
		int zero = (int)Math.log10(id);
		
		for (int i=0; (taille-4-i)>zero; i++) {
			designation+="0";
		}
		return designation+id;
	}
}
