View Javadoc
1   /***********************************************************************************************************************
2    *
3    * JavaMail Mock2 Provider - open source mock classes for mock up JavaMail
4    * =======================================================================
5    *
6    * Copyright (C) 2014 by Hendrik Saly (http://saly.de)
7    * 
8    * Based on ideas from Kohsuke Kawaguchi's Mock-javamail (https://java.net/projects/mock-javamail)
9    *
10   ***********************************************************************************************************************
11   *
12   * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
13   * the License. You may obtain a copy of the License at
14   *
15   *     http://www.apache.org/licenses/LICENSE-2.0
16   *
17   * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
18   * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
19   * specific language governing permissions and limitations under the License.
20   *
21   ***********************************************************************************************************************
22   *
23   * $Id:$
24   *
25   **********************************************************************************************************************/
26  package de.saly.javamail.mock2;
27  
28  import javax.mail.Provider;
29  
30  public final class Providers {
31  
32      public static Provider getIMAPProvider(final String protocol, final boolean secure, final boolean mock) {
33          if (mock) {
34              return new Provider(Provider.Type.STORE, protocol, secure ? "de.saly.javamail.mock2.IMAPSSLMockStore"
35                      : "de.saly.javamail.mock2.IMAPMockStore", "JavaMail Mock2 provider", null);
36          }
37  
38          return new Provider(Provider.Type.STORE, protocol, secure ? "com.sun.mail.imap.IMAPSSLStore" : "com.sun.mail.imap.IMAPStore",
39                  "Oracle", null);
40  
41      }
42  
43      public static Provider getPOP3Provider(final String protocol, final boolean secure, final boolean mock) {
44          if (mock) {
45              return new Provider(Provider.Type.STORE, protocol, secure ? "de.saly.javamail.mock2.POP3SSLMockStore"
46                      : "de.saly.javamail.mock2.POP3MockStore", "JavaMail Mock2 provider", null);
47          }
48  
49          return new Provider(Provider.Type.STORE, protocol, secure ? "com.sun.mail.pop3.POP3SSLStore" : "com.sun.mail.pop3.POP3Store",
50                  "Oracle", null);
51  
52      }
53  
54      public static Provider getSMTPProvider(final String protocol, final boolean secure, final boolean mock) {
55          if (mock) {
56              return new Provider(Provider.Type.TRANSPORT, protocol, "de.saly.javamail.mock2.MockTransport", "JavaMail Mock2 provider", null);
57          }
58  
59          return new Provider(Provider.Type.TRANSPORT, protocol, secure ? "com.sun.mail.smtp.SMTPSSLTransport"
60                  : "com.sun.mail.smtp.SMTPTransport", "Oracle", null);
61      }
62  
63      private Providers() {
64          // empty
65      }
66  
67  }