From 9f089b3ef0a0cbc17e793d78319d9cc31388c79d Mon Sep 17 00:00:00 2001 From: Valentin Boulanger Date: Sun, 22 Nov 2020 15:54:02 +0100 Subject: [PATCH] =?UTF-8?q?Impl=C3=A9mentation=20de=20la=20classe=20Method?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppThinker/src/Method.java | 131 +++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 AppThinker/src/Method.java diff --git a/AppThinker/src/Method.java b/AppThinker/src/Method.java new file mode 100644 index 0000000..5806814 --- /dev/null +++ b/AppThinker/src/Method.java @@ -0,0 +1,131 @@ +import java.util.ArrayList; +import java.util.List; + +/** + * Gère une méthode. + */ +public class Method { + + public static int _methodsId = 0; + + private int _id; + private String _access; + private String _type; + private String _name; + private List _arguments; + + /** + * Constructeur - Crée une instance de Method. + */ + public Method(){ + _methodsId++; + this._id = _methodsId; + this._access = "public"; + this._type = null; + this._name = "methode" + this._id; + this._arguments = new ArrayList(); + } + + /** + * Constructeur - Crée une instance de Method avec des paramètres donnés. + * @param access Le modificateur d'accès de la méthode. + * @param type Le type de la méthode. + * @param name Le nom de la méthode. + * @param arguments Les arguments de la méthode. + */ + public Method(String access, String type, String name, ArrayList arguments){ + _methodsId++; + this._id = _methodsId; + this._access = access; + this._type = type; + this._name = name; + this._arguments = arguments; + } + + /** + * Récupère le numéro de la méthode. + * @return Le numéro de la méthode. + */ + public int getId() { + return _id; + } + + /** + * Récupère le modificateur d'accès de la méthode. + * @return Le modificateur d'accès de la méthode. + */ + public String getAccess() { + return _access; + } + + /** + * Paramètre le modificateur d'accès de la méthode. + * @param access Le modificateur d'accès de la méthode. + */ + public void setAccess(String access) { + this._access = access; + } + + /** + * Récupère le type de la méthode. + * @return Le type de la méthode. + */ + public String getType() { + return _type; + } + + /** + * Paramètre le type de la méthode. + * @param type Le type de la méthode. + */ + public void setType(String type) { + this._type = type; + } + + /** + * Récupère le nom de la méthode. + * @return Le nom de la méthode. + */ + public String getName() { + return _name; + } + + /** + * Paramètre le nom de la méthode. + * @param name Le nom de la méthode. + */ + public void setName(String name) { + this._name = name; + } + + /** + * Récupère tous les arguments de la méthode. + * @return Les arguments de la méthode. + */ + public List getArguments() { + return _arguments; + } + + /** + * Ajoute un argument à la méthode. + * @param a L'argument à ajouter. + */ + public void addArgument(Argument a){ + this._arguments.add(a); + } + + /** + * Retire un argument de la méthode. + * @param index L'index de l'argument à retirer. + */ + public void removeArgument(int index){ + this._arguments.remove(index); + } + + /** + * Retire tous les arguments de la méthode. + */ + public void clearArguments(){ + this._arguments.clear(); + } +}