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