๐ย ์ค๋ ์ฝ์ ๋ฒ์ : 3. ํจ์ (54~65p)
public class UserValidator {
private Cryptographer cryptographer;
public boolean checkPassword(String userName, String password) {
User user = UserGateway.findByName(userName);
if (user != User.NULL) {
String codedPhrase = user.getPhraseEncodedByPassword();
String phrase = cryptographer.decrypt(codedPhrase, password);
if ("Valid Password".equals(phrase)) {
Session.initialize();
return true;
}
}
return false;
}
}
Session.initialize() ๋ ์๋์น ์๊ฒ ์ธ์ ์ ๋ณด๋ฅผ ์ง์๋ฒ๋ฆฐ๋ค
โ ์ ์ด๋ ์ด๋ฆ์ checkPasswordAndInitializeSession ์ผ๋ก ๋ฐ๊พธ์
appendFooter(s);
๋ ๋ฌด์ธ๊ฐ์ s๋ฅผ ๋ฐ๋ฅ๊ธ๋ก ์ฒจ๋ถํ๋์ง s์ ๋ฐ๋ฅ๊ธ์ ์ฒจ๋ถํ ์ง ์ ์ ์๋คreport.appendFooter()
public boolean set(String attribute, String value);
if (set("username", "unclebob"))...
set์ด ํ์ฉ์ฌ(p.p์ ํด์ง-์กฐํ)์ธ์ง ๋์ฌ(์ ํ๋ค-๋ช
๋ น)์ธ์ง ๋ชจ๋ฅด๋ฏ๋ก ์๋ฏธ๊ฐ ๋ชจํธ โ ๋ช
๋ น๊ณผ ์กฐํ๋ฅผ ๋ถ๋ฆฌํด ํผ๋์ ๋ฟ๋ฆฌ๋ฝ์if (attributeExists("username")) {
setAttribute("username", "unclebob");
...
}
if (deletePage(page) == E_OK) {
if (registry.deleteReference(page.name) == E_OK) {
if (configKeys.deleteKey(page.name.makeKey()) == E_OK) {
logger.log("page deleted");
} else {
logger.log("configKey not deleted");
}
} else {
logger.log("deleteReference from registry failed");
}
} else {
logger.log("delete failed");
return E_ERROR;
}
โ ์ค๋ฅ์ฝ๋ ๋ฐํํ๋ฉด ํธ์ถ์๋ ๊ณง๋ฐ๋ก ์ค๋ฅ์ฝ๋ ์ฒ๋ฆฌํด์ผ ํจtry {
deletePage(page);
registry.deleteReference(page.name);
configKeys.deleteKey(page.name.makeKey());
}
catch (Exception e) {
logger.log(e.getMessage());
}
โ ์ค๋ฅ ์ฒ๋ฆฌ์ฝ๋๊ฐ ์๋ ์ฝ๋์์ ๋ถ๋ฆฌ๋์ด ์ฝ๋๊ฐ ๊น๋public void delete(Page page) {
try {
deletePageAndAllReferences(page);
}
catch (Exception e) {
logError(e);
}
}
private void deletePageAndAllReferences(Page page) throws Exception {
deletePage(page);
registry.deleteReference(page.name);
configKeys.deleteKey(page.name.makeKey());
}
private void logError(Exception e) {
logger.log(e.getMessage());
}
public enum Error {
OK,
INVALID,
NO_SUCH,
LOCKED, OUT_OF_RESOURCES, WAITING_FOR_EVENT;
}
์์กด์ฑ ์์: ๋ค๋ฅธ ํด๋์ค์์ Error enum์ import ํด ์ฌ์ฉํ๋ฏ๋ก Error enum ์ด ๋ณํ๋ฉด ํด๋น enum ์ฌ์ฉํ๋ class์ ๋ถ๋ฅผ ๋ค์ ์ปดํ์ผํ๊ณ ๋ฐฐ์นํด์ผํ๋ค.
โ ์ค๋ฅ ์ฝ๋ ๋์ ์์ธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ์์ธ๋ Exception ํด๋์ค์์ ํ์
โ ์ฌ์ปดํ์ผ/๋ฐฐ์น ์์ด๋ ์ ์์ธ ํด๋์ค ์ถ๊ฐ ๊ฐ๋ฅ