01: //The contents of this file are subject to the Mozilla Public License Version 1.1
02: //(the "License"); you may not use this file except in compliance with the
03: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
04: //
05: //Software distributed under the License is distributed on an "AS IS" basis,
06: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
07: //for the specific language governing rights and
08: //limitations under the License.
09: //
10: //The Original Code is "The Columba Project"
11: //
12: //The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13: //Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14: //
15: //All Rights Reserved.
16: package org.columba.addressbook.shutdown;
17:
18: import org.columba.addressbook.folder.AddressbookFolder;
19: import org.columba.addressbook.folder.AddressbookTreeNode;
20: import org.columba.addressbook.gui.tree.AddressbookTreeModel;
21:
22: /**
23: * @author freddy
24: *
25: * To change this generated comment edit the template variable "typecomment":
26: * Window>Preferences>Java>Templates.
27: * To enable and disable the creation of type comments go to
28: * Window>Preferences>Java>Code Generation.
29: */
30: public class SaveAllAddressbooksPlugin implements Runnable {
31: /**
32: * Constructor for SaveAllFoldersPlugin.
33: */
34: public SaveAllAddressbooksPlugin() {
35: super ();
36: }
37:
38: /**
39: * @see org.columba.api.shutdown.ShutdownPlugin#run()
40: */
41: public void run() {
42: saveFolders((AddressbookTreeNode) AddressbookTreeModel
43: .getInstance().getRoot());
44: }
45:
46: public void saveFolders(AddressbookTreeNode folder) {
47: for (int i = 0; i < folder.getChildCount(); i++) {
48: AddressbookTreeNode child = (AddressbookTreeNode) folder
49: .getChildAt(i);
50:
51: if (child instanceof AddressbookFolder) {
52: try {
53: ((AddressbookFolder) child).save();
54: } catch (Exception ex) {
55: ex.printStackTrace();
56: }
57: }
58:
59: saveFolders(child);
60: }
61: }
62: }
|