1 package com.quikj.application.communicator.admin.model; 2 3 import java.util.*; 4 5 import com.quikj.server.framework.*; 6 7 public class AccountElement 8 { 9 public static final int LEVEL_SUPERUSER = 1; 10 public static final int LEVEL_ADMIN = 2; 11 public static final int LEVEL_CUSTOMER = 3; 12 13 14 public AccountElement() 15 { 16 } 17 18 public boolean isSuperUser() 19 { 20 return (level == LEVEL_SUPERUSER); 21 } 22 23 public boolean isAdminLevel() 24 { 25 if (level == LEVEL_ADMIN) 26 { 27 return true; 28 } 29 30 if (level == LEVEL_SUPERUSER) 31 { 32 return true; 33 } 34 35 return false; 36 } 37 38 public boolean isCustomerLevel() 39 { 40 return (level == LEVEL_CUSTOMER); 41 } 42 43 public boolean superUser() 44 { 45 return isSuperUser(); 46 } 47 48 public boolean canAdminFeature(String feature_name) 49 { 50 if (!isAdminLevel()) 51 { 52 return false; 53 } 54 55 if (hasFeature(feature_name) == true) 56 { 57 return true; 58 } 59 60 return false; 61 } 62 63 public boolean canAdminFeatures(String [] features) 64 { 65 if (!isAdminLevel()) 66 { 67 return false; 68 } 69 70 for (int i = 0; i < features.length; i++) 71 { 72 if (hasFeature(features[i]) == false) 73 { 74 return false; 75 } 76 } 77 78 return true; 79 } 80 81 public String getName() 82 { 83 return name; 84 } 85 86 public void setName(String name) 87 { 88 this.name = name; 89 } 90 91 public String getDomain() 92 { 93 return domain; 94 } 95 96 public void setDomain(String domain) 97 { 98 this.domain = domain; 99 } 100 101 public int getLevel() 102 { 103 return level; 104 } 105 106 public void setLevel(int level) 107 { 108 this.level = level; 109 } 110 111 public String getAdditionalInfo() 112 { 113 return additionalInfo; 114 } 115 116 public void setAdditionalInfo(String info) 117 { 118 additionalInfo = info; 119 } 120 121 public boolean addFeature(String featurename) 122 { 123 return featureList.add(new String (featurename)); 124 } 125 126 public boolean removeFeature(String featurename) 127 { 128 return featureList.remove(featurename); 129 } 130 131 public boolean hasFeature(String featurename) 132 { 133 return featureList.contains(featurename); 134 } 135 136 public int numFeatures() 137 { 138 return featureList.size(); 139 } 140 141 public String [] getFeatureList() 142 { 143 145 String [] list = new String [featureList.size()]; 146 int count = 0; 147 for (Iterator i = featureList.iterator(); 148 i.hasNext(); count++) 149 { 150 list[count] = new String ((String ) i.next()); 151 } 152 153 return list; 154 } 155 156 public void stringToFeatureList(String feature_list_string) 157 { 158 if (feature_list_string.length() > 0) 159 { 160 StringTokenizer strtok = new StringTokenizer(feature_list_string, ","); 161 int num_tokens = strtok.countTokens(); 162 for (int i = 0; i < num_tokens; i++) 163 { 164 String feature = strtok.nextToken(); 165 if (addFeature(feature) == false) 166 { 167 AceLogger.Instance().log(AceLogger.ERROR, 168 AceLogger.SYSTEM_LOG, 169 name 170 + "- AccountElement.stringToFeatureList() -- Couldn't add feature " 171 + feature 172 + ", probably duplicate error. Feature list string = " 173 + feature_list_string); 174 } 175 } 176 } 177 } 178 179 public String featureListToString() 180 { 181 StringBuffer strbuf = new StringBuffer (); 182 int count = 0; 183 for (Iterator i = featureList.iterator(); 184 i.hasNext(); count++) 185 { 186 strbuf.append((String ) i.next()); 187 if (count < (featureList.size() - 1)) 188 { 189 strbuf.append(','); 190 } 191 } 192 193 return strbuf.toString(); 194 } 195 196 200 public java.lang.String getPassword() 201 { 202 return password; 203 } 204 205 209 public void setPassword(java.lang.String password) 210 { 211 this.password = password; 212 } 213 214 private String name; 215 private String password; 216 private String domain; 217 private int level = 0; 218 private String additionalInfo; 219 private HashSet featureList = new HashSet(); 220 221 } 222 223 | Popular Tags |