/sitebricks-mail/src/main/java/com/google/sitebricks/mail/Mail.java
http://github.com/dhanji/sitebricks · Java · 31 lines · 18 code · 10 blank · 3 comment · 0 complexity · dbc38f17659173195439373db048e09b MD5 · raw file
- package com.google.sitebricks.mail;
- import com.google.inject.ImplementedBy;
- import com.google.sitebricks.mail.oauth.OAuth2Config;
- import com.google.sitebricks.mail.oauth.OAuthConfig;
- import java.util.concurrent.ExecutorService;
- import java.util.concurrent.TimeUnit;
- /**
- * @author dhanji@gmail.com (Dhanji R. Prasanna)
- */
- @ImplementedBy(SitebricksMail.class)
- public interface Mail {
- AuthBuilder clientOf(String host, int port);
- public enum Auth { PLAIN, SSL, OAUTH, OAUTH2 }
- public static interface AuthBuilder {
- AuthBuilder timeout(long amount, TimeUnit unit);
- AuthBuilder executors(ExecutorService bossPool, ExecutorService workerPool);
- MailClient prepare(Auth authType, String username, String password);
- MailClient prepareOAuth(String username, OAuthConfig config);
- MailClient prepareOAuth2(String username, OAuth2Config config);
- }
- }