KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > addressbook > model > GroupModel


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.addressbook.model;
19
20 import org.columba.core.xml.XmlElement;
21
22 /**
23  * @author fdietz
24  *
25  */

26 public class GroupModel implements IGroupModel {
27
28     private XmlElement root;
29     private String JavaDoc folderUid;
30     
31     public GroupModel(XmlElement group, String JavaDoc folderUid) {
32         this.root = group;
33         this.folderUid = folderUid;
34
35     }
36
37     public GroupModel() {
38
39         root = new XmlElement("group");
40
41         XmlElement members = root.getElement("members");
42         if (members == null) {
43             members = new XmlElement("members");
44             root.addElement(members);
45         }
46     }
47
48     public XmlElement getRootElement() {
49         return root;
50     }
51
52     public void setName(String JavaDoc name) {
53         root.addAttribute("name", name);
54
55     }
56
57     public String JavaDoc getName() {
58         return root.getAttribute("name");
59     }
60
61     public void setDescription(String JavaDoc description) {
62         root.addAttribute("description", description);
63     }
64
65     public String JavaDoc getDescription() {
66         return root.getAttribute("description");
67     }
68
69     public void addMember(Object JavaDoc uid) {
70
71         XmlElement members = root.getElement("members");
72
73         XmlElement m = new XmlElement("member");
74         m.addAttribute("uid", uid.toString());
75
76         members.addElement(m);
77     }
78
79     public int count() {
80         XmlElement members = root.getElement("members");
81
82         return members.count();
83     }
84
85     public boolean exists(Object JavaDoc uid) {
86         if (getMember(uid) != null)
87             return true;
88
89         return false;
90     }
91
92     protected XmlElement getMember(Object JavaDoc uid) {
93         XmlElement members = root.getElement("members");
94
95         for (int i = 0; i < members.count(); i++) {
96             XmlElement m = members.getElement(i);
97             Integer JavaDoc str = new Integer JavaDoc(m.getAttribute("uid"));
98             if ( str.equals(uid) )
99                 return m;
100         }
101
102         return null;
103     }
104
105     public String JavaDoc[] getMembers() {
106         XmlElement members = root.getElement("members");
107
108         String JavaDoc[] result = new String JavaDoc[members.count()];
109         for (int i = 0; i < members.count(); i++) {
110             XmlElement m = members.getElement(i);
111             String JavaDoc uid = m.getAttribute("uid");
112             result[i] = uid;
113         }
114
115         return result;
116     }
117
118     public void remove(Object JavaDoc uid) {
119         XmlElement m = getMember(uid);
120
121         m.removeFromParent();
122     }
123
124     public void removeAllMembers() {
125         XmlElement members = root.getElement("members");
126         members.removeAllElements();
127     }
128
129     /**
130      * @return Returns the folderUid.
131      */

132     public String JavaDoc getFolderUid() {
133         return folderUid;
134     }
135     /**
136      * @param folderUid The folderUid to set.
137      */

138     public void setFolderUid(String JavaDoc folderUid) {
139         this.folderUid = folderUid;
140     }
141 }
Popular Tags