1 package org.columba.addressbook.model; 19 20 import org.columba.core.xml.XmlElement; 21 22 26 public class GroupModel implements IGroupModel { 27 28 private XmlElement root; 29 private String folderUid; 30 31 public GroupModel(XmlElement group, String 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 name) { 53 root.addAttribute("name", name); 54 55 } 56 57 public String getName() { 58 return root.getAttribute("name"); 59 } 60 61 public void setDescription(String description) { 62 root.addAttribute("description", description); 63 } 64 65 public String getDescription() { 66 return root.getAttribute("description"); 67 } 68 69 public void addMember(Object 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 uid) { 86 if (getMember(uid) != null) 87 return true; 88 89 return false; 90 } 91 92 protected XmlElement getMember(Object 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 str = new Integer (m.getAttribute("uid")); 98 if ( str.equals(uid) ) 99 return m; 100 } 101 102 return null; 103 } 104 105 public String [] getMembers() { 106 XmlElement members = root.getElement("members"); 107 108 String [] result = new String [members.count()]; 109 for (int i = 0; i < members.count(); i++) { 110 XmlElement m = members.getElement(i); 111 String uid = m.getAttribute("uid"); 112 result[i] = uid; 113 } 114 115 return result; 116 } 117 118 public void remove(Object 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 132 public String getFolderUid() { 133 return folderUid; 134 } 135 138 public void setFolderUid(String folderUid) { 139 this.folderUid = folderUid; 140 } 141 }
| Popular Tags
|