210 lines
4.7 KiB
Java
210 lines
4.7 KiB
Java
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<Class> _classes;
|
|
private List<Link> _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<Class>();
|
|
_links = new ArrayList<Link>();
|
|
}
|
|
|
|
/**
|
|
* 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<Class> classes, List<Link> 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<Class> 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<Link> 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();
|
|
}
|
|
|
|
}
|