1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.om.page.impl;
18
19 import java.util.Iterator;
20 import java.util.List;
21
22 import org.apache.jetspeed.om.preference.FragmentPreference;
23 import org.apache.jetspeed.page.impl.DatabasePageManagerUtils;
24 import org.apache.pluto.om.common.Preference;
25 import org.apache.pluto.om.common.PreferenceCtrl;
26
27 /***
28 * FragmentPreferenceImpl
29 *
30 * @author <a href="mailto:rwatler@apache.org">Randy Watler</a>
31 * @version $Id$
32 */
33 public class FragmentPreferenceImpl implements Preference, PreferenceCtrl, FragmentPreference
34 {
35 private int id;
36 private String name;
37 private boolean readOnly;
38 private List values;
39
40 private FragmentPreferenceValueList preferenceValues;
41
42 /***
43 * accessValues
44 *
45 * Access mutable persistent collection member for List wrappers.
46 *
47 * @return persistent collection
48 */
49 List accessValues()
50 {
51
52 if (values == null)
53 {
54 values = DatabasePageManagerUtils.createList();
55 }
56 return values;
57 }
58
59
60
61
62
63 public String getName()
64 {
65 return name;
66 }
67
68
69
70
71
72 public void setName(String name)
73 {
74 this.name = name;
75 }
76
77
78
79
80
81 public boolean isReadOnly()
82 {
83 return readOnly;
84 }
85
86
87
88
89 public void setReadOnly(boolean readOnly)
90 {
91 this.readOnly = readOnly;
92 }
93
94
95
96
97 public List getValueList()
98 {
99
100
101 if (preferenceValues == null)
102 {
103 preferenceValues = new FragmentPreferenceValueList(this);
104 }
105 return preferenceValues;
106 }
107
108
109
110
111 public void setValueList(List values)
112 {
113
114
115
116 List preferenceValues = getValueList();
117 if (values != preferenceValues)
118 {
119
120 preferenceValues.clear();
121 if (values != null)
122 {
123 preferenceValues.addAll(values);
124 }
125 }
126 }
127
128
129
130
131 public Iterator getValues()
132 {
133 return getValueList().iterator();
134 }
135
136
137
138
139 public boolean isValueSet()
140 {
141 return !getValueList().isEmpty();
142 }
143
144
145
146
147 public void setValues(List values)
148 {
149 setValueList(values);
150 }
151
152
153
154
155 public void setReadOnly(String readOnly)
156 {
157 setReadOnly(new Boolean(readOnly).booleanValue());
158 }
159
160
161
162
163 public boolean equals(Object o)
164 {
165 if (o instanceof FragmentPreferenceImpl)
166 {
167 if (name != null)
168 {
169 return name.equals(((FragmentPreferenceImpl)o).getName());
170 }
171 return (((FragmentPreferenceImpl)o).getName() == null);
172 }
173 return false;
174 }
175
176
177
178
179 public int hashCode()
180 {
181 if (name != null)
182 {
183 return name.hashCode();
184 }
185 return 0;
186 }
187 }