View Javadoc

1   /*
2    * Wallace IMAP Server
3    * Copyright (C) 2004  Robert Newson
4    *
5    * This program is free software; you can redistribute it and/or
6    * modify it under the terms of the GNU General Public License
7    * as published by the Free Software Foundation; either version 2
8    * of the License, or (at your option) any later version.
9    *
10   * This program is distributed in the hope that it will be useful,
11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   * GNU General Public License for more details.
14   *
15   * You should have received a copy of the GNU General Public License
16   * along with this program; if not, write to the Free Software
17   * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18   */
19  package net.sf.wallace.mina;
20  
21  import net.sf.wallace.WallaceServerConfig;
22  
23  import org.apache.mina.protocol.ProtocolCodecFactory;
24  import org.apache.mina.protocol.ProtocolHandler;
25  import org.apache.mina.protocol.ProtocolProvider;
26  
27  /***
28   * IMAP4 protocol provider.
29   * 
30   * This is the main Mina integration class.
31   * 
32   * @author rnewson
33   */
34  public final class IMAP4ProtocolProvider implements ProtocolProvider {
35  
36      private final IMAP4ProtocolCodecFactory codecFactory = new IMAP4ProtocolCodecFactory();
37  
38      private final IMAP4ProtocolHandler handler = new IMAP4ProtocolHandler(this);
39  
40      private WallaceServerConfig wallaceServerConfig;
41  
42      public void setWallaceServerConfig(final WallaceServerConfig newWallaceServerConfig) {
43          wallaceServerConfig = newWallaceServerConfig;
44      }
45  
46      protected WallaceServerConfig getWallaceServerConfig() {
47          return wallaceServerConfig;
48      }
49  
50      public ProtocolCodecFactory getCodecFactory() {
51          return codecFactory;
52      }
53  
54      public ProtocolHandler getHandler() {
55          return handler;
56      }
57  
58  }