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.kernel.util.StringPool;
023    import com.liferay.portal.kernel.util.Validator;
024    import com.liferay.portal.model.CacheModel;
025    import com.liferay.portal.model.impl.BaseModelImpl;
026    import com.liferay.portal.service.ServiceContext;
027    import com.liferay.portal.util.PortalUtil;
028    
029    import com.liferay.portlet.expando.model.ExpandoBridge;
030    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
031    import com.liferay.portlet.messageboards.model.MBDiscussion;
032    import com.liferay.portlet.messageboards.model.MBDiscussionModel;
033    
034    import java.io.Serializable;
035    
036    import java.sql.Types;
037    
038    import java.util.Date;
039    import java.util.HashMap;
040    import java.util.Map;
041    
042    /**
043     * The base model implementation for the MBDiscussion service. Represents a row in the "MBDiscussion" database table, with each column mapped to a property of this class.
044     *
045     * <p>
046     * This implementation and its corresponding interface {@link com.liferay.portlet.messageboards.model.MBDiscussionModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link MBDiscussionImpl}.
047     * </p>
048     *
049     * @author Brian Wing Shun Chan
050     * @see MBDiscussionImpl
051     * @see com.liferay.portlet.messageboards.model.MBDiscussion
052     * @see com.liferay.portlet.messageboards.model.MBDiscussionModel
053     * @generated
054     */
055    public class MBDiscussionModelImpl extends BaseModelImpl<MBDiscussion>
056            implements MBDiscussionModel {
057            /*
058             * NOTE FOR DEVELOPERS:
059             *
060             * Never modify or reference this class directly. All methods that expect a message boards discussion model instance should use the {@link com.liferay.portlet.messageboards.model.MBDiscussion} interface instead.
061             */
062            public static final String TABLE_NAME = "MBDiscussion";
063            public static final Object[][] TABLE_COLUMNS = {
064                            { "uuid_", Types.VARCHAR },
065                            { "discussionId", Types.BIGINT },
066                            { "groupId", Types.BIGINT },
067                            { "companyId", Types.BIGINT },
068                            { "userId", Types.BIGINT },
069                            { "userName", Types.VARCHAR },
070                            { "createDate", Types.TIMESTAMP },
071                            { "modifiedDate", Types.TIMESTAMP },
072                            { "classNameId", Types.BIGINT },
073                            { "classPK", Types.BIGINT },
074                            { "threadId", Types.BIGINT }
075                    };
076            public static final String TABLE_SQL_CREATE = "create table MBDiscussion (uuid_ VARCHAR(75) null,discussionId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,classNameId LONG,classPK LONG,threadId LONG)";
077            public static final String TABLE_SQL_DROP = "drop table MBDiscussion";
078            public static final String ORDER_BY_JPQL = " ORDER BY mbDiscussion.discussionId ASC";
079            public static final String ORDER_BY_SQL = " ORDER BY MBDiscussion.discussionId ASC";
080            public static final String DATA_SOURCE = "liferayDataSource";
081            public static final String SESSION_FACTORY = "liferaySessionFactory";
082            public static final String TX_MANAGER = "liferayTransactionManager";
083            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
084                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
085                            true);
086            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
087                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
088                            true);
089            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
090                                    "value.object.column.bitmask.enabled.com.liferay.portlet.messageboards.model.MBDiscussion"),
091                            true);
092            public static long CLASSNAMEID_COLUMN_BITMASK = 1L;
093            public static long CLASSPK_COLUMN_BITMASK = 2L;
094            public static long COMPANYID_COLUMN_BITMASK = 4L;
095            public static long GROUPID_COLUMN_BITMASK = 8L;
096            public static long THREADID_COLUMN_BITMASK = 16L;
097            public static long UUID_COLUMN_BITMASK = 32L;
098            public static long DISCUSSIONID_COLUMN_BITMASK = 64L;
099            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
100                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBDiscussion"));
101    
102            public MBDiscussionModelImpl() {
103            }
104    
105            public long getPrimaryKey() {
106                    return _discussionId;
107            }
108    
109            public void setPrimaryKey(long primaryKey) {
110                    setDiscussionId(primaryKey);
111            }
112    
113            public Serializable getPrimaryKeyObj() {
114                    return _discussionId;
115            }
116    
117            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
118                    setPrimaryKey(((Long)primaryKeyObj).longValue());
119            }
120    
121            public Class<?> getModelClass() {
122                    return MBDiscussion.class;
123            }
124    
125            public String getModelClassName() {
126                    return MBDiscussion.class.getName();
127            }
128    
129            @Override
130            public Map<String, Object> getModelAttributes() {
131                    Map<String, Object> attributes = new HashMap<String, Object>();
132    
133                    attributes.put("uuid", getUuid());
134                    attributes.put("discussionId", getDiscussionId());
135                    attributes.put("groupId", getGroupId());
136                    attributes.put("companyId", getCompanyId());
137                    attributes.put("userId", getUserId());
138                    attributes.put("userName", getUserName());
139                    attributes.put("createDate", getCreateDate());
140                    attributes.put("modifiedDate", getModifiedDate());
141                    attributes.put("classNameId", getClassNameId());
142                    attributes.put("classPK", getClassPK());
143                    attributes.put("threadId", getThreadId());
144    
145                    return attributes;
146            }
147    
148            @Override
149            public void setModelAttributes(Map<String, Object> attributes) {
150                    String uuid = (String)attributes.get("uuid");
151    
152                    if (uuid != null) {
153                            setUuid(uuid);
154                    }
155    
156                    Long discussionId = (Long)attributes.get("discussionId");
157    
158                    if (discussionId != null) {
159                            setDiscussionId(discussionId);
160                    }
161    
162                    Long groupId = (Long)attributes.get("groupId");
163    
164                    if (groupId != null) {
165                            setGroupId(groupId);
166                    }
167    
168                    Long companyId = (Long)attributes.get("companyId");
169    
170                    if (companyId != null) {
171                            setCompanyId(companyId);
172                    }
173    
174                    Long userId = (Long)attributes.get("userId");
175    
176                    if (userId != null) {
177                            setUserId(userId);
178                    }
179    
180                    String userName = (String)attributes.get("userName");
181    
182                    if (userName != null) {
183                            setUserName(userName);
184                    }
185    
186                    Date createDate = (Date)attributes.get("createDate");
187    
188                    if (createDate != null) {
189                            setCreateDate(createDate);
190                    }
191    
192                    Date modifiedDate = (Date)attributes.get("modifiedDate");
193    
194                    if (modifiedDate != null) {
195                            setModifiedDate(modifiedDate);
196                    }
197    
198                    Long classNameId = (Long)attributes.get("classNameId");
199    
200                    if (classNameId != null) {
201                            setClassNameId(classNameId);
202                    }
203    
204                    Long classPK = (Long)attributes.get("classPK");
205    
206                    if (classPK != null) {
207                            setClassPK(classPK);
208                    }
209    
210                    Long threadId = (Long)attributes.get("threadId");
211    
212                    if (threadId != null) {
213                            setThreadId(threadId);
214                    }
215            }
216    
217            public String getUuid() {
218                    if (_uuid == null) {
219                            return StringPool.BLANK;
220                    }
221                    else {
222                            return _uuid;
223                    }
224            }
225    
226            public void setUuid(String uuid) {
227                    if (_originalUuid == null) {
228                            _originalUuid = _uuid;
229                    }
230    
231                    _uuid = uuid;
232            }
233    
234            public String getOriginalUuid() {
235                    return GetterUtil.getString(_originalUuid);
236            }
237    
238            public long getDiscussionId() {
239                    return _discussionId;
240            }
241    
242            public void setDiscussionId(long discussionId) {
243                    _discussionId = discussionId;
244            }
245    
246            public long getGroupId() {
247                    return _groupId;
248            }
249    
250            public void setGroupId(long groupId) {
251                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
252    
253                    if (!_setOriginalGroupId) {
254                            _setOriginalGroupId = true;
255    
256                            _originalGroupId = _groupId;
257                    }
258    
259                    _groupId = groupId;
260            }
261    
262            public long getOriginalGroupId() {
263                    return _originalGroupId;
264            }
265    
266            public long getCompanyId() {
267                    return _companyId;
268            }
269    
270            public void setCompanyId(long companyId) {
271                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
272    
273                    if (!_setOriginalCompanyId) {
274                            _setOriginalCompanyId = true;
275    
276                            _originalCompanyId = _companyId;
277                    }
278    
279                    _companyId = companyId;
280            }
281    
282            public long getOriginalCompanyId() {
283                    return _originalCompanyId;
284            }
285    
286            public long getUserId() {
287                    return _userId;
288            }
289    
290            public void setUserId(long userId) {
291                    _userId = userId;
292            }
293    
294            public String getUserUuid() throws SystemException {
295                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
296            }
297    
298            public void setUserUuid(String userUuid) {
299                    _userUuid = userUuid;
300            }
301    
302            public String getUserName() {
303                    if (_userName == null) {
304                            return StringPool.BLANK;
305                    }
306                    else {
307                            return _userName;
308                    }
309            }
310    
311            public void setUserName(String userName) {
312                    _userName = userName;
313            }
314    
315            public Date getCreateDate() {
316                    return _createDate;
317            }
318    
319            public void setCreateDate(Date createDate) {
320                    _createDate = createDate;
321            }
322    
323            public Date getModifiedDate() {
324                    return _modifiedDate;
325            }
326    
327            public void setModifiedDate(Date modifiedDate) {
328                    _modifiedDate = modifiedDate;
329            }
330    
331            public String getClassName() {
332                    if (getClassNameId() <= 0) {
333                            return StringPool.BLANK;
334                    }
335    
336                    return PortalUtil.getClassName(getClassNameId());
337            }
338    
339            public void setClassName(String className) {
340                    long classNameId = 0;
341    
342                    if (Validator.isNotNull(className)) {
343                            classNameId = PortalUtil.getClassNameId(className);
344                    }
345    
346                    setClassNameId(classNameId);
347            }
348    
349            public long getClassNameId() {
350                    return _classNameId;
351            }
352    
353            public void setClassNameId(long classNameId) {
354                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
355    
356                    if (!_setOriginalClassNameId) {
357                            _setOriginalClassNameId = true;
358    
359                            _originalClassNameId = _classNameId;
360                    }
361    
362                    _classNameId = classNameId;
363            }
364    
365            public long getOriginalClassNameId() {
366                    return _originalClassNameId;
367            }
368    
369            public long getClassPK() {
370                    return _classPK;
371            }
372    
373            public void setClassPK(long classPK) {
374                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
375    
376                    if (!_setOriginalClassPK) {
377                            _setOriginalClassPK = true;
378    
379                            _originalClassPK = _classPK;
380                    }
381    
382                    _classPK = classPK;
383            }
384    
385            public long getOriginalClassPK() {
386                    return _originalClassPK;
387            }
388    
389            public long getThreadId() {
390                    return _threadId;
391            }
392    
393            public void setThreadId(long threadId) {
394                    _columnBitmask |= THREADID_COLUMN_BITMASK;
395    
396                    if (!_setOriginalThreadId) {
397                            _setOriginalThreadId = true;
398    
399                            _originalThreadId = _threadId;
400                    }
401    
402                    _threadId = threadId;
403            }
404    
405            public long getOriginalThreadId() {
406                    return _originalThreadId;
407            }
408    
409            public long getColumnBitmask() {
410                    return _columnBitmask;
411            }
412    
413            @Override
414            public ExpandoBridge getExpandoBridge() {
415                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
416                            MBDiscussion.class.getName(), getPrimaryKey());
417            }
418    
419            @Override
420            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
421                    ExpandoBridge expandoBridge = getExpandoBridge();
422    
423                    expandoBridge.setAttributes(serviceContext);
424            }
425    
426            @Override
427            public MBDiscussion toEscapedModel() {
428                    if (_escapedModel == null) {
429                            _escapedModel = (MBDiscussion)ProxyUtil.newProxyInstance(_classLoader,
430                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
431                    }
432    
433                    return _escapedModel;
434            }
435    
436            @Override
437            public Object clone() {
438                    MBDiscussionImpl mbDiscussionImpl = new MBDiscussionImpl();
439    
440                    mbDiscussionImpl.setUuid(getUuid());
441                    mbDiscussionImpl.setDiscussionId(getDiscussionId());
442                    mbDiscussionImpl.setGroupId(getGroupId());
443                    mbDiscussionImpl.setCompanyId(getCompanyId());
444                    mbDiscussionImpl.setUserId(getUserId());
445                    mbDiscussionImpl.setUserName(getUserName());
446                    mbDiscussionImpl.setCreateDate(getCreateDate());
447                    mbDiscussionImpl.setModifiedDate(getModifiedDate());
448                    mbDiscussionImpl.setClassNameId(getClassNameId());
449                    mbDiscussionImpl.setClassPK(getClassPK());
450                    mbDiscussionImpl.setThreadId(getThreadId());
451    
452                    mbDiscussionImpl.resetOriginalValues();
453    
454                    return mbDiscussionImpl;
455            }
456    
457            public int compareTo(MBDiscussion mbDiscussion) {
458                    long primaryKey = mbDiscussion.getPrimaryKey();
459    
460                    if (getPrimaryKey() < primaryKey) {
461                            return -1;
462                    }
463                    else if (getPrimaryKey() > primaryKey) {
464                            return 1;
465                    }
466                    else {
467                            return 0;
468                    }
469            }
470    
471            @Override
472            public boolean equals(Object obj) {
473                    if (obj == null) {
474                            return false;
475                    }
476    
477                    MBDiscussion mbDiscussion = null;
478    
479                    try {
480                            mbDiscussion = (MBDiscussion)obj;
481                    }
482                    catch (ClassCastException cce) {
483                            return false;
484                    }
485    
486                    long primaryKey = mbDiscussion.getPrimaryKey();
487    
488                    if (getPrimaryKey() == primaryKey) {
489                            return true;
490                    }
491                    else {
492                            return false;
493                    }
494            }
495    
496            @Override
497            public int hashCode() {
498                    return (int)getPrimaryKey();
499            }
500    
501            @Override
502            public void resetOriginalValues() {
503                    MBDiscussionModelImpl mbDiscussionModelImpl = this;
504    
505                    mbDiscussionModelImpl._originalUuid = mbDiscussionModelImpl._uuid;
506    
507                    mbDiscussionModelImpl._originalGroupId = mbDiscussionModelImpl._groupId;
508    
509                    mbDiscussionModelImpl._setOriginalGroupId = false;
510    
511                    mbDiscussionModelImpl._originalCompanyId = mbDiscussionModelImpl._companyId;
512    
513                    mbDiscussionModelImpl._setOriginalCompanyId = false;
514    
515                    mbDiscussionModelImpl._originalClassNameId = mbDiscussionModelImpl._classNameId;
516    
517                    mbDiscussionModelImpl._setOriginalClassNameId = false;
518    
519                    mbDiscussionModelImpl._originalClassPK = mbDiscussionModelImpl._classPK;
520    
521                    mbDiscussionModelImpl._setOriginalClassPK = false;
522    
523                    mbDiscussionModelImpl._originalThreadId = mbDiscussionModelImpl._threadId;
524    
525                    mbDiscussionModelImpl._setOriginalThreadId = false;
526    
527                    mbDiscussionModelImpl._columnBitmask = 0;
528            }
529    
530            @Override
531            public CacheModel<MBDiscussion> toCacheModel() {
532                    MBDiscussionCacheModel mbDiscussionCacheModel = new MBDiscussionCacheModel();
533    
534                    mbDiscussionCacheModel.uuid = getUuid();
535    
536                    String uuid = mbDiscussionCacheModel.uuid;
537    
538                    if ((uuid != null) && (uuid.length() == 0)) {
539                            mbDiscussionCacheModel.uuid = null;
540                    }
541    
542                    mbDiscussionCacheModel.discussionId = getDiscussionId();
543    
544                    mbDiscussionCacheModel.groupId = getGroupId();
545    
546                    mbDiscussionCacheModel.companyId = getCompanyId();
547    
548                    mbDiscussionCacheModel.userId = getUserId();
549    
550                    mbDiscussionCacheModel.userName = getUserName();
551    
552                    String userName = mbDiscussionCacheModel.userName;
553    
554                    if ((userName != null) && (userName.length() == 0)) {
555                            mbDiscussionCacheModel.userName = null;
556                    }
557    
558                    Date createDate = getCreateDate();
559    
560                    if (createDate != null) {
561                            mbDiscussionCacheModel.createDate = createDate.getTime();
562                    }
563                    else {
564                            mbDiscussionCacheModel.createDate = Long.MIN_VALUE;
565                    }
566    
567                    Date modifiedDate = getModifiedDate();
568    
569                    if (modifiedDate != null) {
570                            mbDiscussionCacheModel.modifiedDate = modifiedDate.getTime();
571                    }
572                    else {
573                            mbDiscussionCacheModel.modifiedDate = Long.MIN_VALUE;
574                    }
575    
576                    mbDiscussionCacheModel.classNameId = getClassNameId();
577    
578                    mbDiscussionCacheModel.classPK = getClassPK();
579    
580                    mbDiscussionCacheModel.threadId = getThreadId();
581    
582                    return mbDiscussionCacheModel;
583            }
584    
585            @Override
586            public String toString() {
587                    StringBundler sb = new StringBundler(23);
588    
589                    sb.append("{uuid=");
590                    sb.append(getUuid());
591                    sb.append(", discussionId=");
592                    sb.append(getDiscussionId());
593                    sb.append(", groupId=");
594                    sb.append(getGroupId());
595                    sb.append(", companyId=");
596                    sb.append(getCompanyId());
597                    sb.append(", userId=");
598                    sb.append(getUserId());
599                    sb.append(", userName=");
600                    sb.append(getUserName());
601                    sb.append(", createDate=");
602                    sb.append(getCreateDate());
603                    sb.append(", modifiedDate=");
604                    sb.append(getModifiedDate());
605                    sb.append(", classNameId=");
606                    sb.append(getClassNameId());
607                    sb.append(", classPK=");
608                    sb.append(getClassPK());
609                    sb.append(", threadId=");
610                    sb.append(getThreadId());
611                    sb.append("}");
612    
613                    return sb.toString();
614            }
615    
616            public String toXmlString() {
617                    StringBundler sb = new StringBundler(37);
618    
619                    sb.append("<model><model-name>");
620                    sb.append("com.liferay.portlet.messageboards.model.MBDiscussion");
621                    sb.append("</model-name>");
622    
623                    sb.append(
624                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
625                    sb.append(getUuid());
626                    sb.append("]]></column-value></column>");
627                    sb.append(
628                            "<column><column-name>discussionId</column-name><column-value><![CDATA[");
629                    sb.append(getDiscussionId());
630                    sb.append("]]></column-value></column>");
631                    sb.append(
632                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
633                    sb.append(getGroupId());
634                    sb.append("]]></column-value></column>");
635                    sb.append(
636                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
637                    sb.append(getCompanyId());
638                    sb.append("]]></column-value></column>");
639                    sb.append(
640                            "<column><column-name>userId</column-name><column-value><![CDATA[");
641                    sb.append(getUserId());
642                    sb.append("]]></column-value></column>");
643                    sb.append(
644                            "<column><column-name>userName</column-name><column-value><![CDATA[");
645                    sb.append(getUserName());
646                    sb.append("]]></column-value></column>");
647                    sb.append(
648                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
649                    sb.append(getCreateDate());
650                    sb.append("]]></column-value></column>");
651                    sb.append(
652                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
653                    sb.append(getModifiedDate());
654                    sb.append("]]></column-value></column>");
655                    sb.append(
656                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
657                    sb.append(getClassNameId());
658                    sb.append("]]></column-value></column>");
659                    sb.append(
660                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
661                    sb.append(getClassPK());
662                    sb.append("]]></column-value></column>");
663                    sb.append(
664                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
665                    sb.append(getThreadId());
666                    sb.append("]]></column-value></column>");
667    
668                    sb.append("</model>");
669    
670                    return sb.toString();
671            }
672    
673            private static ClassLoader _classLoader = MBDiscussion.class.getClassLoader();
674            private static Class<?>[] _escapedModelInterfaces = new Class[] {
675                            MBDiscussion.class
676                    };
677            private String _uuid;
678            private String _originalUuid;
679            private long _discussionId;
680            private long _groupId;
681            private long _originalGroupId;
682            private boolean _setOriginalGroupId;
683            private long _companyId;
684            private long _originalCompanyId;
685            private boolean _setOriginalCompanyId;
686            private long _userId;
687            private String _userUuid;
688            private String _userName;
689            private Date _createDate;
690            private Date _modifiedDate;
691            private long _classNameId;
692            private long _originalClassNameId;
693            private boolean _setOriginalClassNameId;
694            private long _classPK;
695            private long _originalClassPK;
696            private boolean _setOriginalClassPK;
697            private long _threadId;
698            private long _originalThreadId;
699            private boolean _setOriginalThreadId;
700            private long _columnBitmask;
701            private MBDiscussion _escapedModel;
702    }