Page 115 - 4836
P. 115

стовпця  category  на  рядок  "user",  а  значення  1  на  рядок
                            "admin". Справа в тому, що залежно від категорії користувача
                            (яка в БД закодована числом) ми повинні створити або об'єкт
                            класу User, або об'єкт похідного від нього класу Admin.
                                   Наш  метод  буде  виглядати  таким  чином.  (Набирати
                            його немає сенсу, просто постарайтеся розібратися. І стежте за
                            дужками !)
                                   private User findUser(String login, string password) {
                                          Map userData = getNextUser();
                                          while (userData != null) {
                                                 if
                                          (((String)UserData.get("login")).equals(login) &&
                                          ((String)UserData.get("password")).equals(passwor
                                          d)) {
                                                 if
                                          (((String)UserData.get("category")).equals("user"))
                                                 return new
                                          User((String)UserData.get("name"));
                                                 if
                                          (((String)UserData.get("category")).equals("admin"
                                          ))
                                                 return new
                                          Admin((String)UserData.get("name"));
                                          }
                                          }
                                          userData = getNextUser();
                                          } return null;
                                   }
                                   Зверніть  увагу,  як  кожен  раз,  звертаючись  до
                            асоціативного  масиву  userData  методом  get()  і  одержуючи
                            значення, асоційоване з потрібним нам ключем, ми приводимо
                            його до типу рядок.
                                   Зверніть  увагу  на  організацію  циклу  while:  ми
                            викликаємо  метод  getNextUser(  )  доки  він  не  поверне  нам




                                                           113
   110   111   112   113   114   115   116   117   118   119   120