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.json.JSON;
020    import com.liferay.portal.kernel.lar.StagedModelType;
021    import com.liferay.portal.kernel.util.DateUtil;
022    import com.liferay.portal.kernel.util.GetterUtil;
023    import com.liferay.portal.kernel.util.ProxyUtil;
024    import com.liferay.portal.kernel.util.StringBundler;
025    import com.liferay.portal.kernel.util.StringPool;
026    import com.liferay.portal.kernel.util.Validator;
027    import com.liferay.portal.kernel.workflow.WorkflowConstants;
028    import com.liferay.portal.model.CacheModel;
029    import com.liferay.portal.model.impl.BaseModelImpl;
030    import com.liferay.portal.service.ServiceContext;
031    import com.liferay.portal.util.PortalUtil;
032    
033    import com.liferay.portlet.expando.model.ExpandoBridge;
034    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
035    import com.liferay.portlet.messageboards.model.MBMessage;
036    import com.liferay.portlet.messageboards.model.MBMessageModel;
037    import com.liferay.portlet.messageboards.model.MBMessageSoap;
038    
039    import java.io.Serializable;
040    
041    import java.sql.Types;
042    
043    import java.util.ArrayList;
044    import java.util.Date;
045    import java.util.HashMap;
046    import java.util.List;
047    import java.util.Map;
048    
049    /**
050     * The base model implementation for the MBMessage service. Represents a row in the "MBMessage" database table, with each column mapped to a property of this class.
051     *
052     * <p>
053     * This implementation and its corresponding interface {@link com.liferay.portlet.messageboards.model.MBMessageModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link MBMessageImpl}.
054     * </p>
055     *
056     * @author Brian Wing Shun Chan
057     * @see MBMessageImpl
058     * @see com.liferay.portlet.messageboards.model.MBMessage
059     * @see com.liferay.portlet.messageboards.model.MBMessageModel
060     * @generated
061     */
062    @JSON(strict = true)
063    public class MBMessageModelImpl extends BaseModelImpl<MBMessage>
064            implements MBMessageModel {
065            /*
066             * NOTE FOR DEVELOPERS:
067             *
068             * Never modify or reference this class directly. All methods that expect a message-boards message model instance should use the {@link com.liferay.portlet.messageboards.model.MBMessage} interface instead.
069             */
070            public static final String TABLE_NAME = "MBMessage";
071            public static final Object[][] TABLE_COLUMNS = {
072                            { "uuid_", Types.VARCHAR },
073                            { "messageId", Types.BIGINT },
074                            { "groupId", Types.BIGINT },
075                            { "companyId", Types.BIGINT },
076                            { "userId", Types.BIGINT },
077                            { "userName", Types.VARCHAR },
078                            { "createDate", Types.TIMESTAMP },
079                            { "modifiedDate", Types.TIMESTAMP },
080                            { "classNameId", Types.BIGINT },
081                            { "classPK", Types.BIGINT },
082                            { "categoryId", Types.BIGINT },
083                            { "threadId", Types.BIGINT },
084                            { "rootMessageId", Types.BIGINT },
085                            { "parentMessageId", Types.BIGINT },
086                            { "subject", Types.VARCHAR },
087                            { "body", Types.CLOB },
088                            { "format", Types.VARCHAR },
089                            { "anonymous", Types.BOOLEAN },
090                            { "priority", Types.DOUBLE },
091                            { "allowPingbacks", Types.BOOLEAN },
092                            { "answer", Types.BOOLEAN },
093                            { "status", Types.INTEGER },
094                            { "statusByUserId", Types.BIGINT },
095                            { "statusByUserName", Types.VARCHAR },
096                            { "statusDate", Types.TIMESTAMP }
097                    };
098            public static final String TABLE_SQL_CREATE = "create table MBMessage (uuid_ VARCHAR(75) null,messageId 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,categoryId LONG,threadId LONG,rootMessageId LONG,parentMessageId LONG,subject VARCHAR(75) null,body TEXT null,format VARCHAR(75) null,anonymous BOOLEAN,priority DOUBLE,allowPingbacks BOOLEAN,answer BOOLEAN,status INTEGER,statusByUserId LONG,statusByUserName VARCHAR(75) null,statusDate DATE null)";
099            public static final String TABLE_SQL_DROP = "drop table MBMessage";
100            public static final String ORDER_BY_JPQL = " ORDER BY mbMessage.createDate ASC, mbMessage.messageId ASC";
101            public static final String ORDER_BY_SQL = " ORDER BY MBMessage.createDate ASC, MBMessage.messageId ASC";
102            public static final String DATA_SOURCE = "liferayDataSource";
103            public static final String SESSION_FACTORY = "liferaySessionFactory";
104            public static final String TX_MANAGER = "liferayTransactionManager";
105            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
106                                    "value.object.entity.cache.enabled.com.liferay.portlet.messageboards.model.MBMessage"),
107                            true);
108            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
109                                    "value.object.finder.cache.enabled.com.liferay.portlet.messageboards.model.MBMessage"),
110                            true);
111            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
112                                    "value.object.column.bitmask.enabled.com.liferay.portlet.messageboards.model.MBMessage"),
113                            true);
114            public static long ANSWER_COLUMN_BITMASK = 1L;
115            public static long CATEGORYID_COLUMN_BITMASK = 2L;
116            public static long CLASSNAMEID_COLUMN_BITMASK = 4L;
117            public static long CLASSPK_COLUMN_BITMASK = 8L;
118            public static long COMPANYID_COLUMN_BITMASK = 16L;
119            public static long GROUPID_COLUMN_BITMASK = 32L;
120            public static long PARENTMESSAGEID_COLUMN_BITMASK = 64L;
121            public static long STATUS_COLUMN_BITMASK = 128L;
122            public static long THREADID_COLUMN_BITMASK = 256L;
123            public static long USERID_COLUMN_BITMASK = 512L;
124            public static long UUID_COLUMN_BITMASK = 1024L;
125            public static long CREATEDATE_COLUMN_BITMASK = 2048L;
126            public static long MESSAGEID_COLUMN_BITMASK = 4096L;
127    
128            /**
129             * Converts the soap model instance into a normal model instance.
130             *
131             * @param soapModel the soap model instance to convert
132             * @return the normal model instance
133             */
134            public static MBMessage toModel(MBMessageSoap soapModel) {
135                    if (soapModel == null) {
136                            return null;
137                    }
138    
139                    MBMessage model = new MBMessageImpl();
140    
141                    model.setUuid(soapModel.getUuid());
142                    model.setMessageId(soapModel.getMessageId());
143                    model.setGroupId(soapModel.getGroupId());
144                    model.setCompanyId(soapModel.getCompanyId());
145                    model.setUserId(soapModel.getUserId());
146                    model.setUserName(soapModel.getUserName());
147                    model.setCreateDate(soapModel.getCreateDate());
148                    model.setModifiedDate(soapModel.getModifiedDate());
149                    model.setClassNameId(soapModel.getClassNameId());
150                    model.setClassPK(soapModel.getClassPK());
151                    model.setCategoryId(soapModel.getCategoryId());
152                    model.setThreadId(soapModel.getThreadId());
153                    model.setRootMessageId(soapModel.getRootMessageId());
154                    model.setParentMessageId(soapModel.getParentMessageId());
155                    model.setSubject(soapModel.getSubject());
156                    model.setBody(soapModel.getBody());
157                    model.setFormat(soapModel.getFormat());
158                    model.setAnonymous(soapModel.getAnonymous());
159                    model.setPriority(soapModel.getPriority());
160                    model.setAllowPingbacks(soapModel.getAllowPingbacks());
161                    model.setAnswer(soapModel.getAnswer());
162                    model.setStatus(soapModel.getStatus());
163                    model.setStatusByUserId(soapModel.getStatusByUserId());
164                    model.setStatusByUserName(soapModel.getStatusByUserName());
165                    model.setStatusDate(soapModel.getStatusDate());
166    
167                    return model;
168            }
169    
170            /**
171             * Converts the soap model instances into normal model instances.
172             *
173             * @param soapModels the soap model instances to convert
174             * @return the normal model instances
175             */
176            public static List<MBMessage> toModels(MBMessageSoap[] soapModels) {
177                    if (soapModels == null) {
178                            return null;
179                    }
180    
181                    List<MBMessage> models = new ArrayList<MBMessage>(soapModels.length);
182    
183                    for (MBMessageSoap soapModel : soapModels) {
184                            models.add(toModel(soapModel));
185                    }
186    
187                    return models;
188            }
189    
190            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
191                                    "lock.expiration.time.com.liferay.portlet.messageboards.model.MBMessage"));
192    
193            public MBMessageModelImpl() {
194            }
195    
196            @Override
197            public long getPrimaryKey() {
198                    return _messageId;
199            }
200    
201            @Override
202            public void setPrimaryKey(long primaryKey) {
203                    setMessageId(primaryKey);
204            }
205    
206            @Override
207            public Serializable getPrimaryKeyObj() {
208                    return _messageId;
209            }
210    
211            @Override
212            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
213                    setPrimaryKey(((Long)primaryKeyObj).longValue());
214            }
215    
216            @Override
217            public Class<?> getModelClass() {
218                    return MBMessage.class;
219            }
220    
221            @Override
222            public String getModelClassName() {
223                    return MBMessage.class.getName();
224            }
225    
226            @Override
227            public Map<String, Object> getModelAttributes() {
228                    Map<String, Object> attributes = new HashMap<String, Object>();
229    
230                    attributes.put("uuid", getUuid());
231                    attributes.put("messageId", getMessageId());
232                    attributes.put("groupId", getGroupId());
233                    attributes.put("companyId", getCompanyId());
234                    attributes.put("userId", getUserId());
235                    attributes.put("userName", getUserName());
236                    attributes.put("createDate", getCreateDate());
237                    attributes.put("modifiedDate", getModifiedDate());
238                    attributes.put("classNameId", getClassNameId());
239                    attributes.put("classPK", getClassPK());
240                    attributes.put("categoryId", getCategoryId());
241                    attributes.put("threadId", getThreadId());
242                    attributes.put("rootMessageId", getRootMessageId());
243                    attributes.put("parentMessageId", getParentMessageId());
244                    attributes.put("subject", getSubject());
245                    attributes.put("body", getBody());
246                    attributes.put("format", getFormat());
247                    attributes.put("anonymous", getAnonymous());
248                    attributes.put("priority", getPriority());
249                    attributes.put("allowPingbacks", getAllowPingbacks());
250                    attributes.put("answer", getAnswer());
251                    attributes.put("status", getStatus());
252                    attributes.put("statusByUserId", getStatusByUserId());
253                    attributes.put("statusByUserName", getStatusByUserName());
254                    attributes.put("statusDate", getStatusDate());
255    
256                    return attributes;
257            }
258    
259            @Override
260            public void setModelAttributes(Map<String, Object> attributes) {
261                    String uuid = (String)attributes.get("uuid");
262    
263                    if (uuid != null) {
264                            setUuid(uuid);
265                    }
266    
267                    Long messageId = (Long)attributes.get("messageId");
268    
269                    if (messageId != null) {
270                            setMessageId(messageId);
271                    }
272    
273                    Long groupId = (Long)attributes.get("groupId");
274    
275                    if (groupId != null) {
276                            setGroupId(groupId);
277                    }
278    
279                    Long companyId = (Long)attributes.get("companyId");
280    
281                    if (companyId != null) {
282                            setCompanyId(companyId);
283                    }
284    
285                    Long userId = (Long)attributes.get("userId");
286    
287                    if (userId != null) {
288                            setUserId(userId);
289                    }
290    
291                    String userName = (String)attributes.get("userName");
292    
293                    if (userName != null) {
294                            setUserName(userName);
295                    }
296    
297                    Date createDate = (Date)attributes.get("createDate");
298    
299                    if (createDate != null) {
300                            setCreateDate(createDate);
301                    }
302    
303                    Date modifiedDate = (Date)attributes.get("modifiedDate");
304    
305                    if (modifiedDate != null) {
306                            setModifiedDate(modifiedDate);
307                    }
308    
309                    Long classNameId = (Long)attributes.get("classNameId");
310    
311                    if (classNameId != null) {
312                            setClassNameId(classNameId);
313                    }
314    
315                    Long classPK = (Long)attributes.get("classPK");
316    
317                    if (classPK != null) {
318                            setClassPK(classPK);
319                    }
320    
321                    Long categoryId = (Long)attributes.get("categoryId");
322    
323                    if (categoryId != null) {
324                            setCategoryId(categoryId);
325                    }
326    
327                    Long threadId = (Long)attributes.get("threadId");
328    
329                    if (threadId != null) {
330                            setThreadId(threadId);
331                    }
332    
333                    Long rootMessageId = (Long)attributes.get("rootMessageId");
334    
335                    if (rootMessageId != null) {
336                            setRootMessageId(rootMessageId);
337                    }
338    
339                    Long parentMessageId = (Long)attributes.get("parentMessageId");
340    
341                    if (parentMessageId != null) {
342                            setParentMessageId(parentMessageId);
343                    }
344    
345                    String subject = (String)attributes.get("subject");
346    
347                    if (subject != null) {
348                            setSubject(subject);
349                    }
350    
351                    String body = (String)attributes.get("body");
352    
353                    if (body != null) {
354                            setBody(body);
355                    }
356    
357                    String format = (String)attributes.get("format");
358    
359                    if (format != null) {
360                            setFormat(format);
361                    }
362    
363                    Boolean anonymous = (Boolean)attributes.get("anonymous");
364    
365                    if (anonymous != null) {
366                            setAnonymous(anonymous);
367                    }
368    
369                    Double priority = (Double)attributes.get("priority");
370    
371                    if (priority != null) {
372                            setPriority(priority);
373                    }
374    
375                    Boolean allowPingbacks = (Boolean)attributes.get("allowPingbacks");
376    
377                    if (allowPingbacks != null) {
378                            setAllowPingbacks(allowPingbacks);
379                    }
380    
381                    Boolean answer = (Boolean)attributes.get("answer");
382    
383                    if (answer != null) {
384                            setAnswer(answer);
385                    }
386    
387                    Integer status = (Integer)attributes.get("status");
388    
389                    if (status != null) {
390                            setStatus(status);
391                    }
392    
393                    Long statusByUserId = (Long)attributes.get("statusByUserId");
394    
395                    if (statusByUserId != null) {
396                            setStatusByUserId(statusByUserId);
397                    }
398    
399                    String statusByUserName = (String)attributes.get("statusByUserName");
400    
401                    if (statusByUserName != null) {
402                            setStatusByUserName(statusByUserName);
403                    }
404    
405                    Date statusDate = (Date)attributes.get("statusDate");
406    
407                    if (statusDate != null) {
408                            setStatusDate(statusDate);
409                    }
410            }
411    
412            @JSON
413            @Override
414            public String getUuid() {
415                    if (_uuid == null) {
416                            return StringPool.BLANK;
417                    }
418                    else {
419                            return _uuid;
420                    }
421            }
422    
423            @Override
424            public void setUuid(String uuid) {
425                    if (_originalUuid == null) {
426                            _originalUuid = _uuid;
427                    }
428    
429                    _uuid = uuid;
430            }
431    
432            public String getOriginalUuid() {
433                    return GetterUtil.getString(_originalUuid);
434            }
435    
436            @JSON
437            @Override
438            public long getMessageId() {
439                    return _messageId;
440            }
441    
442            @Override
443            public void setMessageId(long messageId) {
444                    _columnBitmask = -1L;
445    
446                    _messageId = messageId;
447            }
448    
449            @JSON
450            @Override
451            public long getGroupId() {
452                    return _groupId;
453            }
454    
455            @Override
456            public void setGroupId(long groupId) {
457                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
458    
459                    if (!_setOriginalGroupId) {
460                            _setOriginalGroupId = true;
461    
462                            _originalGroupId = _groupId;
463                    }
464    
465                    _groupId = groupId;
466            }
467    
468            public long getOriginalGroupId() {
469                    return _originalGroupId;
470            }
471    
472            @JSON
473            @Override
474            public long getCompanyId() {
475                    return _companyId;
476            }
477    
478            @Override
479            public void setCompanyId(long companyId) {
480                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
481    
482                    if (!_setOriginalCompanyId) {
483                            _setOriginalCompanyId = true;
484    
485                            _originalCompanyId = _companyId;
486                    }
487    
488                    _companyId = companyId;
489            }
490    
491            public long getOriginalCompanyId() {
492                    return _originalCompanyId;
493            }
494    
495            @JSON
496            @Override
497            public long getUserId() {
498                    return _userId;
499            }
500    
501            @Override
502            public void setUserId(long userId) {
503                    _columnBitmask |= USERID_COLUMN_BITMASK;
504    
505                    if (!_setOriginalUserId) {
506                            _setOriginalUserId = true;
507    
508                            _originalUserId = _userId;
509                    }
510    
511                    _userId = userId;
512            }
513    
514            @Override
515            public String getUserUuid() throws SystemException {
516                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
517            }
518    
519            @Override
520            public void setUserUuid(String userUuid) {
521                    _userUuid = userUuid;
522            }
523    
524            public long getOriginalUserId() {
525                    return _originalUserId;
526            }
527    
528            @JSON
529            @Override
530            public String getUserName() {
531                    if (_userName == null) {
532                            return StringPool.BLANK;
533                    }
534                    else {
535                            return _userName;
536                    }
537            }
538    
539            @Override
540            public void setUserName(String userName) {
541                    _userName = userName;
542            }
543    
544            @JSON
545            @Override
546            public Date getCreateDate() {
547                    return _createDate;
548            }
549    
550            @Override
551            public void setCreateDate(Date createDate) {
552                    _columnBitmask = -1L;
553    
554                    _createDate = createDate;
555            }
556    
557            @JSON
558            @Override
559            public Date getModifiedDate() {
560                    return _modifiedDate;
561            }
562    
563            @Override
564            public void setModifiedDate(Date modifiedDate) {
565                    _modifiedDate = modifiedDate;
566            }
567    
568            @Override
569            public String getClassName() {
570                    if (getClassNameId() <= 0) {
571                            return StringPool.BLANK;
572                    }
573    
574                    return PortalUtil.getClassName(getClassNameId());
575            }
576    
577            @Override
578            public void setClassName(String className) {
579                    long classNameId = 0;
580    
581                    if (Validator.isNotNull(className)) {
582                            classNameId = PortalUtil.getClassNameId(className);
583                    }
584    
585                    setClassNameId(classNameId);
586            }
587    
588            @JSON
589            @Override
590            public long getClassNameId() {
591                    return _classNameId;
592            }
593    
594            @Override
595            public void setClassNameId(long classNameId) {
596                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
597    
598                    if (!_setOriginalClassNameId) {
599                            _setOriginalClassNameId = true;
600    
601                            _originalClassNameId = _classNameId;
602                    }
603    
604                    _classNameId = classNameId;
605            }
606    
607            public long getOriginalClassNameId() {
608                    return _originalClassNameId;
609            }
610    
611            @JSON
612            @Override
613            public long getClassPK() {
614                    return _classPK;
615            }
616    
617            @Override
618            public void setClassPK(long classPK) {
619                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
620    
621                    if (!_setOriginalClassPK) {
622                            _setOriginalClassPK = true;
623    
624                            _originalClassPK = _classPK;
625                    }
626    
627                    _classPK = classPK;
628            }
629    
630            public long getOriginalClassPK() {
631                    return _originalClassPK;
632            }
633    
634            @JSON
635            @Override
636            public long getCategoryId() {
637                    return _categoryId;
638            }
639    
640            @Override
641            public void setCategoryId(long categoryId) {
642                    _columnBitmask |= CATEGORYID_COLUMN_BITMASK;
643    
644                    if (!_setOriginalCategoryId) {
645                            _setOriginalCategoryId = true;
646    
647                            _originalCategoryId = _categoryId;
648                    }
649    
650                    _categoryId = categoryId;
651            }
652    
653            public long getOriginalCategoryId() {
654                    return _originalCategoryId;
655            }
656    
657            @JSON
658            @Override
659            public long getThreadId() {
660                    return _threadId;
661            }
662    
663            @Override
664            public void setThreadId(long threadId) {
665                    _columnBitmask |= THREADID_COLUMN_BITMASK;
666    
667                    if (!_setOriginalThreadId) {
668                            _setOriginalThreadId = true;
669    
670                            _originalThreadId = _threadId;
671                    }
672    
673                    _threadId = threadId;
674            }
675    
676            public long getOriginalThreadId() {
677                    return _originalThreadId;
678            }
679    
680            @JSON
681            @Override
682            public long getRootMessageId() {
683                    return _rootMessageId;
684            }
685    
686            @Override
687            public void setRootMessageId(long rootMessageId) {
688                    _rootMessageId = rootMessageId;
689            }
690    
691            @JSON
692            @Override
693            public long getParentMessageId() {
694                    return _parentMessageId;
695            }
696    
697            @Override
698            public void setParentMessageId(long parentMessageId) {
699                    _columnBitmask |= PARENTMESSAGEID_COLUMN_BITMASK;
700    
701                    if (!_setOriginalParentMessageId) {
702                            _setOriginalParentMessageId = true;
703    
704                            _originalParentMessageId = _parentMessageId;
705                    }
706    
707                    _parentMessageId = parentMessageId;
708            }
709    
710            public long getOriginalParentMessageId() {
711                    return _originalParentMessageId;
712            }
713    
714            @JSON
715            @Override
716            public String getSubject() {
717                    if (_subject == null) {
718                            return StringPool.BLANK;
719                    }
720                    else {
721                            return _subject;
722                    }
723            }
724    
725            @Override
726            public void setSubject(String subject) {
727                    _subject = subject;
728            }
729    
730            @JSON
731            @Override
732            public String getBody() {
733                    if (_body == null) {
734                            return StringPool.BLANK;
735                    }
736                    else {
737                            return _body;
738                    }
739            }
740    
741            @Override
742            public void setBody(String body) {
743                    _body = body;
744            }
745    
746            @JSON
747            @Override
748            public String getFormat() {
749                    if (_format == null) {
750                            return StringPool.BLANK;
751                    }
752                    else {
753                            return _format;
754                    }
755            }
756    
757            @Override
758            public void setFormat(String format) {
759                    _format = format;
760            }
761    
762            @JSON
763            @Override
764            public boolean getAnonymous() {
765                    return _anonymous;
766            }
767    
768            @Override
769            public boolean isAnonymous() {
770                    return _anonymous;
771            }
772    
773            @Override
774            public void setAnonymous(boolean anonymous) {
775                    _anonymous = anonymous;
776            }
777    
778            @JSON
779            @Override
780            public double getPriority() {
781                    return _priority;
782            }
783    
784            @Override
785            public void setPriority(double priority) {
786                    _priority = priority;
787            }
788    
789            @JSON
790            @Override
791            public boolean getAllowPingbacks() {
792                    return _allowPingbacks;
793            }
794    
795            @Override
796            public boolean isAllowPingbacks() {
797                    return _allowPingbacks;
798            }
799    
800            @Override
801            public void setAllowPingbacks(boolean allowPingbacks) {
802                    _allowPingbacks = allowPingbacks;
803            }
804    
805            @JSON
806            @Override
807            public boolean getAnswer() {
808                    return _answer;
809            }
810    
811            @Override
812            public boolean isAnswer() {
813                    return _answer;
814            }
815    
816            @Override
817            public void setAnswer(boolean answer) {
818                    _columnBitmask |= ANSWER_COLUMN_BITMASK;
819    
820                    if (!_setOriginalAnswer) {
821                            _setOriginalAnswer = true;
822    
823                            _originalAnswer = _answer;
824                    }
825    
826                    _answer = answer;
827            }
828    
829            public boolean getOriginalAnswer() {
830                    return _originalAnswer;
831            }
832    
833            @JSON
834            @Override
835            public int getStatus() {
836                    return _status;
837            }
838    
839            @Override
840            public void setStatus(int status) {
841                    _columnBitmask |= STATUS_COLUMN_BITMASK;
842    
843                    if (!_setOriginalStatus) {
844                            _setOriginalStatus = true;
845    
846                            _originalStatus = _status;
847                    }
848    
849                    _status = status;
850            }
851    
852            public int getOriginalStatus() {
853                    return _originalStatus;
854            }
855    
856            @JSON
857            @Override
858            public long getStatusByUserId() {
859                    return _statusByUserId;
860            }
861    
862            @Override
863            public void setStatusByUserId(long statusByUserId) {
864                    _statusByUserId = statusByUserId;
865            }
866    
867            @Override
868            public String getStatusByUserUuid() throws SystemException {
869                    return PortalUtil.getUserValue(getStatusByUserId(), "uuid",
870                            _statusByUserUuid);
871            }
872    
873            @Override
874            public void setStatusByUserUuid(String statusByUserUuid) {
875                    _statusByUserUuid = statusByUserUuid;
876            }
877    
878            @JSON
879            @Override
880            public String getStatusByUserName() {
881                    if (_statusByUserName == null) {
882                            return StringPool.BLANK;
883                    }
884                    else {
885                            return _statusByUserName;
886                    }
887            }
888    
889            @Override
890            public void setStatusByUserName(String statusByUserName) {
891                    _statusByUserName = statusByUserName;
892            }
893    
894            @JSON
895            @Override
896            public Date getStatusDate() {
897                    return _statusDate;
898            }
899    
900            @Override
901            public void setStatusDate(Date statusDate) {
902                    _statusDate = statusDate;
903            }
904    
905            @Override
906            public StagedModelType getStagedModelType() {
907                    return new StagedModelType(PortalUtil.getClassNameId(
908                                    MBMessage.class.getName()), getClassNameId());
909            }
910    
911            /**
912             * @deprecated As of 6.1.0, replaced by {@link #isApproved}
913             */
914            @Override
915            public boolean getApproved() {
916                    return isApproved();
917            }
918    
919            @Override
920            public boolean isApproved() {
921                    if (getStatus() == WorkflowConstants.STATUS_APPROVED) {
922                            return true;
923                    }
924                    else {
925                            return false;
926                    }
927            }
928    
929            @Override
930            public boolean isDenied() {
931                    if (getStatus() == WorkflowConstants.STATUS_DENIED) {
932                            return true;
933                    }
934                    else {
935                            return false;
936                    }
937            }
938    
939            @Override
940            public boolean isDraft() {
941                    if (getStatus() == WorkflowConstants.STATUS_DRAFT) {
942                            return true;
943                    }
944                    else {
945                            return false;
946                    }
947            }
948    
949            @Override
950            public boolean isExpired() {
951                    if (getStatus() == WorkflowConstants.STATUS_EXPIRED) {
952                            return true;
953                    }
954                    else {
955                            return false;
956                    }
957            }
958    
959            @Override
960            public boolean isInactive() {
961                    if (getStatus() == WorkflowConstants.STATUS_INACTIVE) {
962                            return true;
963                    }
964                    else {
965                            return false;
966                    }
967            }
968    
969            @Override
970            public boolean isIncomplete() {
971                    if (getStatus() == WorkflowConstants.STATUS_INCOMPLETE) {
972                            return true;
973                    }
974                    else {
975                            return false;
976                    }
977            }
978    
979            @Override
980            public boolean isInTrash() {
981                    if (getStatus() == WorkflowConstants.STATUS_IN_TRASH) {
982                            return true;
983                    }
984                    else {
985                            return false;
986                    }
987            }
988    
989            @Override
990            public boolean isPending() {
991                    if (getStatus() == WorkflowConstants.STATUS_PENDING) {
992                            return true;
993                    }
994                    else {
995                            return false;
996                    }
997            }
998    
999            @Override
1000            public boolean isScheduled() {
1001                    if (getStatus() == WorkflowConstants.STATUS_SCHEDULED) {
1002                            return true;
1003                    }
1004                    else {
1005                            return false;
1006                    }
1007            }
1008    
1009            public long getColumnBitmask() {
1010                    return _columnBitmask;
1011            }
1012    
1013            @Override
1014            public ExpandoBridge getExpandoBridge() {
1015                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
1016                            MBMessage.class.getName(), getPrimaryKey());
1017            }
1018    
1019            @Override
1020            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
1021                    ExpandoBridge expandoBridge = getExpandoBridge();
1022    
1023                    expandoBridge.setAttributes(serviceContext);
1024            }
1025    
1026            @Override
1027            public MBMessage toEscapedModel() {
1028                    if (_escapedModel == null) {
1029                            _escapedModel = (MBMessage)ProxyUtil.newProxyInstance(_classLoader,
1030                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
1031                    }
1032    
1033                    return _escapedModel;
1034            }
1035    
1036            @Override
1037            public Object clone() {
1038                    MBMessageImpl mbMessageImpl = new MBMessageImpl();
1039    
1040                    mbMessageImpl.setUuid(getUuid());
1041                    mbMessageImpl.setMessageId(getMessageId());
1042                    mbMessageImpl.setGroupId(getGroupId());
1043                    mbMessageImpl.setCompanyId(getCompanyId());
1044                    mbMessageImpl.setUserId(getUserId());
1045                    mbMessageImpl.setUserName(getUserName());
1046                    mbMessageImpl.setCreateDate(getCreateDate());
1047                    mbMessageImpl.setModifiedDate(getModifiedDate());
1048                    mbMessageImpl.setClassNameId(getClassNameId());
1049                    mbMessageImpl.setClassPK(getClassPK());
1050                    mbMessageImpl.setCategoryId(getCategoryId());
1051                    mbMessageImpl.setThreadId(getThreadId());
1052                    mbMessageImpl.setRootMessageId(getRootMessageId());
1053                    mbMessageImpl.setParentMessageId(getParentMessageId());
1054                    mbMessageImpl.setSubject(getSubject());
1055                    mbMessageImpl.setBody(getBody());
1056                    mbMessageImpl.setFormat(getFormat());
1057                    mbMessageImpl.setAnonymous(getAnonymous());
1058                    mbMessageImpl.setPriority(getPriority());
1059                    mbMessageImpl.setAllowPingbacks(getAllowPingbacks());
1060                    mbMessageImpl.setAnswer(getAnswer());
1061                    mbMessageImpl.setStatus(getStatus());
1062                    mbMessageImpl.setStatusByUserId(getStatusByUserId());
1063                    mbMessageImpl.setStatusByUserName(getStatusByUserName());
1064                    mbMessageImpl.setStatusDate(getStatusDate());
1065    
1066                    mbMessageImpl.resetOriginalValues();
1067    
1068                    return mbMessageImpl;
1069            }
1070    
1071            @Override
1072            public int compareTo(MBMessage mbMessage) {
1073                    int value = 0;
1074    
1075                    value = DateUtil.compareTo(getCreateDate(), mbMessage.getCreateDate());
1076    
1077                    if (value != 0) {
1078                            return value;
1079                    }
1080    
1081                    if (getMessageId() < mbMessage.getMessageId()) {
1082                            value = -1;
1083                    }
1084                    else if (getMessageId() > mbMessage.getMessageId()) {
1085                            value = 1;
1086                    }
1087                    else {
1088                            value = 0;
1089                    }
1090    
1091                    if (value != 0) {
1092                            return value;
1093                    }
1094    
1095                    return 0;
1096            }
1097    
1098            @Override
1099            public boolean equals(Object obj) {
1100                    if (this == obj) {
1101                            return true;
1102                    }
1103    
1104                    if (!(obj instanceof MBMessage)) {
1105                            return false;
1106                    }
1107    
1108                    MBMessage mbMessage = (MBMessage)obj;
1109    
1110                    long primaryKey = mbMessage.getPrimaryKey();
1111    
1112                    if (getPrimaryKey() == primaryKey) {
1113                            return true;
1114                    }
1115                    else {
1116                            return false;
1117                    }
1118            }
1119    
1120            @Override
1121            public int hashCode() {
1122                    return (int)getPrimaryKey();
1123            }
1124    
1125            @Override
1126            public void resetOriginalValues() {
1127                    MBMessageModelImpl mbMessageModelImpl = this;
1128    
1129                    mbMessageModelImpl._originalUuid = mbMessageModelImpl._uuid;
1130    
1131                    mbMessageModelImpl._originalGroupId = mbMessageModelImpl._groupId;
1132    
1133                    mbMessageModelImpl._setOriginalGroupId = false;
1134    
1135                    mbMessageModelImpl._originalCompanyId = mbMessageModelImpl._companyId;
1136    
1137                    mbMessageModelImpl._setOriginalCompanyId = false;
1138    
1139                    mbMessageModelImpl._originalUserId = mbMessageModelImpl._userId;
1140    
1141                    mbMessageModelImpl._setOriginalUserId = false;
1142    
1143                    mbMessageModelImpl._originalClassNameId = mbMessageModelImpl._classNameId;
1144    
1145                    mbMessageModelImpl._setOriginalClassNameId = false;
1146    
1147                    mbMessageModelImpl._originalClassPK = mbMessageModelImpl._classPK;
1148    
1149                    mbMessageModelImpl._setOriginalClassPK = false;
1150    
1151                    mbMessageModelImpl._originalCategoryId = mbMessageModelImpl._categoryId;
1152    
1153                    mbMessageModelImpl._setOriginalCategoryId = false;
1154    
1155                    mbMessageModelImpl._originalThreadId = mbMessageModelImpl._threadId;
1156    
1157                    mbMessageModelImpl._setOriginalThreadId = false;
1158    
1159                    mbMessageModelImpl._originalParentMessageId = mbMessageModelImpl._parentMessageId;
1160    
1161                    mbMessageModelImpl._setOriginalParentMessageId = false;
1162    
1163                    mbMessageModelImpl._originalAnswer = mbMessageModelImpl._answer;
1164    
1165                    mbMessageModelImpl._setOriginalAnswer = false;
1166    
1167                    mbMessageModelImpl._originalStatus = mbMessageModelImpl._status;
1168    
1169                    mbMessageModelImpl._setOriginalStatus = false;
1170    
1171                    mbMessageModelImpl._columnBitmask = 0;
1172            }
1173    
1174            @Override
1175            public CacheModel<MBMessage> toCacheModel() {
1176                    MBMessageCacheModel mbMessageCacheModel = new MBMessageCacheModel();
1177    
1178                    mbMessageCacheModel.uuid = getUuid();
1179    
1180                    String uuid = mbMessageCacheModel.uuid;
1181    
1182                    if ((uuid != null) && (uuid.length() == 0)) {
1183                            mbMessageCacheModel.uuid = null;
1184                    }
1185    
1186                    mbMessageCacheModel.messageId = getMessageId();
1187    
1188                    mbMessageCacheModel.groupId = getGroupId();
1189    
1190                    mbMessageCacheModel.companyId = getCompanyId();
1191    
1192                    mbMessageCacheModel.userId = getUserId();
1193    
1194                    mbMessageCacheModel.userName = getUserName();
1195    
1196                    String userName = mbMessageCacheModel.userName;
1197    
1198                    if ((userName != null) && (userName.length() == 0)) {
1199                            mbMessageCacheModel.userName = null;
1200                    }
1201    
1202                    Date createDate = getCreateDate();
1203    
1204                    if (createDate != null) {
1205                            mbMessageCacheModel.createDate = createDate.getTime();
1206                    }
1207                    else {
1208                            mbMessageCacheModel.createDate = Long.MIN_VALUE;
1209                    }
1210    
1211                    Date modifiedDate = getModifiedDate();
1212    
1213                    if (modifiedDate != null) {
1214                            mbMessageCacheModel.modifiedDate = modifiedDate.getTime();
1215                    }
1216                    else {
1217                            mbMessageCacheModel.modifiedDate = Long.MIN_VALUE;
1218                    }
1219    
1220                    mbMessageCacheModel.classNameId = getClassNameId();
1221    
1222                    mbMessageCacheModel.classPK = getClassPK();
1223    
1224                    mbMessageCacheModel.categoryId = getCategoryId();
1225    
1226                    mbMessageCacheModel.threadId = getThreadId();
1227    
1228                    mbMessageCacheModel.rootMessageId = getRootMessageId();
1229    
1230                    mbMessageCacheModel.parentMessageId = getParentMessageId();
1231    
1232                    mbMessageCacheModel.subject = getSubject();
1233    
1234                    String subject = mbMessageCacheModel.subject;
1235    
1236                    if ((subject != null) && (subject.length() == 0)) {
1237                            mbMessageCacheModel.subject = null;
1238                    }
1239    
1240                    mbMessageCacheModel.body = getBody();
1241    
1242                    String body = mbMessageCacheModel.body;
1243    
1244                    if ((body != null) && (body.length() == 0)) {
1245                            mbMessageCacheModel.body = null;
1246                    }
1247    
1248                    mbMessageCacheModel.format = getFormat();
1249    
1250                    String format = mbMessageCacheModel.format;
1251    
1252                    if ((format != null) && (format.length() == 0)) {
1253                            mbMessageCacheModel.format = null;
1254                    }
1255    
1256                    mbMessageCacheModel.anonymous = getAnonymous();
1257    
1258                    mbMessageCacheModel.priority = getPriority();
1259    
1260                    mbMessageCacheModel.allowPingbacks = getAllowPingbacks();
1261    
1262                    mbMessageCacheModel.answer = getAnswer();
1263    
1264                    mbMessageCacheModel.status = getStatus();
1265    
1266                    mbMessageCacheModel.statusByUserId = getStatusByUserId();
1267    
1268                    mbMessageCacheModel.statusByUserName = getStatusByUserName();
1269    
1270                    String statusByUserName = mbMessageCacheModel.statusByUserName;
1271    
1272                    if ((statusByUserName != null) && (statusByUserName.length() == 0)) {
1273                            mbMessageCacheModel.statusByUserName = null;
1274                    }
1275    
1276                    Date statusDate = getStatusDate();
1277    
1278                    if (statusDate != null) {
1279                            mbMessageCacheModel.statusDate = statusDate.getTime();
1280                    }
1281                    else {
1282                            mbMessageCacheModel.statusDate = Long.MIN_VALUE;
1283                    }
1284    
1285                    return mbMessageCacheModel;
1286            }
1287    
1288            @Override
1289            public String toString() {
1290                    StringBundler sb = new StringBundler(51);
1291    
1292                    sb.append("{uuid=");
1293                    sb.append(getUuid());
1294                    sb.append(", messageId=");
1295                    sb.append(getMessageId());
1296                    sb.append(", groupId=");
1297                    sb.append(getGroupId());
1298                    sb.append(", companyId=");
1299                    sb.append(getCompanyId());
1300                    sb.append(", userId=");
1301                    sb.append(getUserId());
1302                    sb.append(", userName=");
1303                    sb.append(getUserName());
1304                    sb.append(", createDate=");
1305                    sb.append(getCreateDate());
1306                    sb.append(", modifiedDate=");
1307                    sb.append(getModifiedDate());
1308                    sb.append(", classNameId=");
1309                    sb.append(getClassNameId());
1310                    sb.append(", classPK=");
1311                    sb.append(getClassPK());
1312                    sb.append(", categoryId=");
1313                    sb.append(getCategoryId());
1314                    sb.append(", threadId=");
1315                    sb.append(getThreadId());
1316                    sb.append(", rootMessageId=");
1317                    sb.append(getRootMessageId());
1318                    sb.append(", parentMessageId=");
1319                    sb.append(getParentMessageId());
1320                    sb.append(", subject=");
1321                    sb.append(getSubject());
1322                    sb.append(", body=");
1323                    sb.append(getBody());
1324                    sb.append(", format=");
1325                    sb.append(getFormat());
1326                    sb.append(", anonymous=");
1327                    sb.append(getAnonymous());
1328                    sb.append(", priority=");
1329                    sb.append(getPriority());
1330                    sb.append(", allowPingbacks=");
1331                    sb.append(getAllowPingbacks());
1332                    sb.append(", answer=");
1333                    sb.append(getAnswer());
1334                    sb.append(", status=");
1335                    sb.append(getStatus());
1336                    sb.append(", statusByUserId=");
1337                    sb.append(getStatusByUserId());
1338                    sb.append(", statusByUserName=");
1339                    sb.append(getStatusByUserName());
1340                    sb.append(", statusDate=");
1341                    sb.append(getStatusDate());
1342                    sb.append("}");
1343    
1344                    return sb.toString();
1345            }
1346    
1347            @Override
1348            public String toXmlString() {
1349                    StringBundler sb = new StringBundler(79);
1350    
1351                    sb.append("<model><model-name>");
1352                    sb.append("com.liferay.portlet.messageboards.model.MBMessage");
1353                    sb.append("</model-name>");
1354    
1355                    sb.append(
1356                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
1357                    sb.append(getUuid());
1358                    sb.append("]]></column-value></column>");
1359                    sb.append(
1360                            "<column><column-name>messageId</column-name><column-value><![CDATA[");
1361                    sb.append(getMessageId());
1362                    sb.append("]]></column-value></column>");
1363                    sb.append(
1364                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
1365                    sb.append(getGroupId());
1366                    sb.append("]]></column-value></column>");
1367                    sb.append(
1368                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
1369                    sb.append(getCompanyId());
1370                    sb.append("]]></column-value></column>");
1371                    sb.append(
1372                            "<column><column-name>userId</column-name><column-value><![CDATA[");
1373                    sb.append(getUserId());
1374                    sb.append("]]></column-value></column>");
1375                    sb.append(
1376                            "<column><column-name>userName</column-name><column-value><![CDATA[");
1377                    sb.append(getUserName());
1378                    sb.append("]]></column-value></column>");
1379                    sb.append(
1380                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
1381                    sb.append(getCreateDate());
1382                    sb.append("]]></column-value></column>");
1383                    sb.append(
1384                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
1385                    sb.append(getModifiedDate());
1386                    sb.append("]]></column-value></column>");
1387                    sb.append(
1388                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
1389                    sb.append(getClassNameId());
1390                    sb.append("]]></column-value></column>");
1391                    sb.append(
1392                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
1393                    sb.append(getClassPK());
1394                    sb.append("]]></column-value></column>");
1395                    sb.append(
1396                            "<column><column-name>categoryId</column-name><column-value><![CDATA[");
1397                    sb.append(getCategoryId());
1398                    sb.append("]]></column-value></column>");
1399                    sb.append(
1400                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
1401                    sb.append(getThreadId());
1402                    sb.append("]]></column-value></column>");
1403                    sb.append(
1404                            "<column><column-name>rootMessageId</column-name><column-value><![CDATA[");
1405                    sb.append(getRootMessageId());
1406                    sb.append("]]></column-value></column>");
1407                    sb.append(
1408                            "<column><column-name>parentMessageId</column-name><column-value><![CDATA[");
1409                    sb.append(getParentMessageId());
1410                    sb.append("]]></column-value></column>");
1411                    sb.append(
1412                            "<column><column-name>subject</column-name><column-value><![CDATA[");
1413                    sb.append(getSubject());
1414                    sb.append("]]></column-value></column>");
1415                    sb.append(
1416                            "<column><column-name>body</column-name><column-value><![CDATA[");
1417                    sb.append(getBody());
1418                    sb.append("]]></column-value></column>");
1419                    sb.append(
1420                            "<column><column-name>format</column-name><column-value><![CDATA[");
1421                    sb.append(getFormat());
1422                    sb.append("]]></column-value></column>");
1423                    sb.append(
1424                            "<column><column-name>anonymous</column-name><column-value><![CDATA[");
1425                    sb.append(getAnonymous());
1426                    sb.append("]]></column-value></column>");
1427                    sb.append(
1428                            "<column><column-name>priority</column-name><column-value><![CDATA[");
1429                    sb.append(getPriority());
1430                    sb.append("]]></column-value></column>");
1431                    sb.append(
1432                            "<column><column-name>allowPingbacks</column-name><column-value><![CDATA[");
1433                    sb.append(getAllowPingbacks());
1434                    sb.append("]]></column-value></column>");
1435                    sb.append(
1436                            "<column><column-name>answer</column-name><column-value><![CDATA[");
1437                    sb.append(getAnswer());
1438                    sb.append("]]></column-value></column>");
1439                    sb.append(
1440                            "<column><column-name>status</column-name><column-value><![CDATA[");
1441                    sb.append(getStatus());
1442                    sb.append("]]></column-value></column>");
1443                    sb.append(
1444                            "<column><column-name>statusByUserId</column-name><column-value><![CDATA[");
1445                    sb.append(getStatusByUserId());
1446                    sb.append("]]></column-value></column>");
1447                    sb.append(
1448                            "<column><column-name>statusByUserName</column-name><column-value><![CDATA[");
1449                    sb.append(getStatusByUserName());
1450                    sb.append("]]></column-value></column>");
1451                    sb.append(
1452                            "<column><column-name>statusDate</column-name><column-value><![CDATA[");
1453                    sb.append(getStatusDate());
1454                    sb.append("]]></column-value></column>");
1455    
1456                    sb.append("</model>");
1457    
1458                    return sb.toString();
1459            }
1460    
1461            private static ClassLoader _classLoader = MBMessage.class.getClassLoader();
1462            private static Class<?>[] _escapedModelInterfaces = new Class[] {
1463                            MBMessage.class
1464                    };
1465            private String _uuid;
1466            private String _originalUuid;
1467            private long _messageId;
1468            private long _groupId;
1469            private long _originalGroupId;
1470            private boolean _setOriginalGroupId;
1471            private long _companyId;
1472            private long _originalCompanyId;
1473            private boolean _setOriginalCompanyId;
1474            private long _userId;
1475            private String _userUuid;
1476            private long _originalUserId;
1477            private boolean _setOriginalUserId;
1478            private String _userName;
1479            private Date _createDate;
1480            private Date _modifiedDate;
1481            private long _classNameId;
1482            private long _originalClassNameId;
1483            private boolean _setOriginalClassNameId;
1484            private long _classPK;
1485            private long _originalClassPK;
1486            private boolean _setOriginalClassPK;
1487            private long _categoryId;
1488            private long _originalCategoryId;
1489            private boolean _setOriginalCategoryId;
1490            private long _threadId;
1491            private long _originalThreadId;
1492            private boolean _setOriginalThreadId;
1493            private long _rootMessageId;
1494            private long _parentMessageId;
1495            private long _originalParentMessageId;
1496            private boolean _setOriginalParentMessageId;
1497            private String _subject;
1498            private String _body;
1499            private String _format;
1500            private boolean _anonymous;
1501            private double _priority;
1502            private boolean _allowPingbacks;
1503            private boolean _answer;
1504            private boolean _originalAnswer;
1505            private boolean _setOriginalAnswer;
1506            private int _status;
1507            private int _originalStatus;
1508            private boolean _setOriginalStatus;
1509            private long _statusByUserId;
1510            private String _statusByUserUuid;
1511            private String _statusByUserName;
1512            private Date _statusDate;
1513            private long _columnBitmask;
1514            private MBMessage _escapedModel;
1515    }