KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > addressbook > facade > FolderFacade


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo
13
// Stich.
14
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
15
//
16
//All Rights Reserved.
17
package org.columba.addressbook.facade;
18
19 import java.util.List JavaDoc;
20 import java.util.Vector JavaDoc;
21
22 import org.columba.addressbook.folder.AbstractFolder;
23 import org.columba.addressbook.gui.tree.AddressbookTreeModel;
24
25 /**
26  * Provides access to contact and group folders.
27  *
28  * @author fdietz
29  */

30 public class FolderFacade implements IFolderFacade {
31
32     /**
33      * @see org.columba.addressbook.facade.IFolderFacade#getFolder(int)
34      */

35     public IFolder getFolder(String JavaDoc uid) {
36         return (IFolder) AddressbookTreeModel.getInstance().getFolder(uid);
37     }
38
39     /**
40      * @see org.columba.addressbook.facade.IFolderFacade#getCollectedAddresses()
41      */

42     public IFolder getCollectedAddresses() {
43         AddressbookTreeModel model = AddressbookTreeModel.getInstance();
44         if (model != null)
45             return (AbstractFolder) model.getFolder("102");
46
47         return null;
48     }
49
50     /**
51      * @see org.columba.addressbook.facade.IFolderFacade#getLocalAddressbook()
52      */

53     public IFolder getLocalAddressbook() {
54         AddressbookTreeModel model = AddressbookTreeModel.getInstance();
55         if (model != null)
56             return (AbstractFolder) model.getFolder("101");
57
58         return null;
59     }
60
61     /**
62      * @see org.columba.addressbook.facade.IFolderFacade#getFolderByName(java.lang.String)
63      */

64     public IFolder getFolderByName(String JavaDoc name) {
65         AddressbookTreeModel model = AddressbookTreeModel.getInstance();
66         if (model != null)
67             return (AbstractFolder) model.getFolderByName(name);
68
69         return null;
70     }
71
72     /**
73      * @see org.columba.addressbook.facade.IFolderFacade#getAllFolders()
74      */

75     public List JavaDoc<IFolder> getAllFolders() {
76         AddressbookTreeModel model = AddressbookTreeModel.getInstance();
77         Vector JavaDoc<IFolder> v = new Vector JavaDoc<IFolder>();
78         
79         Object JavaDoc parent = model.getRoot();
80         
81         getChildren(model, parent, v);
82         
83         return v;
84     }
85     
86     private void getChildren(AddressbookTreeModel model, Object JavaDoc parent, Vector JavaDoc<IFolder> v) {
87         int childCount = model.getChildCount(parent);
88         for ( int i=0; i<childCount; i++) {
89             Object JavaDoc child = model.getChild(parent, i);
90             v.add((IFolder) child);
91             
92             getChildren(model, child, v);
93         }
94     }
95
96     /**
97      * @see org.columba.addressbook.facade.IFolderFacade#getRootFolder()
98      */

99     public IFolder getRootFolder() {
100         AddressbookTreeModel model = AddressbookTreeModel.getInstance();
101         return (IFolder) model.getRoot();
102     }
103 }
Popular Tags