1
22
23 package com.liferay.portlet.expando.model.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.kernel.util.GetterUtil;
28 import com.liferay.portal.kernel.util.StringUtil;
29 import com.liferay.portlet.expando.ValueDataException;
30 import com.liferay.portlet.expando.model.ExpandoColumn;
31 import com.liferay.portlet.expando.model.ExpandoColumnConstants;
32 import com.liferay.portlet.expando.model.ExpandoValue;
33 import com.liferay.portlet.expando.service.ExpandoColumnLocalServiceUtil;
34
35 import java.util.Date;
36
37
44 public class ExpandoValueImpl
45 extends ExpandoValueModelImpl implements ExpandoValue {
46
47 public ExpandoValueImpl() {
48 }
49
50 public boolean getBoolean() throws PortalException, SystemException {
51 validate(ExpandoColumnConstants.BOOLEAN);
52
53 return GetterUtil.getBoolean(getData());
54 }
55
56 public boolean[] getBooleanArray() throws PortalException, SystemException {
57 validate(ExpandoColumnConstants.BOOLEAN_ARRAY);
58
59 return GetterUtil.getBooleanValues(StringUtil.split(getData()));
60 }
61
62 public Date getDate() throws PortalException, SystemException {
63 validate(ExpandoColumnConstants.DATE);
64
65 return new Date(GetterUtil.getLong(getData()));
66 }
67
68 public Date[] getDateArray() throws PortalException, SystemException {
69 validate(ExpandoColumnConstants.DATE_ARRAY);
70
71 String[] data = StringUtil.split(getData());
72
73 Date[] dateArray = new Date[data.length];
74
75 for (int i = 0; i < data.length; i++) {
76 dateArray[i] = new Date(GetterUtil.getLong(data[i]));
77 }
78
79 return dateArray;
80 }
81
82 public double getDouble() throws PortalException, SystemException {
83 validate(ExpandoColumnConstants.DOUBLE);
84
85 return GetterUtil.getDouble(getData());
86 }
87
88 public double[] getDoubleArray() throws PortalException, SystemException {
89 validate(ExpandoColumnConstants.DOUBLE_ARRAY);
90
91 return GetterUtil.getDoubleValues(StringUtil.split(getData()));
92 }
93
94 public float getFloat() throws PortalException, SystemException {
95 validate(ExpandoColumnConstants.FLOAT);
96
97 return GetterUtil.getFloat(getData());
98 }
99
100 public float[] getFloatArray() throws PortalException, SystemException {
101 validate(ExpandoColumnConstants.FLOAT_ARRAY);
102
103 return GetterUtil.getFloatValues(StringUtil.split(getData()));
104 }
105
106 public int getInteger() throws PortalException, SystemException {
107 validate(ExpandoColumnConstants.INTEGER);
108
109 return GetterUtil.getInteger(getData());
110 }
111
112 public int[] getIntegerArray() throws PortalException, SystemException {
113 validate(ExpandoColumnConstants.INTEGER_ARRAY);
114
115 return GetterUtil.getIntegerValues(StringUtil.split(getData()));
116 }
117
118 public long getLong() throws PortalException, SystemException {
119 validate(ExpandoColumnConstants.LONG);
120
121 return GetterUtil.getLong(getData());
122 }
123
124 public long[] getLongArray() throws PortalException, SystemException {
125 validate(ExpandoColumnConstants.LONG_ARRAY);
126
127 return GetterUtil.getLongValues(StringUtil.split(getData()));
128 }
129
130 public short getShort() throws PortalException, SystemException {
131 validate(ExpandoColumnConstants.SHORT);
132
133 return GetterUtil.getShort(getData());
134 }
135
136 public short[] getShortArray() throws PortalException, SystemException {
137 validate(ExpandoColumnConstants.SHORT_ARRAY);
138
139 return GetterUtil.getShortValues(StringUtil.split(getData()));
140 }
141
142 public String getString() throws PortalException, SystemException {
143 validate(ExpandoColumnConstants.STRING);
144
145 return getData();
146 }
147
148 public String[] getStringArray() throws PortalException, SystemException {
149 validate(ExpandoColumnConstants.STRING_ARRAY);
150
151 return StringUtil.split(getData());
152 }
153
154 public void setBoolean(boolean data)
155 throws PortalException, SystemException {
156
157 validate(ExpandoColumnConstants.BOOLEAN);
158
159 setData(String.valueOf(data));
160 }
161
162 public void setBooleanArray(boolean[] data)
163 throws PortalException, SystemException {
164
165 validate(ExpandoColumnConstants.BOOLEAN_ARRAY);
166
167 setData(StringUtil.merge(data));
168 }
169
170 public void setDate(Date data) throws PortalException, SystemException {
171 validate(ExpandoColumnConstants.DATE);
172
173 setData(String.valueOf(data.getTime()));
174 }
175
176 public void setDateArray(Date[] data)
177 throws PortalException, SystemException {
178
179 validate(ExpandoColumnConstants.DATE_ARRAY);
180
181 setData(StringUtil.merge(data));
182 }
183
184 public void setDouble(double data) throws PortalException, SystemException {
185 validate(ExpandoColumnConstants.DOUBLE);
186
187 setData(String.valueOf(data));
188 }
189
190 public void setDoubleArray(double[] data)
191 throws PortalException, SystemException {
192
193 validate(ExpandoColumnConstants.DOUBLE_ARRAY);
194
195 setData(StringUtil.merge(data));
196 }
197
198 public void setFloat(float data) throws PortalException, SystemException {
199 validate(ExpandoColumnConstants.FLOAT);
200
201 setData(String.valueOf(data));
202 }
203
204 public void setFloatArray(float[] data)
205 throws PortalException, SystemException {
206
207 validate(ExpandoColumnConstants.FLOAT_ARRAY);
208
209 setData(StringUtil.merge(data));
210 }
211
212 public void setInteger(int data) throws PortalException, SystemException {
213 validate(ExpandoColumnConstants.INTEGER);
214
215 setData(String.valueOf(data));
216 }
217
218 public void setIntegerArray(int[] data)
219 throws PortalException, SystemException {
220
221 validate(ExpandoColumnConstants.INTEGER_ARRAY);
222
223 setData(StringUtil.merge(data));
224 }
225
226 public void setLong(long data) throws PortalException, SystemException {
227 validate(ExpandoColumnConstants.LONG);
228
229 setData(String.valueOf(data));
230 }
231
232 public void setLongArray(long[] data)
233 throws PortalException, SystemException {
234
235 validate(ExpandoColumnConstants.LONG_ARRAY);
236
237 setData(StringUtil.merge(data));
238 }
239
240 public void setShort(short data) throws PortalException, SystemException {
241 validate(ExpandoColumnConstants.SHORT);
242
243 setData(String.valueOf(data));
244 }
245
246 public void setShortArray(short[] data)
247 throws PortalException, SystemException {
248
249 validate(ExpandoColumnConstants.SHORT_ARRAY);
250
251 setData(StringUtil.merge(data));
252 }
253
254 public void setString(String data) throws PortalException, SystemException {
255 validate(ExpandoColumnConstants.STRING);
256
257 setData(data);
258 }
259
260 public void setStringArray(String[] data)
261 throws PortalException, SystemException {
262
263 validate(ExpandoColumnConstants.STRING_ARRAY);
264
265 setData(StringUtil.merge(data));
266 }
267
268 protected void validate(int type) throws PortalException, SystemException {
269 ExpandoColumn column = ExpandoColumnLocalServiceUtil.getColumn(
270 getColumnId());
271
272 if (column.getType() != type) {
273 throw new ValueDataException(
274 "Column " + getColumnId() + " has type " +
275 ExpandoColumnConstants.getTypeLabel(column.getType()) +
276 " and is not compatible with type " +
277 ExpandoColumnConstants.getTypeLabel(type));
278 }
279 }
280
281 }