1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.om.impl;
18
19 import java.io.Serializable;
20 import java.util.ArrayList;
21 import java.util.Collection;
22 import java.util.Locale;
23
24 import org.apache.jetspeed.om.common.MutableDescription;
25 import org.apache.jetspeed.om.common.SecurityRoleRefComposite;
26 import org.apache.jetspeed.util.HashCodeBuilder;
27 import org.apache.jetspeed.util.JetspeedLocale;
28 import org.apache.pluto.om.common.Description;
29 import org.apache.pluto.om.common.DescriptionSet;
30 import org.apache.pluto.om.common.SecurityRoleRef;
31
32 /***
33 *
34 * SecurityRoleRefImpl
35 *
36 * @author <a href="mailto:weaver@apache.org">Scott T. Weaver</a>
37 * @version $Id: SecurityRoleRefImpl.java 517124 2007-03-12 08:10:25Z ate $
38 *
39 */
40 public class SecurityRoleRefImpl implements SecurityRoleRefComposite, Serializable
41 {
42
43 protected long id;
44 protected long portletId;
45 private String link;
46 private String name;
47 private Collection descriptions;
48 private DescriptionSetImpl descCollWrapper = new DescriptionSetImpl(DescriptionImpl.TYPE_SEC_ROLE_REF);
49
50 /***
51 * @see org.apache.pluto.om.common.SecurityRoleRef#getRoleLink()
52 */
53 public String getRoleLink()
54 {
55 return link;
56 }
57
58 /***
59 * @see org.apache.pluto.om.common.SecurityRoleRef#getRoleName()
60 */
61 public String getRoleName()
62 {
63 return name;
64 }
65
66 /***
67 * @see org.apache.pluto.om.common.SecurityRoleRefCtrl#setRoleLink(java.lang.String)
68 */
69 public void setRoleLink(String value)
70 {
71 this.link = value;
72 }
73
74 /***
75 * @see org.apache.pluto.om.common.SecurityRoleRefCtrl#setRoleName(java.lang.String)
76 */
77 public void setRoleName(String name)
78 {
79 this.name = name;
80 }
81
82 /***
83 * @see java.lang.Object#equals(java.lang.Object)
84 */
85 public boolean equals(Object obj)
86 {
87 if (obj != null && obj instanceof SecurityRoleRef)
88 {
89 SecurityRoleRef aRef = (SecurityRoleRef) obj;
90
91
92
93
94
95
96
97 return getRoleName() != null && getRoleName().equals(aRef.getRoleName());
98 }
99
100 return false;
101 }
102
103 /***
104 * @see java.lang.Object#hashCode()
105 */
106 public int hashCode()
107 {
108
109 HashCodeBuilder hasher = new HashCodeBuilder(21, 81);
110 hasher.append(name);
111 return hasher.toHashCode();
112 }
113
114 /***
115 * @see org.apache.pluto.om.common.SecurityRoleRef#getDescription(java.util.Locale)
116 */
117 public Description getDescription(Locale arg0)
118 {
119 if (descriptions != null)
120 {
121 descCollWrapper.setInnerCollection(descriptions);
122 return descCollWrapper.get(arg0);
123 }
124 return null;
125 }
126
127 /***
128 * @see org.apache.jetspeed.om.common.SecurityRoleRefComposite#addDescription(org.apache.pluto.om.common.Description)
129 */
130 public void addDescription(Description description)
131 {
132 if (descriptions == null)
133 {
134 descriptions = new ArrayList();
135 }
136 descCollWrapper.setInnerCollection(descriptions);
137 descCollWrapper.addDescription(description);
138 }
139
140 /***
141 * @see org.apache.jetspeed.om.common.MutableDescriptionSet#addDescription(java.util.Locale, java.lang.String)
142 */
143 public void addDescription(Locale locale, String description)
144 {
145 SecurityRoleRefDescriptionImpl descImpl = new SecurityRoleRefDescriptionImpl();
146 descImpl.setDescription(description);
147 descImpl.setLocale(locale);
148
149 addDescription(descImpl);
150 }
151
152 /***
153 * @see org.apache.jetspeed.om.common.SecurityRoleRefComposite#setDescriptionSet(org.apache.pluto.om.common.DescriptionSet)
154 */
155 public void setDescriptionSet(DescriptionSet descriptions)
156 {
157 this.descriptions = ((DescriptionSetImpl) descriptions).getInnerCollection();
158
159 }
160
161 /***
162 * We should be using one of the more locale-specific methods.
163 *
164 *
165 * @see org.apache.pluto.om.common.SecurityRoleRefCtrl#setDescription(java.lang.String)
166 * @param arg0
167 */
168 public void setDescription(String arg0)
169 {
170 MutableDescription descObj =new SecurityRoleRefDescriptionImpl();
171
172
173 descObj.setLocale(JetspeedLocale.getDefaultLocale());
174 descObj.setDescription(arg0);
175 addDescription(descObj);
176 }
177
178 /***
179 * @see org.apache.jetspeed.om.common.SecurityRoleRefComposite#getDescriptionSet()
180 */
181 public DescriptionSet getDescriptionSet()
182 {
183 if (descriptions != null)
184 {
185 descCollWrapper.setInnerCollection(descriptions);
186 }
187 return descCollWrapper;
188 }
189 }