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