KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > communicator > admin > model > AccountElement


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 JavaDoc 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 JavaDoc[] 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 JavaDoc getName()
82     {
83         return name;
84     }
85     
86     public void setName(String JavaDoc name)
87     {
88         this.name = name;
89     }
90     
91     public String JavaDoc getDomain()
92     {
93         return domain;
94     }
95     
96     public void setDomain(String JavaDoc 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 JavaDoc getAdditionalInfo()
112     {
113         return additionalInfo;
114     }
115     
116     public void setAdditionalInfo(String JavaDoc info)
117     {
118         additionalInfo = info;
119     }
120     
121     public boolean addFeature(String JavaDoc featurename)
122     {
123         return featureList.add(new String JavaDoc(featurename));
124     }
125     
126     public boolean removeFeature(String JavaDoc featurename)
127     {
128         return featureList.remove(featurename);
129     }
130     
131     public boolean hasFeature(String JavaDoc featurename)
132     {
133         return featureList.contains(featurename);
134     }
135     
136     public int numFeatures()
137     {
138         return featureList.size();
139     }
140     
141     public String JavaDoc[] getFeatureList()
142     {
143         // returns an array of 0 or more elements
144

145         String JavaDoc [] list = new String JavaDoc[featureList.size()];
146         int count = 0;
147         for (Iterator i = featureList.iterator();
148         i.hasNext(); count++)
149         {
150             list[count] = new String JavaDoc((String JavaDoc) i.next());
151         }
152         
153         return list;
154     }
155     
156     public void stringToFeatureList(String JavaDoc 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 JavaDoc 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 JavaDoc featureListToString()
180     {
181         StringBuffer JavaDoc strbuf = new StringBuffer JavaDoc();
182         int count = 0;
183         for (Iterator i = featureList.iterator();
184         i.hasNext(); count++)
185         {
186             strbuf.append((String JavaDoc) i.next());
187             if (count < (featureList.size() - 1))
188             {
189                 strbuf.append(',');
190             }
191         }
192         
193         return strbuf.toString();
194     }
195     
196     /** Getter for property password.
197      * @return Value of property password.
198      *
199      */

200     public java.lang.String JavaDoc getPassword()
201     {
202         return password;
203     }
204     
205     /** Setter for property password.
206      * @param password New value of property password.
207      *
208      */

209     public void setPassword(java.lang.String JavaDoc password)
210     {
211         this.password = password;
212     }
213     
214     private String JavaDoc name;
215     private String JavaDoc password;
216     private String JavaDoc domain;
217     private int level = 0;
218     private String JavaDoc additionalInfo;
219     private HashSet featureList = new HashSet();
220     
221 }
222
223
Popular Tags