KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > folder > command > ExpungeFolderCommand


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.mail.folder.command;
19
20 import org.columba.api.command.ICommandReference;
21 import org.columba.api.command.IWorkerStatusController;
22 import org.columba.core.command.Command;
23 import org.columba.core.command.StatusObservableImpl;
24 import org.columba.core.command.Worker;
25 import org.columba.mail.command.IMailFolderCommandReference;
26 import org.columba.mail.folder.IMailbox;
27
28 /**
29  * Expunge folder.
30  * <p>
31  * Delete all messages from this folder, which are marked as expunged.
32  *
33  * @author fdietz
34  *
35  */

36 public class ExpungeFolderCommand extends Command {
37
38     /**
39      * Constructor for ExpungeFolderCommand.
40      *
41      * @param frameMediator
42      * @param reference
43      */

44     public ExpungeFolderCommand(ICommandReference reference) {
45         super(reference);
46     }
47
48     /**
49      * @see org.columba.api.command.Command#execute(Worker)
50      */

51     public void execute(IWorkerStatusController worker) throws Exception JavaDoc {
52
53         // get source references
54
IMailFolderCommandReference r = (IMailFolderCommandReference) getReference();
55
56         IMailbox srcFolder = (IMailbox) r.getSourceFolder();
57
58         // register for status events
59
((StatusObservableImpl) srcFolder.getObservable()).setWorker(worker);
60
61         // update status message
62
worker.setDisplayText("Expunging " + srcFolder.getName() + "..");
63
64         // expunge folder
65
srcFolder.expungeFolder();
66
67     }
68 }
Popular Tags