Implémentation de la classe Class
This commit is contained in:
262
AppThinker/src/Class.java
Normal file
262
AppThinker/src/Class.java
Normal file
@@ -0,0 +1,262 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Gère une classe du projet.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public class Class {
|
||||
|
||||
public static int _classId = 0;
|
||||
public static final int RECTANGLE = 0;
|
||||
public static final int CIRCLE = 1;
|
||||
|
||||
private int _id;
|
||||
private String _name;
|
||||
private int _posX;
|
||||
private int _posY;
|
||||
private int _sizeX;
|
||||
private int _sizeY;
|
||||
private int _shape;
|
||||
private List<Attribute> _attributes;
|
||||
private List<Method> _methods;
|
||||
|
||||
/**
|
||||
* Constructeur - Crée une instance de Class.
|
||||
* @param posX La position sur l'axe X de la nouvelle classe.
|
||||
* @param posY La position sur l'axe Y de la nouvelle classe.
|
||||
* @param shape La forme de la nouvelle classe (Class.RECTANGLE ou Class.CIRCLE)
|
||||
*/
|
||||
public Class(int posX, int posY, int shape){
|
||||
_classId++;
|
||||
this._id = _classId;
|
||||
this._name = "Classe" + _id;
|
||||
this._posX = posX;
|
||||
this._posY = posY;
|
||||
this._sizeX = 30;
|
||||
this._sizeY = 60;
|
||||
this._shape = shape;
|
||||
this._attributes = new ArrayList<Attribute>();
|
||||
this._methods = new ArrayList<Method>();
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructeur - Crée une instance de Class avec les paramètres déterminés.
|
||||
* @param name Le nom de la classe importée.
|
||||
* @param posX La position sur l'axe X de la classe importée.
|
||||
* @param posY La position sur l'axe Y de la classe importée.
|
||||
* @param sizeX La taille sur l'axe X de la classe importée.
|
||||
* @param sizeY La taille sur l'axe Y de la classe importée.
|
||||
* @param shape La forme de la classe importée (Class.RECTANGLE ou Class.CIRCLE).
|
||||
* @param attributes La liste des attributs de la classe importée.
|
||||
* @param methods La liste des méthodes de la classe importée.
|
||||
*/
|
||||
public Class(String name, int posX, int posY, int sizeX, int sizeY, int shape, ArrayList<Attribute> attributes, ArrayList<Method> methods){
|
||||
_classId++;
|
||||
this._id = _classId;
|
||||
this._name = name;
|
||||
this._posX = posX;
|
||||
this._posY = posY;
|
||||
this._sizeX = sizeX;
|
||||
this._sizeY = sizeY;
|
||||
this._shape = shape;
|
||||
this._attributes = attributes;
|
||||
this._methods = methods;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère le numéro de la classe.
|
||||
* @return Le numéro de la classe.
|
||||
*/
|
||||
public int getId() {
|
||||
return _id;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère le nom de la classe.
|
||||
* @return Le nom de la classe.
|
||||
*/
|
||||
public String getName() {
|
||||
return _name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre le nom de la classe.
|
||||
* @param name Le nom de la classe.
|
||||
*/
|
||||
public void setName(String name) {
|
||||
this._name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la position sur l'axe X de la classe.
|
||||
* @return La position sur l'axe X de la classe.
|
||||
*/
|
||||
public int getPosX() {
|
||||
return _posX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la position sur l'axe X de la classe.
|
||||
* @param posX La position sur l'axe X de la classe.
|
||||
*/
|
||||
public void setPosX(int posX) {
|
||||
this._posX = posX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la position sur l'axe Y de la classe.
|
||||
* @return La position sur l'axe Y de la classe.
|
||||
*/
|
||||
public int getPosY() {
|
||||
return _posY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la position sur l'axe Y de la classe.
|
||||
* @param posY La position sur l'axe Y de la classe.
|
||||
*/
|
||||
public void setPosY(int posY) {
|
||||
this._posY = posY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la taille sur l'axe X de la classe.
|
||||
* @return La taille sur l'axe X de la classe.
|
||||
*/
|
||||
public int getSizeX() {
|
||||
return _sizeX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la taille sur l'axe X de la classe.
|
||||
* @param sizeX La taille sur l'axe X de la classe.
|
||||
*/
|
||||
public void setSizeX(int sizeX) {
|
||||
this._sizeX = sizeX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la taille sur l'axe Y de la classe.
|
||||
* @return La taille sur l'axe Y de la classe.
|
||||
*/
|
||||
public int getSizeY() {
|
||||
return _sizeY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la taille sur l'axe Y de la classe.
|
||||
* @param sizeY La taille sur l'axe Y de la classe.
|
||||
*/
|
||||
public void setSizeY(int sizeY) {
|
||||
this._sizeY = sizeY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la taille sur l'axe X et Y de la classe.
|
||||
* @param sizeX La taille sur l'axe X de la classe.
|
||||
* @param sizeY La taille sur l'axe Y de la classe.
|
||||
*/
|
||||
public void resize(int sizeX, int sizeY){
|
||||
this._sizeX = sizeX;
|
||||
this._sizeY = sizeY;
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère la forme graphique de la classe.
|
||||
* @return La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE).
|
||||
*/
|
||||
public int getShape() {
|
||||
return _shape;
|
||||
}
|
||||
|
||||
/**
|
||||
* Paramètre la forme graphique de la classe.
|
||||
* @param shape La forme graphique de la classe (Class.RECTANGLE ou Class.CIRCLE).
|
||||
*/
|
||||
public void setShape(int shape) {
|
||||
this._shape = shape;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sélectionne la classe dans l'espace graphique.
|
||||
*/
|
||||
public void select(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Désélectionne la classe dans l'espace graphique.
|
||||
*/
|
||||
public void deselect(){
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère tous les attributs de la classe.
|
||||
* @return Les attributs de la classe.
|
||||
*/
|
||||
public List<Attribute> getAttributes(){
|
||||
return this._attributes;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un attribut à la classe.
|
||||
* @param a L'attribut à ajouter.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void addAttribute(Attribute a){
|
||||
this._attributes.add(a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime un attribut de la classe.
|
||||
* @param index L'index de l'attribut à supprimer.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void removeAttribute(int index){
|
||||
this._attributes.remove(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime tous les attributs de la classe.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void clearAttributes(){
|
||||
this._attributes.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère toutes les méthodes de la classe.
|
||||
* @return Les méthodes de la classe.
|
||||
*/
|
||||
public List<Method> getMethods(){
|
||||
return this._methods;
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute une méthode à la classe.
|
||||
* @param m La méthode à ajouter.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void addMethod(Method m){
|
||||
this._methods.add(m);
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime une méthode de la classe.
|
||||
* @param index L'index de la méthode à supprimer.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void removeMethod(int index){
|
||||
this._methods.remove(index);
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime toutes les méthodes de la classe.
|
||||
* @author V.BOULANGER
|
||||
*/
|
||||
public void clearMethods(){
|
||||
this._methods.clear();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user