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