import java.util.ArrayList; import java.util.List; /** * Gère un projet. * @author V.BOULANGER */ public class Project { public static int _projectId = 0; private int _id; private String _name; private String _author; private String _version; private String _designation; private String _path; private List _classes; private List _links; /** * Constructeur - Crée une instance de Projet. */ public Project(){ _projectId++; _id = _projectId; _name = "Mon super projet"; _author = "Inconnu"; _version = "0.0.1"; _designation = "Projet UML AppThinker."; _path = null; _classes = new ArrayList(); _links = new ArrayList(); } /** * Constructeur - Crée une instance de Projet avec des paramètres déterminés. * @param name Le nom du projet. * @param author L'auteur du projet. * @param version La version du projet. * @param designation L'explication du projet. * @param path Chemin vers le ficher enregistré. * @param classes La liste des classes du projet. * @param links La liste des liens du projet. */ public Project(String name, String author, String version, String designation, String path, List classes, List links){ _projectId++; _id = _projectId; _name = name; _author = author; _version = version; _designation = designation; _path = path; _classes = classes; _links = links; } /** * Récupère le numéro du Projet. * @return Le numéro du projet. */ public int getId(){ return this._id; } /** * Récupère le nom du Projet. * @return Le nom du projet. */ public String getName(){ return this._name; } /** * Paramètre le nom du Projet. * @param name Le nom du projet. */ public void setName(String name){ this._name = name; } /** * Récupère l'auteur du Projet. * @return L'auteur du projet. */ public String getAuthor(){ return this._author; } /** * Paramètre l'auteur du Projet. * @param author L'auteur du projet. */ public void setAuthor(String author){ this._author = author; } /** * Récupère le numéro de version du Projet. * @return Le numéro de version du projet. */ public String getVersion(){ return this._version; } /** * Paramètre le numéro de version du Projet. * @param version Le numéro de version du projet. */ public void setVersion(String version){ this._version = version; } /** * Récupère la désignation du Projet. * @return La désignation du projet. */ public String getDesignation(){ return this._designation; } /** * Paramètre la désignation du Projet. * @param designation La désignation du projet. */ public void setDesignation(String designation){ this._designation = designation; } /** * Récupère la désignation du Projet. * @return Le chemin du fichier du projet. */ public String getPath(){ return this._path; } /** * Paramètre la désignation du Projet. * @param path Le chemin vers le fichier du projet. */ public void setPath(String path){ this._path = path; } /** * Récupère toutes les classes du projet. * @return Les classes du projet. */ public List getClasses(){ return this._classes; } /** * Ajoute une classe au projet. * @param c La classe à ajouter. */ public void addClass(Class c){ this._classes.add(c); } /** * Retire une classe du projet. * @param index L'index de la classe à retirer. */ public void removeClass(int index){ this._classes.remove(index); } /** * Supprime toutes les classes du projet. */ public void clearClasses(){ this._classes.clear(); } /** * Récupère tous les liens du projet. * @return Les liens du projet. */ public List getLinks(){ return this._links; } /** * Ajoute un lien au projet. * @param l Le lien à ajouter. */ public void addLink(Link l){ this._links.add(l); } /** * Retire un lien du projet. * @param index L'index du lien à retirer. */ public void removeLink(int index){ this._links.remove(index); } /** * Supprime tous les liens du projet. */ public void clearLinks(){ this._links.clear(); } }