diff --git a/src/Cards/BasicFidelityCard.java b/src/Cards/BasicFidelityCard.java index 7ab7bb98990d564613f98ba1392446c0d3f1f71e..b8661be802e893b51e6862f642905ebb3174916e 100644 --- a/src/Cards/BasicFidelityCard.java +++ b/src/Cards/BasicFidelityCard.java @@ -1,6 +1,6 @@ package Cards; -public class BasicFidelityCard extends FidelityCard { +public class BasicFidelityCard extends FidelityCard implements VisitableCard { public BasicFidelityCard(long id) { super(id); @@ -12,4 +12,9 @@ public class BasicFidelityCard extends FidelityCard { return "Basic"; } + @Override + public long accept() { + return 0; + } + } diff --git a/src/Cards/FidelityCard.java b/src/Cards/FidelityCard.java index 4a8fee5d4ae57a4e9c743246ef1f4f6ade65392a..700adba1cdab75594caac564cb889bbdfa339b43 100644 --- a/src/Cards/FidelityCard.java +++ b/src/Cards/FidelityCard.java @@ -1,6 +1,6 @@ package Cards; -public abstract class FidelityCard { +public abstract class FidelityCard implements VisitableCard { private long id; diff --git a/src/Cards/LotteryFidelityCard.java b/src/Cards/LotteryFidelityCard.java index dfd1594c539eb73f691d6ff9412f52f4483822ca..97669c25dde6cda842482ed30f05f9c62ba49a5d 100644 --- a/src/Cards/LotteryFidelityCard.java +++ b/src/Cards/LotteryFidelityCard.java @@ -1,6 +1,6 @@ package Cards; -public class LotteryFidelityCard extends FidelityCard { +public class LotteryFidelityCard extends FidelityCard implements VisitableCard { private double percentage; @@ -18,4 +18,10 @@ public class LotteryFidelityCard extends FidelityCard { return "Lottery"; } + + @Override + public long accept() { + return 0; + } + } diff --git a/src/Cards/PointFidelityCard.java b/src/Cards/PointFidelityCard.java index d455631009206d3549dda28fac78e8376ba2921f..2c8a3efa172b55911f6640d2b0d4f2f72ea2e0ee 100644 --- a/src/Cards/PointFidelityCard.java +++ b/src/Cards/PointFidelityCard.java @@ -1,6 +1,6 @@ package Cards; -public class PointFidelityCard extends FidelityCard { +public class PointFidelityCard extends FidelityCard implements VisitableCard { private long nbOfPoint; @@ -16,4 +16,10 @@ public class PointFidelityCard extends FidelityCard { return "Point"; } + @Override + public long accept() { + return this.nbOfPoint; + + } + } diff --git a/src/Cards/VisitableCard.java b/src/Cards/VisitableCard.java new file mode 100644 index 0000000000000000000000000000000000000000..61084e7e3e0ae2c83fc99201facab3d4944485dc --- /dev/null +++ b/src/Cards/VisitableCard.java @@ -0,0 +1,7 @@ +package Cards; + +public interface VisitableCard { + + public abstract long accept(); + +} diff --git a/src/Cards/VisiterCard.java b/src/Cards/VisiterCard.java new file mode 100644 index 0000000000000000000000000000000000000000..3a6ebc91dc5ab7b6d3a122e139291fa25828a1c7 --- /dev/null +++ b/src/Cards/VisiterCard.java @@ -0,0 +1,7 @@ +package Cards; + +public interface VisiterCard { + + public abstract long visit(VisitableCard card); + +} diff --git a/src/Cli/Confirm.java b/src/Cli/Confirm.java new file mode 100644 index 0000000000000000000000000000000000000000..3911b1d38b96d1e2372307510d58efe83bfb158c --- /dev/null +++ b/src/Cli/Confirm.java @@ -0,0 +1,15 @@ +package Cli; + +import java.util.Scanner; + +public class Confirm { + Scanner reader = new Scanner(System.in); + public static boolean text(String str){ + System.out.println(str); + System.out.println("(Y)es/(N)o : "); + String answer = reader.nextLine(); + if(answer=="y" || answer == "Y" || answer == "o" || answer == "O") + return true; + return false; + } +} diff --git a/src/Item/Dish.java b/src/Item/Dish.java new file mode 100644 index 0000000000000000000000000000000000000000..5df2a486d905e0511ed3fa2107b291078cd0cc01 --- /dev/null +++ b/src/Item/Dish.java @@ -0,0 +1,14 @@ +package Item; + +public class Dish extends Item implements VisitablePrice{ + + public Dish(String name, String type) { + super(name, type); + } + + private double price; + + public double acceptPrice(VisitorPrice v) { + return v.visitPrice(this); + } +} diff --git a/src/Item/Item.java b/src/Item/Item.java new file mode 100644 index 0000000000000000000000000000000000000000..9c2b1117e721f7efcb5078479dd0dfe211d74c2d --- /dev/null +++ b/src/Item/Item.java @@ -0,0 +1,33 @@ +package Item; + +public abstract class Item implements VisitablePrice { + + String type; + String name; + + /** CONSTRUCTOR **/ + + public Item(String name,String type) { + super(); + this.type = type; + this.name = name; + } + + /** METHODS **/ + + + /** GETTER & SETTER **/ + + public String getType() { + return type; + } + public void setType(String type) { + this.type = type; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } +} diff --git a/src/Item/Meal.java b/src/Item/Meal.java new file mode 100644 index 0000000000000000000000000000000000000000..eabbafefef1a2cbe101d24fb99775cb6cf5b3e81 --- /dev/null +++ b/src/Item/Meal.java @@ -0,0 +1,91 @@ +package Item; + +import java.util.ArrayList; + +public class Meal extends Item implements VisitorPrice{ + + ArrayList<Dish> listDish = new ArrayList<Dish>(); + + private double price=0; + + public Meal(String name,String type) { + super(name,type); + } + + public void addDish(ArrayList<Dish> listDishRestaurant, String name){ + for(Dish dish: listDishRestaurant){ + if(dish.getName()==name) + System.out.println("Adding "+dish.toString()+" to meal : "+this.getName()); + if(!listDish.contains(dish)){ + listDish.add(dish); + System.out.println("Dish added."); + } + else{ + System.out.println("This dish is in this menu."); + if(Cli.Confirm.text("Do you really want to add "+dish.toString()+" ?")){ + listDish.add(dish); + System.out.println("Dish added."); + } + } + } + } + public void addDish(ArrayList<Dish> listDishRestaurant, int num){ + Dish dish = listDishRestaurant.get(num); + System.out.println("Adding "+dish.toString()+" to meal : "+this.getName()); + if(dish.getName()==name) + if(!listDish.contains(dish)){ + listDish.add(dish); + System.out.println("Dish added."); + } + else{ + System.out.println("This dish is in this menu."); + if(Cli.Confirm.text("Do you really want to add "+dish.toString()+" ?")){ + listDish.add(dish); + System.out.println("Dish added."); + } + } + } + + public void removeDish(String name){ + boolean itemRemoved = false; + for(Dish dish: listDish){ + if(dish.getName()==name){ + listDish.remove(dish); + itemRemoved=true; + } + } + if(itemRemoved) + System.out.println("Dish removed !"); + } + public void removeDish(int num){ + Dish dish = listDish.get(num); + if(dish.getName()==name) + if(!listDish.contains(dish)) + listDish.add(dish); + else{ + System.out.println("This dish is in this menu."); + if(Cli.Confirm.text("Do you really want to add it ?")) + listDish.add(dish); + } + } + + public double getPrice(){ + return price; + } + + /** VISIT LOGIC **/ + + @Override + public double acceptPrice(VisitorPrice v){ + price=0; + for(Dish item: listDish){ + item.acceptPrice(this); + } + return this.getPrice(); + } + + @Override + public double visitPrice(VisitablePrice v) { + return v.acceptPrice(this); + } +} diff --git a/src/Item/VisitablePrice.java b/src/Item/VisitablePrice.java new file mode 100644 index 0000000000000000000000000000000000000000..06286592c14a7aba0e95b3328c683585b05dba2c --- /dev/null +++ b/src/Item/VisitablePrice.java @@ -0,0 +1,5 @@ +package Item; + +public interface VisitablePrice { + public double acceptPrice(VisitorPrice v); +} diff --git a/src/Item/VisitorPrice.java b/src/Item/VisitorPrice.java new file mode 100644 index 0000000000000000000000000000000000000000..fd8f4f1b78cd7cc1fdbfda236591488ee9f692ff --- /dev/null +++ b/src/Item/VisitorPrice.java @@ -0,0 +1,5 @@ +package Item; + +public interface VisitorPrice { + public double visitPrice(VisitablePrice v); +} diff --git a/src/Others/Historique.java b/src/Others/Historique.java index 3ff35b5f45251c5b8d0b7518bdf7f325864a8e9e..e515b03a2b3004557f34e4d9d6a656537939b997 100644 --- a/src/Others/Historique.java +++ b/src/Others/Historique.java @@ -6,7 +6,7 @@ import provisoire.Order; public class Historique { - ArrayList<Order> listOfOrder; + private ArrayList<Order> listOfOrder; public Historique(ArrayList<Order> listOfOrder) { super(); diff --git a/src/Others/IDCard.java b/src/Others/IDCard.java index fde40ba2382f50f01fa103b79aa34e73b84b87cc..e3cf941151bd5095e75547e48c07410cbeb53983 100644 --- a/src/Others/IDCard.java +++ b/src/Others/IDCard.java @@ -2,21 +2,22 @@ package Others; public class IDCard { - - /** Constructeur priv� */ - private IDCard() - {} - - /** Instance unique non pr�initialis�e */ - private static IDCard INSTANCE = null; - - /** Point d'acc�s pour l'instance unique du singleton */ - public static IDCard getInstance() - { - if (INSTANCE == null) - { INSTANCE = new IDCard(); + + private static IDCard instance = null; + + private static long num; + + private IDCard(){} + + public static IDCard getInstance() { + if (instance==null) { + instance = new IDCard(); } - return INSTANCE; - } + return instance; + } + public long getNextSerialNumber(){ + return num++; + } + } diff --git a/src/Others/Position.java b/src/Others/Position.java new file mode 100644 index 0000000000000000000000000000000000000000..ba80d493f5c8ad4275eb22066c626aedaeb697c9 --- /dev/null +++ b/src/Others/Position.java @@ -0,0 +1,36 @@ +package Others; + +public class Position { + + private double x,y; + + public Position(double x, double y) { + super(); + this.x = x; + this.y = y; + } + + @Override + public String toString() { + return "Position [x=" + x + ", y=" + y + "]"; + } + + public double getX() { + return x; + } + + public void setX(double x) { + this.x = x; + } + + public double getY() { + return y; + } + + public void setY(double y) { + this.y = y; + }; + + + +} diff --git a/src/Trash/UserFactory.java b/src/Trash/UserFactory.java deleted file mode 100644 index 4d1600a5a6328b11658cc2e21ef08e364b80218f..0000000000000000000000000000000000000000 --- a/src/Trash/UserFactory.java +++ /dev/null @@ -1,48 +0,0 @@ -package Trash; - - -import java.io.*; -import java.lang.*; -import java.util.*; - -import javax.management.RuntimeErrorException; - -import Others.Adress; - -public class UserFactory { - - private ArrayList<User> listOfUser; - - public UserFactory(ArrayList<User> listOfUser) { - super(); - this.listOfUser = listOfUser; - } - - public ArrayList<User> getListOfUser() { - return listOfUser; - } - - public void setListOfUser(ArrayList<User> listOfUser) { - this.listOfUser = listOfUser; - } - - @Override - public String toString() { - return "UserFactory [listOfUser=" + listOfUser + "]"; - } - - public void createRestaurant(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, - boolean activated, String typeOfHumanUser){ - if(typeOfUser == "Restaurant"){ - try{ - User newUser = new Restaurant(id,phoneNumber,name,username,mail,password,adress,activated); - listOfUser.add(newUser); - } - catch (Exception e) { - - } // faire le try/catch � l'ajout d'un User pour �viter les doublons. - } - } - } - - diff --git a/src/User/Courrier.java b/src/User/Courrier.java new file mode 100644 index 0000000000000000000000000000000000000000..068aabe0671b38841f6baaf257e5148a6b264d74 --- /dev/null +++ b/src/User/Courrier.java @@ -0,0 +1,59 @@ +package User; + +import Core.MyFoodora; +import Others.Adress; +import Others.Position; + +public class Courrier extends HumanUser { + + private Position position; + private long nbOfLivraison; + private boolean available; + + + public Courrier(long phoneNumber, String name, String username, String mail, String password, + Adress adress, boolean activated, String birthdayDate, String surname,Position position, boolean available) { + super(phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); + this.position = position; + this.nbOfLivraison = 0; + this.available = available; + } + + + public Position getPosition() { + return position; + } + + + public void setPosition(Position position) { + this.position = position; + } + + + public long getNbOfLivraison() { + return nbOfLivraison; + } + + + public void setAvailable(boolean available) { + this.available = available; + } + + public void register(MyFoodora foodora){ + + } + + public void unregister(MyFoodora foodora){ + + } + + public void acceptDelivery(){ + + } + + public void refuseDelivery(){ + + } + + +} diff --git a/src/User/Customer.java b/src/User/Customer.java index ea66fbde09b155902b737942a4ba076c8502a33a..fc5ecedab27ba16fa864690705a2c4cbc6b2ead8 100644 --- a/src/User/Customer.java +++ b/src/User/Customer.java @@ -2,49 +2,36 @@ package User; import Cards.BasicFidelityCard; import Cards.FidelityCard; +import Cards.LotteryFidelityCard; +import Cards.PointFidelityCard; +import Cards.VisitableCard; +import Cards.VisiterCard; import Others.Adress; import Others.Historique; import Others.IDCard; import provisoire.Order; -public class Customer extends HumanUser { +public class Customer extends HumanUser implements VisiterCard { - boolean spamAgree; - Historique historique; - FidelityCard card; + private boolean spamAgree; + private Historique historique; + private FidelityCard card; + private IDCard idCard; - public Customer(long id, long phoneNumber, String name, String username, String mail, String password, + public Customer(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated, String birthdayDate, String surname,boolean spamAgree,Historique historique,FidelityCard card ) { - super(id, phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); + super(phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); this.spamAgree = spamAgree; this.historique = historique; this.card = card; } - - public boolean isSpamAgree() { - return spamAgree; - } - - public void setSpamAgree(boolean spamAgree) { - this.spamAgree = spamAgree; - } - - public Historique getHistorique() { - return historique; - } - - public void setHistorique(Historique historique) { - this.historique = historique; - } + public FidelityCard getCard() { return card; } - public void setCard(FidelityCard card) { - this.card = card; - } @Override public String toString() { @@ -57,18 +44,82 @@ public class Customer extends HumanUser { public void registerFidelityPlan(String newTypeOfFidelityCard){ if(newTypeOfFidelityCard == this.card.returnType()){ - System.out.println("You have already this card"); - if ((newTypeOfFidelityCard != "Basic") &(newTypeOfFidelityCard != "Lottery")&(newTypeOfFidelityCard != "Point")){ - System.out.println("You have to choose between Point, Lottery or Basic card"); + System.out.println("You already have this card");} + else if ((newTypeOfFidelityCard != "Basic")&(newTypeOfFidelityCard != "Lottery")&(newTypeOfFidelityCard != "Point")){ + System.out.println("You have to choose between Point, Lottery card"); + } + else if (newTypeOfFidelityCard == "Basic"){ + System.out.println("You have to choose between Point, Lottery card"); } else { - if (newTypeOfFidelityCard == "Basic"){ - this.card = new BasicFidelityCard(new IDCard().getId); + if (newTypeOfFidelityCard == "Point"){ + idCard=IDCard.getInstance(); + this.card = new PointFidelityCard(idCard.getNextSerialNumber(),0); + } + + if (newTypeOfFidelityCard == "Lottery"){ + idCard=IDCard.getInstance(); + this.card = new LotteryFidelityCard(idCard.getNextSerialNumber(),10); + } } } + + public void unregisterFidelityPlan(String newTypeOfFidelityCard){ + if(this.card.returnType() == "Basic"){ + System.out.println("You already have this card");} + + else { + idCard=IDCard.getInstance(); + this.card = new BasicFidelityCard(idCard.getNextSerialNumber()); + } } + public Historique getHistorique() { + return historique; + } + public long getPointInTheCard(){ + if((this.card.returnType() == "Basic") || (this.card.returnType() == "Lottery")){ + System.out.println("You don't have the right type of Card"); + return 0; + } + else { + return visit(card); + } + } + + @Override + public long visit(VisitableCard card) { + return card.accept(); + } + + public void acceptSpam (){ + if (spamAgree == true){ + System.out.println("You've already accept to receive notifications"); + } + else { + this.spamAgree = true; + } + } + + public void refuseSpam(){ + if (spamAgree == false){ + System.out.println("You've already refuse to receive notifications"); + } + else { + this.spamAgree = false; + } + } + + + + + + + + } + + + -} diff --git a/src/User/HumanUser.java b/src/User/HumanUser.java index 76182c0fdd3ff14607a366bb0c31133dc52475ff..e0a2d09d59355cbe56d6beccca2af6b26fb88a29 100644 --- a/src/User/HumanUser.java +++ b/src/User/HumanUser.java @@ -4,11 +4,11 @@ import Others.Adress; public class HumanUser extends User { - String birthdayDate, surname; + private String birthdayDate, surname; - public HumanUser(long id, long phoneNumber, String name, String username, String mail, String password, - Adress adress, boolean activated , String birthdayDate, String surname) { - super(id, phoneNumber, name, username, mail, password, adress, activated); + public HumanUser(long phoneNumber, String name, String username, String mail, String password, Adress adress, + boolean activated , String birthdayDate, String surname) { + super(phoneNumber, name, username, mail, password, adress, activated); this.birthdayDate = birthdayDate; this.surname = surname; } diff --git a/src/User/HumanUserFactory.java b/src/User/HumanUserFactory.java index 348b0501a4b2694c40135be187e95d0d496b1683..91ed5eb251a8e5897febc168782b82a805a1a8ad 100644 --- a/src/User/HumanUserFactory.java +++ b/src/User/HumanUserFactory.java @@ -5,10 +5,10 @@ import Others.Adress; public class HumanUserFactory extends UserFactory { @Override - public void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + public void createUser(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated) { try{ - User newUser = new Restaurant(id,phoneNumber,name,username,mail,password,adress,activated); + User newUser = new Restaurant(phoneNumber,name,username,mail,password,adress,activated); } catch (Exception e) {} // faire le try/catch � l'ajout d'un User pour �viter les doublons. diff --git a/src/User/IDUser.java b/src/User/IDUser.java new file mode 100644 index 0000000000000000000000000000000000000000..45fce25daa36afce30fcca4eed120bf6d0c0cb94 --- /dev/null +++ b/src/User/IDUser.java @@ -0,0 +1,24 @@ +package User; + + + +public class IDUser { + + + private static IDUser instance = null; + + private static long num; + + private IDUser(){} + + public static IDUser getInstance() { + if (instance==null) { + instance = new IDUser(); + } + return instance; + } + public long getNextSerialNumber(){ + return num++; + } + +} diff --git a/src/User/Manager.java b/src/User/Manager.java index 96ee82aec00b059b6ef538a808fc8578b9500ffa..92f20d3ceb774917e97b7345b01c905e36810128 100644 --- a/src/User/Manager.java +++ b/src/User/Manager.java @@ -1,15 +1,16 @@ package User; +import Core.MyFoodora; import java.util.ArrayList; import Others.Adress; -import provisoire.MyFoodora; + public class Manager extends HumanUser { - public Manager(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, + public Manager(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated, String birthdayDate, String surname) { - super(id, phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); + super(phoneNumber, name, username, mail, password, adress, activated, birthdayDate, surname); } diff --git a/src/User/MoralUser.java b/src/User/MoralUser.java index 7ce03c7658a2fc56a736bae740279884a58185e1..4cade1f7b658a257dd8fb71a184e9dd97fe2512e 100644 --- a/src/User/MoralUser.java +++ b/src/User/MoralUser.java @@ -4,9 +4,9 @@ import Others.Adress; public class MoralUser extends User { - public MoralUser(long id, long phoneNumber, String name, String username, String mail, String password, + public MoralUser(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated) { - super(id, phoneNumber, name, username, mail, password, adress, activated); + super(phoneNumber, name, username, mail, password, adress, activated); // TODO Auto-generated constructor stub } diff --git a/src/User/MoralUserFactory.java b/src/User/MoralUserFactory.java index f73a8b6972edfe62ab2a4fed0e60112e80ba0dfa..0c4dbb5d8e61d91bcce64936b282ad305f014515 100644 --- a/src/User/MoralUserFactory.java +++ b/src/User/MoralUserFactory.java @@ -5,7 +5,7 @@ import Others.Adress; public class MoralUserFactory extends UserFactory { @Override - public void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + public void createUser(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated) { // TODO Auto-generated method stub diff --git a/src/User/Restaurant.java b/src/User/Restaurant.java index fe7cdc5b8584b81bfa278b0603055e4630086e5c..971ba54ceed0342043cd8f7cfc1054c0c77e2da6 100644 --- a/src/User/Restaurant.java +++ b/src/User/Restaurant.java @@ -6,9 +6,9 @@ public class Restaurant extends MoralUser { //ArrayList<Meal> listOfMeal; - public Restaurant(long id, long phoneNumber, String name, String username, String mail, String password, + public Restaurant(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated) { - super(id, phoneNumber, name, username, mail, password, adress, activated); + super(phoneNumber, name, username, mail, password, adress, activated); //this.listOfMeal = listOfMeal } diff --git a/src/User/User.java b/src/User/User.java index 1fa1fb6d6a32fe4aec83bdd1e06f84c7df9c2031..d0f6817ab23ea7fcb6f52550c4cbd7609c98ba72 100644 --- a/src/User/User.java +++ b/src/User/User.java @@ -5,18 +5,23 @@ import java.io.*; import java.lang.*; import java.util.*; -public abstract class User { +import Core.MyFoodora; - private long id,phoneNumber; +public abstract class User { + + + protected long id; + private long phoneNumber; private String name,username,mail,password; private Adress adress; private boolean activated; + - - public User(long id, long phoneNumber, String name, String username, String mail, String password, Adress adress, + public User(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated) { super(); - this.id = id; + IDUser idUser = IDUser.getInstance(); + this.id = idUser.getNextSerialNumber(); this.phoneNumber = phoneNumber; this.name = name; this.username = username; @@ -32,10 +37,6 @@ public abstract class User { } - public void setId(long id) { - this.id = id; - } - public long getPhoneNumber() { return phoneNumber; @@ -77,11 +78,6 @@ public abstract class User { } - public String getPassword() { - return password; - } - - public void setpassword(String password) { this.password = password; } @@ -113,14 +109,12 @@ public abstract class User { + ", mail=" + mail + ", password=" + password + ", adress=" + adress + ", activated=" + activated + "]"; } - public void register(){ + public void register(MyFoodora foodora){ System.out.println("Please writte your username"); Scanner sc = new Scanner(System.in); String usernametest = sc.nextLine(); System.out.println("Please enter your password"); String passwordtest = sc.nextLine(); - // faire un if sur la condition d'appartenance � MyFoodora core + try/catch - } diff --git a/src/User/UserFactory.java b/src/User/UserFactory.java index 2e620b35c0adcb6aa94afa3de5937c7121334502..262ef3b6709908dd2515e40a3103014b650e5262 100644 --- a/src/User/UserFactory.java +++ b/src/User/UserFactory.java @@ -12,7 +12,7 @@ import Others.Adress; public abstract class UserFactory { - public abstract void createUser(long id, long phoneNumber, String name, String username, String mail, String password, + public abstract void createUser(long phoneNumber, String name, String username, String mail, String password, Adress adress, boolean activated);