01: // The contents of this file are subject to the Mozilla Public License Version
02: // 1.1
03: //(the "License"); you may not use this file except in compliance with the
04: //License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
05: //
06: //Software distributed under the License is distributed on an "AS IS" basis,
07: //WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
08: //for the specific language governing rights and
09: //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.addressbook.facade;
19:
20: import java.util.List;
21:
22: /**
23: * Provides access to contact and group folders.
24: *
25: * @author fdietz
26: */
27: public interface IFolderFacade {
28:
29: /**
30: * Get a Folder object
31: *
32: * @param uid
33: * unique id of folder
34: * @return Folder selected folder
35: */
36: IFolder getFolder(String uid);
37:
38: /**
39: * Get "Collected Addresses" contact folder.
40: * <p>
41: * This is a special type of contact folder which could be used to
42: * automatically collect all most frequently used contacts. This information
43: * can later be used to prefill lists or autocomplete forms.
44: *
45: * @return Folder collected address contact store
46: */
47: IFolder getCollectedAddresses();
48:
49: /**
50: * Get "Personal Addressbook" folder.
51: *
52: * @return local addressbook folder
53: */
54: IFolder getLocalAddressbook();
55:
56: /**
57: * Get folder with <code>name</code>.
58: *
59: * @param name
60: * name of folder
61: * @return selected folder
62: */
63: IFolder getFolderByName(String name);
64:
65: /**
66: * Return iterator of <code>IFolder</code>
67: *
68: * @return iterator of <code>IFolder</code>
69: */
70: List<IFolder> getAllFolders();
71:
72: /**
73: * Return root folder. This might come in handy when traversing the whole
74: * tree structure.
75: *
76: * @return root folder
77: */
78: IFolder getRootFolder();
79: }
|