package example10_1_Adapter.adapter; import example10_1_Adapter.pop3extreme.Pop3Extreme; // the adapter to make Pop3Extreme look like EmailPlus public class Pop3ExtremeAdapter implements EmailPlus { private final Pop3Extreme extreme; private String username; private String password; private String password1; private String domain; public Pop3ExtremeAdapter() { extreme = new Pop3Extreme(); } @Override public void setUserName(String username) { this.username = username; } @Override public void setPassword(String password) { password1 = password; } @Override public void setDomain(String domain) { this.domain = domain; } @Override public ReturnCodes connect() { if(extreme.login(username, password1, domain)) { return ReturnCodes.SUCCESS; } else { return ReturnCodes.UNKNOWNFAILURE; } } @Override public ReturnCodes disconnect() { if(extreme.logout()){ return ReturnCodes.SUCCESS; } else { return ReturnCodes.UNKNOWNFAILURE; } } @Override public int getNewMessages() { return extreme.getNew(); } @Override public String getSender(int msgNumber) { return extreme.getMessage(msgNumber).getSender(); } @Override public String getSenderName(int msgNumber) { return extreme.getMessage(msgNumber).getSenderName(); } @Override public String getSubject(int msgNumber) { return extreme.getMessage(msgNumber).getSubject(); } @Override public String getBody(int msgNumber) { return extreme.getMessage(msgNumber).getBody(); } @Override public int getMIMEType(int msgNumber) { return extreme.getMessage(msgNumber).getMIMEType(); } }