001 /***********************************************************************************************************************
002 *
003 * JavaMail Mock2 Provider - open source mock classes for mock up JavaMail
004 * =======================================================================
005 *
006 * Copyright (C) 2014 by Hendrik Saly (http://saly.de)
007 *
008 * Based on ideas from Kohsuke Kawaguchi's Mock-javamail (https://java.net/projects/mock-javamail)
009 *
010 ***********************************************************************************************************************
011 *
012 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
013 * the License. You may obtain a copy of the License at
014 *
015 * http://www.apache.org/licenses/LICENSE-2.0
016 *
017 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
018 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
019 * specific language governing permissions and limitations under the License.
020 *
021 ***********************************************************************************************************************
022 *
023 * $Id:$
024 *
025 **********************************************************************************************************************/
026 package de.saly.javamail.mock2;
027
028 import javax.mail.Provider;
029
030 public final class Providers {
031
032 public static Provider getIMAPProvider(final String protocol, final boolean secure, final boolean mock) {
033 if (mock) {
034 return new Provider(Provider.Type.STORE, protocol, secure ? "de.saly.javamail.mock2.IMAPSSLMockStore"
035 : "de.saly.javamail.mock2.IMAPMockStore", "JavaMail Mock2 provider", null);
036 }
037
038 return new Provider(Provider.Type.STORE, protocol, secure ? "com.sun.mail.imap.IMAPSSLStore" : "com.sun.mail.imap.IMAPStore",
039 "Oracle", null);
040
041 }
042
043 public static Provider getPOP3Provider(final String protocol, final boolean secure, final boolean mock) {
044 if (mock) {
045 return new Provider(Provider.Type.STORE, protocol, secure ? "de.saly.javamail.mock2.POP3SSLMockStore"
046 : "de.saly.javamail.mock2.POP3MockStore", "JavaMail Mock2 provider", null);
047 }
048
049 return new Provider(Provider.Type.STORE, protocol, secure ? "com.sun.mail.pop3.POP3SSLStore" : "com.sun.mail.pop3.POP3Store",
050 "Oracle", null);
051
052 }
053
054 public static Provider getSMTPProvider(final String protocol, final boolean secure, final boolean mock) {
055 if (mock) {
056 return new Provider(Provider.Type.TRANSPORT, protocol, "de.saly.javamail.mock2.MockTransport", "JavaMail Mock2 provider", null);
057 }
058
059 return new Provider(Provider.Type.TRANSPORT, protocol, secure ? "com.sun.mail.smtp.SMTPSSLTransport"
060 : "com.sun.mail.smtp.SMTPTransport", "Oracle", null);
061 }
062
063 private Providers() {
064 // empty
065 }
066
067 }