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