001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.messageboards.model.impl;
016    
017    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.util.GetterUtil;
020    import com.liferay.portal.kernel.util.ProxyUtil;
021    import com.liferay.portal.kernel.util.StringBundler;
022    import com.liferay.portal.model.CacheModel;
023    import com.liferay.portal.model.impl.BaseModelImpl;
024    import com.liferay.portal.service.ServiceContext;
025    import com.liferay.portal.util.PortalUtil;
026    
027    import com.liferay.portlet.expando.model.ExpandoBridge;
028    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
029    import com.liferay.portlet.messageboards.model.MBStatsUser;
030    import com.liferay.portlet.messageboards.model.MBStatsUserModel;
031    
032    import java.io.Serializable;
033    
034    import java.sql.Types;
035    
036    import java.util.Date;
037    import java.util.HashMap;
038    import java.util.Map;
039    
040    /**
041     * The base model implementation for the MBStatsUser service. Represents a row in the "MBStatsUser" database table, with each column mapped to a property of this class.
042     *
043     * <p>
044     * This implementation and its corresponding interface {@link com.liferay.portlet.messageboards.model.MBStatsUserModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link MBStatsUserImpl}.
045     * </p>
046     *
047     * @author Brian Wing Shun Chan
048     * @see MBStatsUserImpl
049     * @see com.liferay.portlet.messageboards.model.MBStatsUser
050     * @see com.liferay.portlet.messageboards.model.MBStatsUserModel
051     * @generated
052     */
053    public class MBStatsUserModelImpl extends BaseModelImpl<MBStatsUser>
054            implements MBStatsUserModel {
055            /*
056             * NOTE FOR DEVELOPERS:
057             *
058             * Never modify or reference this class directly. All methods that expect a message boards stats user model instance should use the {@link com.liferay.portlet.messageboards.model.MBStatsUser} interface instead.
059             */
060            public static final String TABLE_NAME = "MBStatsUser";
061            public static final Object[][] TABLE_COLUMNS = {
062                            { "statsUserId", Types.BIGINT },
063                            { "groupId", Types.BIGINT },
064                            { "userId", Types.BIGINT },
065                            { "messageCount", Types.INTEGER },
066                            { "lastPostDate", Types.TIMESTAMP }
067                    };
068            public static final String TABLE_SQL_CREATE = "create table MBStatsUser (statsUserId LONG not null primary key,groupId LONG,userId LONG,messageCount INTEGER,lastPostDate DATE null)";
069            public static final String TABLE_SQL_DROP = "drop table MBStatsUser";
070            public static final String ORDER_BY_JPQL = " ORDER BY mbStatsUser.messageCount DESC";
071            public static final String ORDER_BY_SQL = " ORDER BY MBStatsUser.messageCount DESC";
072            public static final String DATA_SOURCE = "liferayDataSource";
073            public static final String SESSION_FACTORY = "liferaySessionFactory";
074            public static final String TX_MANAGER = "liferayTransactionManager";
075            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
076                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBStatsUser"),
077                            true);
078            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
079                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBStatsUser"),
080                            true);
081            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
082                                    "value.object.column.bitmask.enabled.com.liferay.portlet.messageboards.model.MBStatsUser"),
083                            true);
084            public static long GROUPID_COLUMN_BITMASK = 1L;
085            public static long MESSAGECOUNT_COLUMN_BITMASK = 2L;
086            public static long USERID_COLUMN_BITMASK = 4L;
087            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
088                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBStatsUser"));
089    
090            public MBStatsUserModelImpl() {
091            }
092    
093            @Override
094            public long getPrimaryKey() {
095                    return _statsUserId;
096            }
097    
098            @Override
099            public void setPrimaryKey(long primaryKey) {
100                    setStatsUserId(primaryKey);
101            }
102    
103            @Override
104            public Serializable getPrimaryKeyObj() {
105                    return _statsUserId;
106            }
107    
108            @Override
109            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
110                    setPrimaryKey(((Long)primaryKeyObj).longValue());
111            }
112    
113            @Override
114            public Class<?> getModelClass() {
115                    return MBStatsUser.class;
116            }
117    
118            @Override
119            public String getModelClassName() {
120                    return MBStatsUser.class.getName();
121            }
122    
123            @Override
124            public Map<String, Object> getModelAttributes() {
125                    Map<String, Object> attributes = new HashMap<String, Object>();
126    
127                    attributes.put("statsUserId", getStatsUserId());
128                    attributes.put("groupId", getGroupId());
129                    attributes.put("userId", getUserId());
130                    attributes.put("messageCount", getMessageCount());
131                    attributes.put("lastPostDate", getLastPostDate());
132    
133                    return attributes;
134            }
135    
136            @Override
137            public void setModelAttributes(Map<String, Object> attributes) {
138                    Long statsUserId = (Long)attributes.get("statsUserId");
139    
140                    if (statsUserId != null) {
141                            setStatsUserId(statsUserId);
142                    }
143    
144                    Long groupId = (Long)attributes.get("groupId");
145    
146                    if (groupId != null) {
147                            setGroupId(groupId);
148                    }
149    
150                    Long userId = (Long)attributes.get("userId");
151    
152                    if (userId != null) {
153                            setUserId(userId);
154                    }
155    
156                    Integer messageCount = (Integer)attributes.get("messageCount");
157    
158                    if (messageCount != null) {
159                            setMessageCount(messageCount);
160                    }
161    
162                    Date lastPostDate = (Date)attributes.get("lastPostDate");
163    
164                    if (lastPostDate != null) {
165                            setLastPostDate(lastPostDate);
166                    }
167            }
168    
169            @Override
170            public long getStatsUserId() {
171                    return _statsUserId;
172            }
173    
174            @Override
175            public void setStatsUserId(long statsUserId) {
176                    _statsUserId = statsUserId;
177            }
178    
179            @Override
180            public String getStatsUserUuid() throws SystemException {
181                    return PortalUtil.getUserValue(getStatsUserId(), "uuid", _statsUserUuid);
182            }
183    
184            @Override
185            public void setStatsUserUuid(String statsUserUuid) {
186                    _statsUserUuid = statsUserUuid;
187            }
188    
189            @Override
190            public long getGroupId() {
191                    return _groupId;
192            }
193    
194            @Override
195            public void setGroupId(long groupId) {
196                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
197    
198                    if (!_setOriginalGroupId) {
199                            _setOriginalGroupId = true;
200    
201                            _originalGroupId = _groupId;
202                    }
203    
204                    _groupId = groupId;
205            }
206    
207            public long getOriginalGroupId() {
208                    return _originalGroupId;
209            }
210    
211            @Override
212            public long getUserId() {
213                    return _userId;
214            }
215    
216            @Override
217            public void setUserId(long userId) {
218                    _columnBitmask |= USERID_COLUMN_BITMASK;
219    
220                    if (!_setOriginalUserId) {
221                            _setOriginalUserId = true;
222    
223                            _originalUserId = _userId;
224                    }
225    
226                    _userId = userId;
227            }
228    
229            @Override
230            public String getUserUuid() throws SystemException {
231                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
232            }
233    
234            @Override
235            public void setUserUuid(String userUuid) {
236                    _userUuid = userUuid;
237            }
238    
239            public long getOriginalUserId() {
240                    return _originalUserId;
241            }
242    
243            @Override
244            public int getMessageCount() {
245                    return _messageCount;
246            }
247    
248            @Override
249            public void setMessageCount(int messageCount) {
250                    _columnBitmask = -1L;
251    
252                    if (!_setOriginalMessageCount) {
253                            _setOriginalMessageCount = true;
254    
255                            _originalMessageCount = _messageCount;
256                    }
257    
258                    _messageCount = messageCount;
259            }
260    
261            public int getOriginalMessageCount() {
262                    return _originalMessageCount;
263            }
264    
265            @Override
266            public Date getLastPostDate() {
267                    return _lastPostDate;
268            }
269    
270            @Override
271            public void setLastPostDate(Date lastPostDate) {
272                    _lastPostDate = lastPostDate;
273            }
274    
275            public long getColumnBitmask() {
276                    return _columnBitmask;
277            }
278    
279            @Override
280            public ExpandoBridge getExpandoBridge() {
281                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
282                            MBStatsUser.class.getName(), getPrimaryKey());
283            }
284    
285            @Override
286            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
287                    ExpandoBridge expandoBridge = getExpandoBridge();
288    
289                    expandoBridge.setAttributes(serviceContext);
290            }
291    
292            @Override
293            public MBStatsUser toEscapedModel() {
294                    if (_escapedModel == null) {
295                            _escapedModel = (MBStatsUser)ProxyUtil.newProxyInstance(_classLoader,
296                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
297                    }
298    
299                    return _escapedModel;
300            }
301    
302            @Override
303            public Object clone() {
304                    MBStatsUserImpl mbStatsUserImpl = new MBStatsUserImpl();
305    
306                    mbStatsUserImpl.setStatsUserId(getStatsUserId());
307                    mbStatsUserImpl.setGroupId(getGroupId());
308                    mbStatsUserImpl.setUserId(getUserId());
309                    mbStatsUserImpl.setMessageCount(getMessageCount());
310                    mbStatsUserImpl.setLastPostDate(getLastPostDate());
311    
312                    mbStatsUserImpl.resetOriginalValues();
313    
314                    return mbStatsUserImpl;
315            }
316    
317            @Override
318            public int compareTo(MBStatsUser mbStatsUser) {
319                    int value = 0;
320    
321                    if (getMessageCount() < mbStatsUser.getMessageCount()) {
322                            value = -1;
323                    }
324                    else if (getMessageCount() > mbStatsUser.getMessageCount()) {
325                            value = 1;
326                    }
327                    else {
328                            value = 0;
329                    }
330    
331                    value = value * -1;
332    
333                    if (value != 0) {
334                            return value;
335                    }
336    
337                    return 0;
338            }
339    
340            @Override
341            public boolean equals(Object obj) {
342                    if (this == obj) {
343                            return true;
344                    }
345    
346                    if (!(obj instanceof MBStatsUser)) {
347                            return false;
348                    }
349    
350                    MBStatsUser mbStatsUser = (MBStatsUser)obj;
351    
352                    long primaryKey = mbStatsUser.getPrimaryKey();
353    
354                    if (getPrimaryKey() == primaryKey) {
355                            return true;
356                    }
357                    else {
358                            return false;
359                    }
360            }
361    
362            @Override
363            public int hashCode() {
364                    return (int)getPrimaryKey();
365            }
366    
367            @Override
368            public void resetOriginalValues() {
369                    MBStatsUserModelImpl mbStatsUserModelImpl = this;
370    
371                    mbStatsUserModelImpl._originalGroupId = mbStatsUserModelImpl._groupId;
372    
373                    mbStatsUserModelImpl._setOriginalGroupId = false;
374    
375                    mbStatsUserModelImpl._originalUserId = mbStatsUserModelImpl._userId;
376    
377                    mbStatsUserModelImpl._setOriginalUserId = false;
378    
379                    mbStatsUserModelImpl._originalMessageCount = mbStatsUserModelImpl._messageCount;
380    
381                    mbStatsUserModelImpl._setOriginalMessageCount = false;
382    
383                    mbStatsUserModelImpl._columnBitmask = 0;
384            }
385    
386            @Override
387            public CacheModel<MBStatsUser> toCacheModel() {
388                    MBStatsUserCacheModel mbStatsUserCacheModel = new MBStatsUserCacheModel();
389    
390                    mbStatsUserCacheModel.statsUserId = getStatsUserId();
391    
392                    mbStatsUserCacheModel.groupId = getGroupId();
393    
394                    mbStatsUserCacheModel.userId = getUserId();
395    
396                    mbStatsUserCacheModel.messageCount = getMessageCount();
397    
398                    Date lastPostDate = getLastPostDate();
399    
400                    if (lastPostDate != null) {
401                            mbStatsUserCacheModel.lastPostDate = lastPostDate.getTime();
402                    }
403                    else {
404                            mbStatsUserCacheModel.lastPostDate = Long.MIN_VALUE;
405                    }
406    
407                    return mbStatsUserCacheModel;
408            }
409    
410            @Override
411            public String toString() {
412                    StringBundler sb = new StringBundler(11);
413    
414                    sb.append("{statsUserId=");
415                    sb.append(getStatsUserId());
416                    sb.append(", groupId=");
417                    sb.append(getGroupId());
418                    sb.append(", userId=");
419                    sb.append(getUserId());
420                    sb.append(", messageCount=");
421                    sb.append(getMessageCount());
422                    sb.append(", lastPostDate=");
423                    sb.append(getLastPostDate());
424                    sb.append("}");
425    
426                    return sb.toString();
427            }
428    
429            @Override
430            public String toXmlString() {
431                    StringBundler sb = new StringBundler(19);
432    
433                    sb.append("<model><model-name>");
434                    sb.append("com.liferay.portlet.messageboards.model.MBStatsUser");
435                    sb.append("</model-name>");
436    
437                    sb.append(
438                            "<column><column-name>statsUserId</column-name><column-value><![CDATA[");
439                    sb.append(getStatsUserId());
440                    sb.append("]]></column-value></column>");
441                    sb.append(
442                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
443                    sb.append(getGroupId());
444                    sb.append("]]></column-value></column>");
445                    sb.append(
446                            "<column><column-name>userId</column-name><column-value><![CDATA[");
447                    sb.append(getUserId());
448                    sb.append("]]></column-value></column>");
449                    sb.append(
450                            "<column><column-name>messageCount</column-name><column-value><![CDATA[");
451                    sb.append(getMessageCount());
452                    sb.append("]]></column-value></column>");
453                    sb.append(
454                            "<column><column-name>lastPostDate</column-name><column-value><![CDATA[");
455                    sb.append(getLastPostDate());
456                    sb.append("]]></column-value></column>");
457    
458                    sb.append("</model>");
459    
460                    return sb.toString();
461            }
462    
463            private static ClassLoader _classLoader = MBStatsUser.class.getClassLoader();
464            private static Class<?>[] _escapedModelInterfaces = new Class[] {
465                            MBStatsUser.class
466                    };
467            private long _statsUserId;
468            private String _statsUserUuid;
469            private long _groupId;
470            private long _originalGroupId;
471            private boolean _setOriginalGroupId;
472            private long _userId;
473            private String _userUuid;
474            private long _originalUserId;
475            private boolean _setOriginalUserId;
476            private int _messageCount;
477            private int _originalMessageCount;
478            private boolean _setOriginalMessageCount;
479            private Date _lastPostDate;
480            private long _columnBitmask;
481            private MBStatsUser _escapedModel;
482    }