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