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