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