package io.milton.mail.memory; import io.milton.mail.Mailbox; import io.milton.mail.MessageFolder; import io.milton.mail.StandardMessageFactory; import io.milton.mail.StandardMessageFactoryImpl; import java.util.HashMap; import java.util.Map; import javax.mail.internet.MimeMessage; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * */ public class MemoryMailBox implements Mailbox{ private final static Logger log = LoggerFactory.getLogger(MemoryMailBox.class); private static final StandardMessageFactory factory = new StandardMessageFactoryImpl(); String password; Map<String,MessageFolder> folders; public MemoryMailBox() { folders = new HashMap<String, MessageFolder>(); MemoryMessageFolder folder = addFolder("inbox"); this.password = "password"; } public boolean authenticate(String password) { return password.equals(this.password); } public boolean authenticateMD5(byte[] passwordHash) { throw new UnsupportedOperationException("Not supported yet."); } public MessageFolder getInbox() { return folders.get("inbox"); } public MessageFolder getMailFolder(String name) { return folders.get(name); } public boolean isEmailDisabled() { return false; } public void storeMail(MimeMessage mm) { MemoryMessageFolder folder = (MemoryMessageFolder) getInbox(); MemoryMessageResource res = new MemoryMessageResource(folder, mm, factory); folder.messages.add(res); } public MemoryMessageFolder addFolder(String name) { MemoryMessageFolder folder = new MemoryMessageFolder(); folders.put(name,folder); return folder; } }