Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. package dominos;
  2.  
  3. import java.util.HashSet;
  4. import java.util.TreeSet;
  5.  
  6. import exceptions.InvalidArgumentsException;
  7. import products.Menu;
  8. import users.Admin;
  9. import users.ClientUser;
  10. import users.User;
  11.  
  12. public class Dominos {
  13.  
  14. public static final String NO_USERNAME = "No user with this username";
  15. public static final String WRONG_PASSWORD = "Wrong password";
  16. public static final String USERNAME_ERROR = "Already exist user with this username";
  17.  
  18. private final String name;
  19. private String address;
  20. private Menu menu;
  21. private TreeSet<Order> orders = new TreeSet<>();
  22. private HashSet<User> users = new HashSet<>();
  23. private HashSet<ClientUser> clients = new HashSet<>();
  24. private HashSet<Admin> admins = new HashSet<>();
  25. private User loggedUser;
  26.  
  27. public Dominos(String name, String address, Menu menu) throws InvalidArgumentsException {
  28. this.name = name;
  29. this.setAddress(address);
  30. this.menu = Menu.getInstance();
  31. }
  32.  
  33. public String getAddress() {
  34. return address;
  35. }
  36.  
  37.  
  38. public void setAddress(String address) throws InvalidArgumentsException{
  39. if(address == null) {
  40. throw new InvalidArgumentsException("Invalid address");
  41. }
  42. this.address = address;
  43. }
  44.  
  45. public String getName() {
  46. return name;
  47. }
  48.  
  49. public void register(User user) throws InvalidArgumentsException{
  50. if(this.userExist(user.getUsername())) {
  51. throw new InvalidArgumentsException(USERNAME_ERROR);
  52. }
  53. else {
  54. this.users.add(user);
  55. user.setRestaurant(this);
  56. if(user.getIsAdmin()) {
  57. this.admins.add((Admin) user);
  58. }
  59. else {
  60. this.clients.add((ClientUser) user);
  61. }
  62. }
  63. }
  64.  
  65. public boolean login(String username, String password) throws InvalidArgumentsException {
  66. boolean loginSuccessful = false;
  67.  
  68. if(userExist(username)) {
  69. if(getUser(username).getPassword().equals(password)) {
  70. loginSuccessful = true;
  71. this.loggedUser = getUser(username);
  72. }
  73. else {
  74. throw new InvalidArgumentsException(WRONG_PASSWORD);
  75. }
  76. }
  77.  
  78. return loginSuccessful;
  79. }
  80.  
  81. public boolean userExist(String username) {
  82. for(User u: this.users) {
  83. if(u.getUsername().equals(username)) {
  84. return true;
  85. }
  86. }
  87. return false;
  88. }
  89.  
  90. public User getUser(String username) {
  91. for(User u: this.users) {
  92. if(u.getUsername().equals(username)) {
  93. return u;
  94. }
  95. }
  96. return null;
  97. }
  98.  
  99. public Menu getMenu() {
  100. return this.menu;
  101. }
  102.  
  103. public void acceptOrder(Order order) {
  104. this.orders.add(order);
  105. }
  106.  
  107. public TreeSet<Order> getOrders(){
  108. return this.orders;
  109. }
  110.  
  111. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement