001    /**
002     * Copyright (c) 2000-2012 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                            { "attachments", Types.BOOLEAN },
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,attachments BOOLEAN,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    
126            /**
127             * Converts the soap model instance into a normal model instance.
128             *
129             * @param soapModel the soap model instance to convert
130             * @return the normal model instance
131             */
132            public static MBMessage toModel(MBMessageSoap soapModel) {
133                    if (soapModel == null) {
134                            return null;
135                    }
136    
137                    MBMessage model = new MBMessageImpl();
138    
139                    model.setUuid(soapModel.getUuid());
140                    model.setMessageId(soapModel.getMessageId());
141                    model.setGroupId(soapModel.getGroupId());
142                    model.setCompanyId(soapModel.getCompanyId());
143                    model.setUserId(soapModel.getUserId());
144                    model.setUserName(soapModel.getUserName());
145                    model.setCreateDate(soapModel.getCreateDate());
146                    model.setModifiedDate(soapModel.getModifiedDate());
147                    model.setClassNameId(soapModel.getClassNameId());
148                    model.setClassPK(soapModel.getClassPK());
149                    model.setCategoryId(soapModel.getCategoryId());
150                    model.setThreadId(soapModel.getThreadId());
151                    model.setRootMessageId(soapModel.getRootMessageId());
152                    model.setParentMessageId(soapModel.getParentMessageId());
153                    model.setSubject(soapModel.getSubject());
154                    model.setBody(soapModel.getBody());
155                    model.setFormat(soapModel.getFormat());
156                    model.setAttachments(soapModel.getAttachments());
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 new Long(_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("attachments", getAttachments());
241                    attributes.put("anonymous", getAnonymous());
242                    attributes.put("priority", getPriority());
243                    attributes.put("allowPingbacks", getAllowPingbacks());
244                    attributes.put("answer", getAnswer());
245                    attributes.put("status", getStatus());
246                    attributes.put("statusByUserId", getStatusByUserId());
247                    attributes.put("statusByUserName", getStatusByUserName());
248                    attributes.put("statusDate", getStatusDate());
249    
250                    return attributes;
251            }
252    
253            @Override
254            public void setModelAttributes(Map<String, Object> attributes) {
255                    String uuid = (String)attributes.get("uuid");
256    
257                    if (uuid != null) {
258                            setUuid(uuid);
259                    }
260    
261                    Long messageId = (Long)attributes.get("messageId");
262    
263                    if (messageId != null) {
264                            setMessageId(messageId);
265                    }
266    
267                    Long groupId = (Long)attributes.get("groupId");
268    
269                    if (groupId != null) {
270                            setGroupId(groupId);
271                    }
272    
273                    Long companyId = (Long)attributes.get("companyId");
274    
275                    if (companyId != null) {
276                            setCompanyId(companyId);
277                    }
278    
279                    Long userId = (Long)attributes.get("userId");
280    
281                    if (userId != null) {
282                            setUserId(userId);
283                    }
284    
285                    String userName = (String)attributes.get("userName");
286    
287                    if (userName != null) {
288                            setUserName(userName);
289                    }
290    
291                    Date createDate = (Date)attributes.get("createDate");
292    
293                    if (createDate != null) {
294                            setCreateDate(createDate);
295                    }
296    
297                    Date modifiedDate = (Date)attributes.get("modifiedDate");
298    
299                    if (modifiedDate != null) {
300                            setModifiedDate(modifiedDate);
301                    }
302    
303                    Long classNameId = (Long)attributes.get("classNameId");
304    
305                    if (classNameId != null) {
306                            setClassNameId(classNameId);
307                    }
308    
309                    Long classPK = (Long)attributes.get("classPK");
310    
311                    if (classPK != null) {
312                            setClassPK(classPK);
313                    }
314    
315                    Long categoryId = (Long)attributes.get("categoryId");
316    
317                    if (categoryId != null) {
318                            setCategoryId(categoryId);
319                    }
320    
321                    Long threadId = (Long)attributes.get("threadId");
322    
323                    if (threadId != null) {
324                            setThreadId(threadId);
325                    }
326    
327                    Long rootMessageId = (Long)attributes.get("rootMessageId");
328    
329                    if (rootMessageId != null) {
330                            setRootMessageId(rootMessageId);
331                    }
332    
333                    Long parentMessageId = (Long)attributes.get("parentMessageId");
334    
335                    if (parentMessageId != null) {
336                            setParentMessageId(parentMessageId);
337                    }
338    
339                    String subject = (String)attributes.get("subject");
340    
341                    if (subject != null) {
342                            setSubject(subject);
343                    }
344    
345                    String body = (String)attributes.get("body");
346    
347                    if (body != null) {
348                            setBody(body);
349                    }
350    
351                    String format = (String)attributes.get("format");
352    
353                    if (format != null) {
354                            setFormat(format);
355                    }
356    
357                    Boolean attachments = (Boolean)attributes.get("attachments");
358    
359                    if (attachments != null) {
360                            setAttachments(attachments);
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            public String getUuid() {
414                    if (_uuid == null) {
415                            return StringPool.BLANK;
416                    }
417                    else {
418                            return _uuid;
419                    }
420            }
421    
422            public void setUuid(String uuid) {
423                    if (_originalUuid == null) {
424                            _originalUuid = _uuid;
425                    }
426    
427                    _uuid = uuid;
428            }
429    
430            public String getOriginalUuid() {
431                    return GetterUtil.getString(_originalUuid);
432            }
433    
434            @JSON
435            public long getMessageId() {
436                    return _messageId;
437            }
438    
439            public void setMessageId(long messageId) {
440                    _columnBitmask = -1L;
441    
442                    _messageId = messageId;
443            }
444    
445            @JSON
446            public long getGroupId() {
447                    return _groupId;
448            }
449    
450            public void setGroupId(long groupId) {
451                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
452    
453                    if (!_setOriginalGroupId) {
454                            _setOriginalGroupId = true;
455    
456                            _originalGroupId = _groupId;
457                    }
458    
459                    _groupId = groupId;
460            }
461    
462            public long getOriginalGroupId() {
463                    return _originalGroupId;
464            }
465    
466            @JSON
467            public long getCompanyId() {
468                    return _companyId;
469            }
470    
471            public void setCompanyId(long companyId) {
472                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
473    
474                    if (!_setOriginalCompanyId) {
475                            _setOriginalCompanyId = true;
476    
477                            _originalCompanyId = _companyId;
478                    }
479    
480                    _companyId = companyId;
481            }
482    
483            public long getOriginalCompanyId() {
484                    return _originalCompanyId;
485            }
486    
487            @JSON
488            public long getUserId() {
489                    return _userId;
490            }
491    
492            public void setUserId(long userId) {
493                    _columnBitmask |= USERID_COLUMN_BITMASK;
494    
495                    if (!_setOriginalUserId) {
496                            _setOriginalUserId = true;
497    
498                            _originalUserId = _userId;
499                    }
500    
501                    _userId = userId;
502            }
503    
504            public String getUserUuid() throws SystemException {
505                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
506            }
507    
508            public void setUserUuid(String userUuid) {
509                    _userUuid = userUuid;
510            }
511    
512            public long getOriginalUserId() {
513                    return _originalUserId;
514            }
515    
516            @JSON
517            public String getUserName() {
518                    if (_userName == null) {
519                            return StringPool.BLANK;
520                    }
521                    else {
522                            return _userName;
523                    }
524            }
525    
526            public void setUserName(String userName) {
527                    _userName = userName;
528            }
529    
530            @JSON
531            public Date getCreateDate() {
532                    return _createDate;
533            }
534    
535            public void setCreateDate(Date createDate) {
536                    _columnBitmask = -1L;
537    
538                    _createDate = createDate;
539            }
540    
541            @JSON
542            public Date getModifiedDate() {
543                    return _modifiedDate;
544            }
545    
546            public void setModifiedDate(Date modifiedDate) {
547                    _modifiedDate = modifiedDate;
548            }
549    
550            public String getClassName() {
551                    if (getClassNameId() <= 0) {
552                            return StringPool.BLANK;
553                    }
554    
555                    return PortalUtil.getClassName(getClassNameId());
556            }
557    
558            public void setClassName(String className) {
559                    long classNameId = 0;
560    
561                    if (Validator.isNotNull(className)) {
562                            classNameId = PortalUtil.getClassNameId(className);
563                    }
564    
565                    setClassNameId(classNameId);
566            }
567    
568            @JSON
569            public long getClassNameId() {
570                    return _classNameId;
571            }
572    
573            public void setClassNameId(long classNameId) {
574                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
575    
576                    if (!_setOriginalClassNameId) {
577                            _setOriginalClassNameId = true;
578    
579                            _originalClassNameId = _classNameId;
580                    }
581    
582                    _classNameId = classNameId;
583            }
584    
585            public long getOriginalClassNameId() {
586                    return _originalClassNameId;
587            }
588    
589            @JSON
590            public long getClassPK() {
591                    return _classPK;
592            }
593    
594            public void setClassPK(long classPK) {
595                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
596    
597                    if (!_setOriginalClassPK) {
598                            _setOriginalClassPK = true;
599    
600                            _originalClassPK = _classPK;
601                    }
602    
603                    _classPK = classPK;
604            }
605    
606            public long getOriginalClassPK() {
607                    return _originalClassPK;
608            }
609    
610            @JSON
611            public long getCategoryId() {
612                    return _categoryId;
613            }
614    
615            public void setCategoryId(long categoryId) {
616                    _columnBitmask |= CATEGORYID_COLUMN_BITMASK;
617    
618                    if (!_setOriginalCategoryId) {
619                            _setOriginalCategoryId = true;
620    
621                            _originalCategoryId = _categoryId;
622                    }
623    
624                    _categoryId = categoryId;
625            }
626    
627            public long getOriginalCategoryId() {
628                    return _originalCategoryId;
629            }
630    
631            @JSON
632            public long getThreadId() {
633                    return _threadId;
634            }
635    
636            public void setThreadId(long threadId) {
637                    _columnBitmask |= THREADID_COLUMN_BITMASK;
638    
639                    if (!_setOriginalThreadId) {
640                            _setOriginalThreadId = true;
641    
642                            _originalThreadId = _threadId;
643                    }
644    
645                    _threadId = threadId;
646            }
647    
648            public long getOriginalThreadId() {
649                    return _originalThreadId;
650            }
651    
652            @JSON
653            public long getRootMessageId() {
654                    return _rootMessageId;
655            }
656    
657            public void setRootMessageId(long rootMessageId) {
658                    _rootMessageId = rootMessageId;
659            }
660    
661            @JSON
662            public long getParentMessageId() {
663                    return _parentMessageId;
664            }
665    
666            public void setParentMessageId(long parentMessageId) {
667                    _columnBitmask |= PARENTMESSAGEID_COLUMN_BITMASK;
668    
669                    if (!_setOriginalParentMessageId) {
670                            _setOriginalParentMessageId = true;
671    
672                            _originalParentMessageId = _parentMessageId;
673                    }
674    
675                    _parentMessageId = parentMessageId;
676            }
677    
678            public long getOriginalParentMessageId() {
679                    return _originalParentMessageId;
680            }
681    
682            @JSON
683            public String getSubject() {
684                    if (_subject == null) {
685                            return StringPool.BLANK;
686                    }
687                    else {
688                            return _subject;
689                    }
690            }
691    
692            public void setSubject(String subject) {
693                    _subject = subject;
694            }
695    
696            @JSON
697            public String getBody() {
698                    if (_body == null) {
699                            return StringPool.BLANK;
700                    }
701                    else {
702                            return _body;
703                    }
704            }
705    
706            public void setBody(String body) {
707                    _body = body;
708            }
709    
710            @JSON
711            public String getFormat() {
712                    if (_format == null) {
713                            return StringPool.BLANK;
714                    }
715                    else {
716                            return _format;
717                    }
718            }
719    
720            public void setFormat(String format) {
721                    _format = format;
722            }
723    
724            @JSON
725            public boolean getAttachments() {
726                    return _attachments;
727            }
728    
729            public boolean isAttachments() {
730                    return _attachments;
731            }
732    
733            public void setAttachments(boolean attachments) {
734                    _attachments = attachments;
735            }
736    
737            @JSON
738            public boolean getAnonymous() {
739                    return _anonymous;
740            }
741    
742            public boolean isAnonymous() {
743                    return _anonymous;
744            }
745    
746            public void setAnonymous(boolean anonymous) {
747                    _anonymous = anonymous;
748            }
749    
750            @JSON
751            public double getPriority() {
752                    return _priority;
753            }
754    
755            public void setPriority(double priority) {
756                    _priority = priority;
757            }
758    
759            @JSON
760            public boolean getAllowPingbacks() {
761                    return _allowPingbacks;
762            }
763    
764            public boolean isAllowPingbacks() {
765                    return _allowPingbacks;
766            }
767    
768            public void setAllowPingbacks(boolean allowPingbacks) {
769                    _allowPingbacks = allowPingbacks;
770            }
771    
772            @JSON
773            public boolean getAnswer() {
774                    return _answer;
775            }
776    
777            public boolean isAnswer() {
778                    return _answer;
779            }
780    
781            public void setAnswer(boolean answer) {
782                    _columnBitmask |= ANSWER_COLUMN_BITMASK;
783    
784                    if (!_setOriginalAnswer) {
785                            _setOriginalAnswer = true;
786    
787                            _originalAnswer = _answer;
788                    }
789    
790                    _answer = answer;
791            }
792    
793            public boolean getOriginalAnswer() {
794                    return _originalAnswer;
795            }
796    
797            @JSON
798            public int getStatus() {
799                    return _status;
800            }
801    
802            public void setStatus(int status) {
803                    _columnBitmask |= STATUS_COLUMN_BITMASK;
804    
805                    if (!_setOriginalStatus) {
806                            _setOriginalStatus = true;
807    
808                            _originalStatus = _status;
809                    }
810    
811                    _status = status;
812            }
813    
814            public int getOriginalStatus() {
815                    return _originalStatus;
816            }
817    
818            @JSON
819            public long getStatusByUserId() {
820                    return _statusByUserId;
821            }
822    
823            public void setStatusByUserId(long statusByUserId) {
824                    _statusByUserId = statusByUserId;
825            }
826    
827            public String getStatusByUserUuid() throws SystemException {
828                    return PortalUtil.getUserValue(getStatusByUserId(), "uuid",
829                            _statusByUserUuid);
830            }
831    
832            public void setStatusByUserUuid(String statusByUserUuid) {
833                    _statusByUserUuid = statusByUserUuid;
834            }
835    
836            @JSON
837            public String getStatusByUserName() {
838                    if (_statusByUserName == null) {
839                            return StringPool.BLANK;
840                    }
841                    else {
842                            return _statusByUserName;
843                    }
844            }
845    
846            public void setStatusByUserName(String statusByUserName) {
847                    _statusByUserName = statusByUserName;
848            }
849    
850            @JSON
851            public Date getStatusDate() {
852                    return _statusDate;
853            }
854    
855            public void setStatusDate(Date statusDate) {
856                    _statusDate = statusDate;
857            }
858    
859            /**
860             * @deprecated {@link #isApproved}
861             */
862            public boolean getApproved() {
863                    return isApproved();
864            }
865    
866            public boolean isApproved() {
867                    if (getStatus() == WorkflowConstants.STATUS_APPROVED) {
868                            return true;
869                    }
870                    else {
871                            return false;
872                    }
873            }
874    
875            public boolean isDenied() {
876                    if (getStatus() == WorkflowConstants.STATUS_DENIED) {
877                            return true;
878                    }
879                    else {
880                            return false;
881                    }
882            }
883    
884            public boolean isDraft() {
885                    if (getStatus() == WorkflowConstants.STATUS_DRAFT) {
886                            return true;
887                    }
888                    else {
889                            return false;
890                    }
891            }
892    
893            public boolean isExpired() {
894                    if (getStatus() == WorkflowConstants.STATUS_EXPIRED) {
895                            return true;
896                    }
897                    else {
898                            return false;
899                    }
900            }
901    
902            public boolean isInactive() {
903                    if (getStatus() == WorkflowConstants.STATUS_INACTIVE) {
904                            return true;
905                    }
906                    else {
907                            return false;
908                    }
909            }
910    
911            public boolean isIncomplete() {
912                    if (getStatus() == WorkflowConstants.STATUS_INCOMPLETE) {
913                            return true;
914                    }
915                    else {
916                            return false;
917                    }
918            }
919    
920            public boolean isInTrash() {
921                    if (getStatus() == WorkflowConstants.STATUS_IN_TRASH) {
922                            return true;
923                    }
924                    else {
925                            return false;
926                    }
927            }
928    
929            public boolean isPending() {
930                    if (getStatus() == WorkflowConstants.STATUS_PENDING) {
931                            return true;
932                    }
933                    else {
934                            return false;
935                    }
936            }
937    
938            public boolean isScheduled() {
939                    if (getStatus() == WorkflowConstants.STATUS_SCHEDULED) {
940                            return true;
941                    }
942                    else {
943                            return false;
944                    }
945            }
946    
947            public long getColumnBitmask() {
948                    return _columnBitmask;
949            }
950    
951            @Override
952            public ExpandoBridge getExpandoBridge() {
953                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
954                            MBMessage.class.getName(), getPrimaryKey());
955            }
956    
957            @Override
958            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
959                    ExpandoBridge expandoBridge = getExpandoBridge();
960    
961                    expandoBridge.setAttributes(serviceContext);
962            }
963    
964            @Override
965            public MBMessage toEscapedModel() {
966                    if (_escapedModelProxy == null) {
967                            _escapedModelProxy = (MBMessage)ProxyUtil.newProxyInstance(_classLoader,
968                                            _escapedModelProxyInterfaces,
969                                            new AutoEscapeBeanHandler(this));
970                    }
971    
972                    return _escapedModelProxy;
973            }
974    
975            @Override
976            public Object clone() {
977                    MBMessageImpl mbMessageImpl = new MBMessageImpl();
978    
979                    mbMessageImpl.setUuid(getUuid());
980                    mbMessageImpl.setMessageId(getMessageId());
981                    mbMessageImpl.setGroupId(getGroupId());
982                    mbMessageImpl.setCompanyId(getCompanyId());
983                    mbMessageImpl.setUserId(getUserId());
984                    mbMessageImpl.setUserName(getUserName());
985                    mbMessageImpl.setCreateDate(getCreateDate());
986                    mbMessageImpl.setModifiedDate(getModifiedDate());
987                    mbMessageImpl.setClassNameId(getClassNameId());
988                    mbMessageImpl.setClassPK(getClassPK());
989                    mbMessageImpl.setCategoryId(getCategoryId());
990                    mbMessageImpl.setThreadId(getThreadId());
991                    mbMessageImpl.setRootMessageId(getRootMessageId());
992                    mbMessageImpl.setParentMessageId(getParentMessageId());
993                    mbMessageImpl.setSubject(getSubject());
994                    mbMessageImpl.setBody(getBody());
995                    mbMessageImpl.setFormat(getFormat());
996                    mbMessageImpl.setAttachments(getAttachments());
997                    mbMessageImpl.setAnonymous(getAnonymous());
998                    mbMessageImpl.setPriority(getPriority());
999                    mbMessageImpl.setAllowPingbacks(getAllowPingbacks());
1000                    mbMessageImpl.setAnswer(getAnswer());
1001                    mbMessageImpl.setStatus(getStatus());
1002                    mbMessageImpl.setStatusByUserId(getStatusByUserId());
1003                    mbMessageImpl.setStatusByUserName(getStatusByUserName());
1004                    mbMessageImpl.setStatusDate(getStatusDate());
1005    
1006                    mbMessageImpl.resetOriginalValues();
1007    
1008                    return mbMessageImpl;
1009            }
1010    
1011            public int compareTo(MBMessage mbMessage) {
1012                    int value = 0;
1013    
1014                    value = DateUtil.compareTo(getCreateDate(), mbMessage.getCreateDate());
1015    
1016                    if (value != 0) {
1017                            return value;
1018                    }
1019    
1020                    if (getMessageId() < mbMessage.getMessageId()) {
1021                            value = -1;
1022                    }
1023                    else if (getMessageId() > mbMessage.getMessageId()) {
1024                            value = 1;
1025                    }
1026                    else {
1027                            value = 0;
1028                    }
1029    
1030                    if (value != 0) {
1031                            return value;
1032                    }
1033    
1034                    return 0;
1035            }
1036    
1037            @Override
1038            public boolean equals(Object obj) {
1039                    if (obj == null) {
1040                            return false;
1041                    }
1042    
1043                    MBMessage mbMessage = null;
1044    
1045                    try {
1046                            mbMessage = (MBMessage)obj;
1047                    }
1048                    catch (ClassCastException cce) {
1049                            return false;
1050                    }
1051    
1052                    long primaryKey = mbMessage.getPrimaryKey();
1053    
1054                    if (getPrimaryKey() == primaryKey) {
1055                            return true;
1056                    }
1057                    else {
1058                            return false;
1059                    }
1060            }
1061    
1062            @Override
1063            public int hashCode() {
1064                    return (int)getPrimaryKey();
1065            }
1066    
1067            @Override
1068            public void resetOriginalValues() {
1069                    MBMessageModelImpl mbMessageModelImpl = this;
1070    
1071                    mbMessageModelImpl._originalUuid = mbMessageModelImpl._uuid;
1072    
1073                    mbMessageModelImpl._originalGroupId = mbMessageModelImpl._groupId;
1074    
1075                    mbMessageModelImpl._setOriginalGroupId = false;
1076    
1077                    mbMessageModelImpl._originalCompanyId = mbMessageModelImpl._companyId;
1078    
1079                    mbMessageModelImpl._setOriginalCompanyId = false;
1080    
1081                    mbMessageModelImpl._originalUserId = mbMessageModelImpl._userId;
1082    
1083                    mbMessageModelImpl._setOriginalUserId = false;
1084    
1085                    mbMessageModelImpl._originalClassNameId = mbMessageModelImpl._classNameId;
1086    
1087                    mbMessageModelImpl._setOriginalClassNameId = false;
1088    
1089                    mbMessageModelImpl._originalClassPK = mbMessageModelImpl._classPK;
1090    
1091                    mbMessageModelImpl._setOriginalClassPK = false;
1092    
1093                    mbMessageModelImpl._originalCategoryId = mbMessageModelImpl._categoryId;
1094    
1095                    mbMessageModelImpl._setOriginalCategoryId = false;
1096    
1097                    mbMessageModelImpl._originalThreadId = mbMessageModelImpl._threadId;
1098    
1099                    mbMessageModelImpl._setOriginalThreadId = false;
1100    
1101                    mbMessageModelImpl._originalParentMessageId = mbMessageModelImpl._parentMessageId;
1102    
1103                    mbMessageModelImpl._setOriginalParentMessageId = false;
1104    
1105                    mbMessageModelImpl._originalAnswer = mbMessageModelImpl._answer;
1106    
1107                    mbMessageModelImpl._setOriginalAnswer = false;
1108    
1109                    mbMessageModelImpl._originalStatus = mbMessageModelImpl._status;
1110    
1111                    mbMessageModelImpl._setOriginalStatus = false;
1112    
1113                    mbMessageModelImpl._columnBitmask = 0;
1114            }
1115    
1116            @Override
1117            public CacheModel<MBMessage> toCacheModel() {
1118                    MBMessageCacheModel mbMessageCacheModel = new MBMessageCacheModel();
1119    
1120                    mbMessageCacheModel.uuid = getUuid();
1121    
1122                    String uuid = mbMessageCacheModel.uuid;
1123    
1124                    if ((uuid != null) && (uuid.length() == 0)) {
1125                            mbMessageCacheModel.uuid = null;
1126                    }
1127    
1128                    mbMessageCacheModel.messageId = getMessageId();
1129    
1130                    mbMessageCacheModel.groupId = getGroupId();
1131    
1132                    mbMessageCacheModel.companyId = getCompanyId();
1133    
1134                    mbMessageCacheModel.userId = getUserId();
1135    
1136                    mbMessageCacheModel.userName = getUserName();
1137    
1138                    String userName = mbMessageCacheModel.userName;
1139    
1140                    if ((userName != null) && (userName.length() == 0)) {
1141                            mbMessageCacheModel.userName = null;
1142                    }
1143    
1144                    Date createDate = getCreateDate();
1145    
1146                    if (createDate != null) {
1147                            mbMessageCacheModel.createDate = createDate.getTime();
1148                    }
1149                    else {
1150                            mbMessageCacheModel.createDate = Long.MIN_VALUE;
1151                    }
1152    
1153                    Date modifiedDate = getModifiedDate();
1154    
1155                    if (modifiedDate != null) {
1156                            mbMessageCacheModel.modifiedDate = modifiedDate.getTime();
1157                    }
1158                    else {
1159                            mbMessageCacheModel.modifiedDate = Long.MIN_VALUE;
1160                    }
1161    
1162                    mbMessageCacheModel.classNameId = getClassNameId();
1163    
1164                    mbMessageCacheModel.classPK = getClassPK();
1165    
1166                    mbMessageCacheModel.categoryId = getCategoryId();
1167    
1168                    mbMessageCacheModel.threadId = getThreadId();
1169    
1170                    mbMessageCacheModel.rootMessageId = getRootMessageId();
1171    
1172                    mbMessageCacheModel.parentMessageId = getParentMessageId();
1173    
1174                    mbMessageCacheModel.subject = getSubject();
1175    
1176                    String subject = mbMessageCacheModel.subject;
1177    
1178                    if ((subject != null) && (subject.length() == 0)) {
1179                            mbMessageCacheModel.subject = null;
1180                    }
1181    
1182                    mbMessageCacheModel.body = getBody();
1183    
1184                    String body = mbMessageCacheModel.body;
1185    
1186                    if ((body != null) && (body.length() == 0)) {
1187                            mbMessageCacheModel.body = null;
1188                    }
1189    
1190                    mbMessageCacheModel.format = getFormat();
1191    
1192                    String format = mbMessageCacheModel.format;
1193    
1194                    if ((format != null) && (format.length() == 0)) {
1195                            mbMessageCacheModel.format = null;
1196                    }
1197    
1198                    mbMessageCacheModel.attachments = getAttachments();
1199    
1200                    mbMessageCacheModel.anonymous = getAnonymous();
1201    
1202                    mbMessageCacheModel.priority = getPriority();
1203    
1204                    mbMessageCacheModel.allowPingbacks = getAllowPingbacks();
1205    
1206                    mbMessageCacheModel.answer = getAnswer();
1207    
1208                    mbMessageCacheModel.status = getStatus();
1209    
1210                    mbMessageCacheModel.statusByUserId = getStatusByUserId();
1211    
1212                    mbMessageCacheModel.statusByUserName = getStatusByUserName();
1213    
1214                    String statusByUserName = mbMessageCacheModel.statusByUserName;
1215    
1216                    if ((statusByUserName != null) && (statusByUserName.length() == 0)) {
1217                            mbMessageCacheModel.statusByUserName = null;
1218                    }
1219    
1220                    Date statusDate = getStatusDate();
1221    
1222                    if (statusDate != null) {
1223                            mbMessageCacheModel.statusDate = statusDate.getTime();
1224                    }
1225                    else {
1226                            mbMessageCacheModel.statusDate = Long.MIN_VALUE;
1227                    }
1228    
1229                    return mbMessageCacheModel;
1230            }
1231    
1232            @Override
1233            public String toString() {
1234                    StringBundler sb = new StringBundler(53);
1235    
1236                    sb.append("{uuid=");
1237                    sb.append(getUuid());
1238                    sb.append(", messageId=");
1239                    sb.append(getMessageId());
1240                    sb.append(", groupId=");
1241                    sb.append(getGroupId());
1242                    sb.append(", companyId=");
1243                    sb.append(getCompanyId());
1244                    sb.append(", userId=");
1245                    sb.append(getUserId());
1246                    sb.append(", userName=");
1247                    sb.append(getUserName());
1248                    sb.append(", createDate=");
1249                    sb.append(getCreateDate());
1250                    sb.append(", modifiedDate=");
1251                    sb.append(getModifiedDate());
1252                    sb.append(", classNameId=");
1253                    sb.append(getClassNameId());
1254                    sb.append(", classPK=");
1255                    sb.append(getClassPK());
1256                    sb.append(", categoryId=");
1257                    sb.append(getCategoryId());
1258                    sb.append(", threadId=");
1259                    sb.append(getThreadId());
1260                    sb.append(", rootMessageId=");
1261                    sb.append(getRootMessageId());
1262                    sb.append(", parentMessageId=");
1263                    sb.append(getParentMessageId());
1264                    sb.append(", subject=");
1265                    sb.append(getSubject());
1266                    sb.append(", body=");
1267                    sb.append(getBody());
1268                    sb.append(", format=");
1269                    sb.append(getFormat());
1270                    sb.append(", attachments=");
1271                    sb.append(getAttachments());
1272                    sb.append(", anonymous=");
1273                    sb.append(getAnonymous());
1274                    sb.append(", priority=");
1275                    sb.append(getPriority());
1276                    sb.append(", allowPingbacks=");
1277                    sb.append(getAllowPingbacks());
1278                    sb.append(", answer=");
1279                    sb.append(getAnswer());
1280                    sb.append(", status=");
1281                    sb.append(getStatus());
1282                    sb.append(", statusByUserId=");
1283                    sb.append(getStatusByUserId());
1284                    sb.append(", statusByUserName=");
1285                    sb.append(getStatusByUserName());
1286                    sb.append(", statusDate=");
1287                    sb.append(getStatusDate());
1288                    sb.append("}");
1289    
1290                    return sb.toString();
1291            }
1292    
1293            public String toXmlString() {
1294                    StringBundler sb = new StringBundler(82);
1295    
1296                    sb.append("<model><model-name>");
1297                    sb.append("com.liferay.portlet.messageboards.model.MBMessage");
1298                    sb.append("</model-name>");
1299    
1300                    sb.append(
1301                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
1302                    sb.append(getUuid());
1303                    sb.append("]]></column-value></column>");
1304                    sb.append(
1305                            "<column><column-name>messageId</column-name><column-value><![CDATA[");
1306                    sb.append(getMessageId());
1307                    sb.append("]]></column-value></column>");
1308                    sb.append(
1309                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
1310                    sb.append(getGroupId());
1311                    sb.append("]]></column-value></column>");
1312                    sb.append(
1313                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
1314                    sb.append(getCompanyId());
1315                    sb.append("]]></column-value></column>");
1316                    sb.append(
1317                            "<column><column-name>userId</column-name><column-value><![CDATA[");
1318                    sb.append(getUserId());
1319                    sb.append("]]></column-value></column>");
1320                    sb.append(
1321                            "<column><column-name>userName</column-name><column-value><![CDATA[");
1322                    sb.append(getUserName());
1323                    sb.append("]]></column-value></column>");
1324                    sb.append(
1325                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
1326                    sb.append(getCreateDate());
1327                    sb.append("]]></column-value></column>");
1328                    sb.append(
1329                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
1330                    sb.append(getModifiedDate());
1331                    sb.append("]]></column-value></column>");
1332                    sb.append(
1333                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
1334                    sb.append(getClassNameId());
1335                    sb.append("]]></column-value></column>");
1336                    sb.append(
1337                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
1338                    sb.append(getClassPK());
1339                    sb.append("]]></column-value></column>");
1340                    sb.append(
1341                            "<column><column-name>categoryId</column-name><column-value><![CDATA[");
1342                    sb.append(getCategoryId());
1343                    sb.append("]]></column-value></column>");
1344                    sb.append(
1345                            "<column><column-name>threadId</column-name><column-value><![CDATA[");
1346                    sb.append(getThreadId());
1347                    sb.append("]]></column-value></column>");
1348                    sb.append(
1349                            "<column><column-name>rootMessageId</column-name><column-value><![CDATA[");
1350                    sb.append(getRootMessageId());
1351                    sb.append("]]></column-value></column>");
1352                    sb.append(
1353                            "<column><column-name>parentMessageId</column-name><column-value><![CDATA[");
1354                    sb.append(getParentMessageId());
1355                    sb.append("]]></column-value></column>");
1356                    sb.append(
1357                            "<column><column-name>subject</column-name><column-value><![CDATA[");
1358                    sb.append(getSubject());
1359                    sb.append("]]></column-value></column>");
1360                    sb.append(
1361                            "<column><column-name>body</column-name><column-value><![CDATA[");
1362                    sb.append(getBody());
1363                    sb.append("]]></column-value></column>");
1364                    sb.append(
1365                            "<column><column-name>format</column-name><column-value><![CDATA[");
1366                    sb.append(getFormat());
1367                    sb.append("]]></column-value></column>");
1368                    sb.append(
1369                            "<column><column-name>attachments</column-name><column-value><![CDATA[");
1370                    sb.append(getAttachments());
1371                    sb.append("]]></column-value></column>");
1372                    sb.append(
1373                            "<column><column-name>anonymous</column-name><column-value><![CDATA[");
1374                    sb.append(getAnonymous());
1375                    sb.append("]]></column-value></column>");
1376                    sb.append(
1377                            "<column><column-name>priority</column-name><column-value><![CDATA[");
1378                    sb.append(getPriority());
1379                    sb.append("]]></column-value></column>");
1380                    sb.append(
1381                            "<column><column-name>allowPingbacks</column-name><column-value><![CDATA[");
1382                    sb.append(getAllowPingbacks());
1383                    sb.append("]]></column-value></column>");
1384                    sb.append(
1385                            "<column><column-name>answer</column-name><column-value><![CDATA[");
1386                    sb.append(getAnswer());
1387                    sb.append("]]></column-value></column>");
1388                    sb.append(
1389                            "<column><column-name>status</column-name><column-value><![CDATA[");
1390                    sb.append(getStatus());
1391                    sb.append("]]></column-value></column>");
1392                    sb.append(
1393                            "<column><column-name>statusByUserId</column-name><column-value><![CDATA[");
1394                    sb.append(getStatusByUserId());
1395                    sb.append("]]></column-value></column>");
1396                    sb.append(
1397                            "<column><column-name>statusByUserName</column-name><column-value><![CDATA[");
1398                    sb.append(getStatusByUserName());
1399                    sb.append("]]></column-value></column>");
1400                    sb.append(
1401                            "<column><column-name>statusDate</column-name><column-value><![CDATA[");
1402                    sb.append(getStatusDate());
1403                    sb.append("]]></column-value></column>");
1404    
1405                    sb.append("</model>");
1406    
1407                    return sb.toString();
1408            }
1409    
1410            private static ClassLoader _classLoader = MBMessage.class.getClassLoader();
1411            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
1412                            MBMessage.class
1413                    };
1414            private String _uuid;
1415            private String _originalUuid;
1416            private long _messageId;
1417            private long _groupId;
1418            private long _originalGroupId;
1419            private boolean _setOriginalGroupId;
1420            private long _companyId;
1421            private long _originalCompanyId;
1422            private boolean _setOriginalCompanyId;
1423            private long _userId;
1424            private String _userUuid;
1425            private long _originalUserId;
1426            private boolean _setOriginalUserId;
1427            private String _userName;
1428            private Date _createDate;
1429            private Date _modifiedDate;
1430            private long _classNameId;
1431            private long _originalClassNameId;
1432            private boolean _setOriginalClassNameId;
1433            private long _classPK;
1434            private long _originalClassPK;
1435            private boolean _setOriginalClassPK;
1436            private long _categoryId;
1437            private long _originalCategoryId;
1438            private boolean _setOriginalCategoryId;
1439            private long _threadId;
1440            private long _originalThreadId;
1441            private boolean _setOriginalThreadId;
1442            private long _rootMessageId;
1443            private long _parentMessageId;
1444            private long _originalParentMessageId;
1445            private boolean _setOriginalParentMessageId;
1446            private String _subject;
1447            private String _body;
1448            private String _format;
1449            private boolean _attachments;
1450            private boolean _anonymous;
1451            private double _priority;
1452            private boolean _allowPingbacks;
1453            private boolean _answer;
1454            private boolean _originalAnswer;
1455            private boolean _setOriginalAnswer;
1456            private int _status;
1457            private int _originalStatus;
1458            private boolean _setOriginalStatus;
1459            private long _statusByUserId;
1460            private String _statusByUserUuid;
1461            private String _statusByUserName;
1462            private Date _statusDate;
1463            private long _columnBitmask;
1464            private MBMessage _escapedModelProxy;
1465    }