View Javadoc

1   /****************************************************************
2    * Licensed to the Apache Software Foundation (ASF) under one   *
3    * or more contributor license agreements.  See the NOTICE file *
4    * distributed with this work for additional information        *
5    * regarding copyright ownership.  The ASF licenses this file   *
6    * to you under the Apache License, Version 2.0 (the            *
7    * "License"); you may not use this file except in compliance   *
8    * with the License.  You may obtain a copy of the License at   *
9    *                                                              *
10   *   http://www.apache.org/licenses/LICENSE-2.0                 *
11   *                                                              *
12   * Unless required by applicable law or agreed to in writing,   *
13   * software distributed under the License is distributed on an  *
14   * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
15   * KIND, either express or implied.  See the License for the    *
16   * specific language governing permissions and limitations      *
17   * under the License.                                           *
18   ****************************************************************/
19  
20  package org.apache.james.mailrepository.javamail;
21  
22  import javax.mail.Flags;
23  import javax.mail.Folder;
24  import javax.mail.Message;
25  import javax.mail.MessagingException;
26  
27  /**
28   * Interface to javax.mail.Folder functionality to be able to replace 
29   * implementation or using Mocks when testing 
30   */
31  
32  public interface FolderInterface {
33  
34      /**
35       * @see javax.mail.Folder#getMessages()
36       */
37      public Message[] getMessages() throws MessagingException;
38  
39      /**
40       * @see javax.mail.Folder#getMessage(int)
41       */
42      public Message getMessage(int no) throws MessagingException;
43  
44      /**
45       * @see javax.mail.Folder#getMessageCount()
46       */
47      public int getMessageCount() throws MessagingException;
48  
49      /**
50       * @see javax.mail.Folder#appendMessages(Message[])
51       */
52      public void appendMessages(Message[] messages) throws MessagingException;
53  
54      /**
55       * @see javax.mail.Folder#isOpen()
56       */
57      public boolean isOpen();
58  
59      /**
60       * @see javax.mail.Folder#open(int)
61       */
62      public void open(int status) throws MessagingException;
63  
64      /**
65       * @see javax.mail.Folder#close(boolean)
66       */
67      public void close(boolean b) throws MessagingException;
68  
69      /**
70       * @see javax.mail.Folder#exists()
71       */
72      public boolean exists() throws MessagingException;
73  
74      /**
75       * @see javax.mail.Folder#create(int)
76       */
77      public boolean create(int holds_messages) throws MessagingException;
78  
79      /**
80       * @see javax.mail.Folder#getType()
81       */
82      public int getType() throws MessagingException;
83  
84      /**
85       * @see javax.mail.Folder#getFullName()
86       */
87      public String getFullName();
88  
89      /**
90       * @see javax.mail.Folder#expunge()
91       */
92      public Message[] expunge() throws MessagingException;
93  
94      /**
95       * @see javax.mail.Folder#getUnreadMessageCount()
96       */
97      public int getUnreadMessageCount() throws MessagingException;
98  
99      /**
100      * @see javax.mail.Folder#getNewMessageCount()
101      */
102     public int getNewMessageCount() throws MessagingException;
103 
104     /**
105      * @see javax.mail.Folder#getPermanentFlags()
106      */
107     public Flags getPermanentFlags();
108 
109     /**
110      * @see javax.mail.Folder#getName()
111      */
112     public String getName();
113 
114     /**
115      * @see javax.mail.Folder#list(String)
116      */
117     public FolderInterface[] list(String string) throws MessagingException;
118     
119     /**
120      * @see javax.mail.Folder#delete(boolean)
121      */
122     public boolean delete(boolean recurse) throws MessagingException;
123 
124     /**
125      * @see javax.mail.Folder#renameTo(Folder)
126      */
127     public boolean renameTo(Folder destination) throws MessagingException;;
128 
129 }