001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portlet.bookmarks.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.NoSuchModelException;
020    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
021    import com.liferay.portal.kernel.exception.PortalException;
022    import com.liferay.portal.kernel.json.JSON;
023    import com.liferay.portal.kernel.lar.StagedModelType;
024    import com.liferay.portal.kernel.trash.TrashHandler;
025    import com.liferay.portal.kernel.trash.TrashHandlerRegistryUtil;
026    import com.liferay.portal.kernel.util.GetterUtil;
027    import com.liferay.portal.kernel.util.ProxyUtil;
028    import com.liferay.portal.kernel.util.StringBundler;
029    import com.liferay.portal.kernel.util.StringPool;
030    import com.liferay.portal.kernel.util.Validator;
031    import com.liferay.portal.kernel.workflow.WorkflowConstants;
032    import com.liferay.portal.model.CacheModel;
033    import com.liferay.portal.model.ContainerModel;
034    import com.liferay.portal.model.TrashedModel;
035    import com.liferay.portal.model.User;
036    import com.liferay.portal.model.impl.BaseModelImpl;
037    import com.liferay.portal.service.ServiceContext;
038    import com.liferay.portal.service.UserLocalServiceUtil;
039    import com.liferay.portal.util.PortalUtil;
040    
041    import com.liferay.portlet.bookmarks.model.BookmarksEntry;
042    import com.liferay.portlet.bookmarks.model.BookmarksEntryModel;
043    import com.liferay.portlet.bookmarks.model.BookmarksEntrySoap;
044    import com.liferay.portlet.expando.model.ExpandoBridge;
045    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
046    import com.liferay.portlet.trash.model.TrashEntry;
047    import com.liferay.portlet.trash.service.TrashEntryLocalServiceUtil;
048    
049    import java.io.Serializable;
050    
051    import java.sql.Types;
052    
053    import java.util.ArrayList;
054    import java.util.Date;
055    import java.util.HashMap;
056    import java.util.List;
057    import java.util.Map;
058    
059    /**
060     * The base model implementation for the BookmarksEntry service. Represents a row in the "BookmarksEntry" database table, with each column mapped to a property of this class.
061     *
062     * <p>
063     * This implementation and its corresponding interface {@link com.liferay.portlet.bookmarks.model.BookmarksEntryModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link BookmarksEntryImpl}.
064     * </p>
065     *
066     * @author Brian Wing Shun Chan
067     * @see BookmarksEntryImpl
068     * @see com.liferay.portlet.bookmarks.model.BookmarksEntry
069     * @see com.liferay.portlet.bookmarks.model.BookmarksEntryModel
070     * @generated
071     */
072    @JSON(strict = true)
073    @ProviderType
074    public class BookmarksEntryModelImpl extends BaseModelImpl<BookmarksEntry>
075            implements BookmarksEntryModel {
076            /*
077             * NOTE FOR DEVELOPERS:
078             *
079             * Never modify or reference this class directly. All methods that expect a bookmarks entry model instance should use the {@link com.liferay.portlet.bookmarks.model.BookmarksEntry} interface instead.
080             */
081            public static final String TABLE_NAME = "BookmarksEntry";
082            public static final Object[][] TABLE_COLUMNS = {
083                            { "uuid_", Types.VARCHAR },
084                            { "entryId", Types.BIGINT },
085                            { "groupId", Types.BIGINT },
086                            { "companyId", Types.BIGINT },
087                            { "userId", Types.BIGINT },
088                            { "userName", Types.VARCHAR },
089                            { "createDate", Types.TIMESTAMP },
090                            { "modifiedDate", Types.TIMESTAMP },
091                            { "resourceBlockId", Types.BIGINT },
092                            { "folderId", Types.BIGINT },
093                            { "treePath", Types.VARCHAR },
094                            { "name", Types.VARCHAR },
095                            { "url", Types.VARCHAR },
096                            { "description", Types.VARCHAR },
097                            { "visits", Types.INTEGER },
098                            { "priority", Types.INTEGER },
099                            { "status", Types.INTEGER },
100                            { "statusByUserId", Types.BIGINT },
101                            { "statusByUserName", Types.VARCHAR },
102                            { "statusDate", Types.TIMESTAMP }
103                    };
104            public static final String TABLE_SQL_CREATE = "create table BookmarksEntry (uuid_ VARCHAR(75) null,entryId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,resourceBlockId LONG,folderId LONG,treePath STRING null,name VARCHAR(255) null,url STRING null,description STRING null,visits INTEGER,priority INTEGER,status INTEGER,statusByUserId LONG,statusByUserName VARCHAR(75) null,statusDate DATE null)";
105            public static final String TABLE_SQL_DROP = "drop table BookmarksEntry";
106            public static final String ORDER_BY_JPQL = " ORDER BY bookmarksEntry.folderId ASC, bookmarksEntry.name ASC";
107            public static final String ORDER_BY_SQL = " ORDER BY BookmarksEntry.folderId ASC, BookmarksEntry.name ASC";
108            public static final String DATA_SOURCE = "liferayDataSource";
109            public static final String SESSION_FACTORY = "liferaySessionFactory";
110            public static final String TX_MANAGER = "liferayTransactionManager";
111            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
112                                    "value.object.entity.cache.enabled.com.liferay.portlet.bookmarks.model.BookmarksEntry"),
113                            true);
114            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
115                                    "value.object.finder.cache.enabled.com.liferay.portlet.bookmarks.model.BookmarksEntry"),
116                            true);
117            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
118                                    "value.object.column.bitmask.enabled.com.liferay.portlet.bookmarks.model.BookmarksEntry"),
119                            true);
120            public static final long COMPANYID_COLUMN_BITMASK = 1L;
121            public static final long FOLDERID_COLUMN_BITMASK = 2L;
122            public static final long GROUPID_COLUMN_BITMASK = 4L;
123            public static final long RESOURCEBLOCKID_COLUMN_BITMASK = 8L;
124            public static final long STATUS_COLUMN_BITMASK = 16L;
125            public static final long USERID_COLUMN_BITMASK = 32L;
126            public static final long UUID_COLUMN_BITMASK = 64L;
127            public static final long NAME_COLUMN_BITMASK = 128L;
128    
129            /**
130             * Converts the soap model instance into a normal model instance.
131             *
132             * @param soapModel the soap model instance to convert
133             * @return the normal model instance
134             */
135            public static BookmarksEntry toModel(BookmarksEntrySoap soapModel) {
136                    if (soapModel == null) {
137                            return null;
138                    }
139    
140                    BookmarksEntry model = new BookmarksEntryImpl();
141    
142                    model.setUuid(soapModel.getUuid());
143                    model.setEntryId(soapModel.getEntryId());
144                    model.setGroupId(soapModel.getGroupId());
145                    model.setCompanyId(soapModel.getCompanyId());
146                    model.setUserId(soapModel.getUserId());
147                    model.setUserName(soapModel.getUserName());
148                    model.setCreateDate(soapModel.getCreateDate());
149                    model.setModifiedDate(soapModel.getModifiedDate());
150                    model.setResourceBlockId(soapModel.getResourceBlockId());
151                    model.setFolderId(soapModel.getFolderId());
152                    model.setTreePath(soapModel.getTreePath());
153                    model.setName(soapModel.getName());
154                    model.setUrl(soapModel.getUrl());
155                    model.setDescription(soapModel.getDescription());
156                    model.setVisits(soapModel.getVisits());
157                    model.setPriority(soapModel.getPriority());
158                    model.setStatus(soapModel.getStatus());
159                    model.setStatusByUserId(soapModel.getStatusByUserId());
160                    model.setStatusByUserName(soapModel.getStatusByUserName());
161                    model.setStatusDate(soapModel.getStatusDate());
162    
163                    return model;
164            }
165    
166            /**
167             * Converts the soap model instances into normal model instances.
168             *
169             * @param soapModels the soap model instances to convert
170             * @return the normal model instances
171             */
172            public static List<BookmarksEntry> toModels(BookmarksEntrySoap[] soapModels) {
173                    if (soapModels == null) {
174                            return null;
175                    }
176    
177                    List<BookmarksEntry> models = new ArrayList<BookmarksEntry>(soapModels.length);
178    
179                    for (BookmarksEntrySoap soapModel : soapModels) {
180                            models.add(toModel(soapModel));
181                    }
182    
183                    return models;
184            }
185    
186            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
187                                    "lock.expiration.time.com.liferay.portlet.bookmarks.model.BookmarksEntry"));
188    
189            public BookmarksEntryModelImpl() {
190            }
191    
192            @Override
193            public long getPrimaryKey() {
194                    return _entryId;
195            }
196    
197            @Override
198            public void setPrimaryKey(long primaryKey) {
199                    setEntryId(primaryKey);
200            }
201    
202            @Override
203            public Serializable getPrimaryKeyObj() {
204                    return _entryId;
205            }
206    
207            @Override
208            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
209                    setPrimaryKey(((Long)primaryKeyObj).longValue());
210            }
211    
212            @Override
213            public Class<?> getModelClass() {
214                    return BookmarksEntry.class;
215            }
216    
217            @Override
218            public String getModelClassName() {
219                    return BookmarksEntry.class.getName();
220            }
221    
222            @Override
223            public Map<String, Object> getModelAttributes() {
224                    Map<String, Object> attributes = new HashMap<String, Object>();
225    
226                    attributes.put("uuid", getUuid());
227                    attributes.put("entryId", getEntryId());
228                    attributes.put("groupId", getGroupId());
229                    attributes.put("companyId", getCompanyId());
230                    attributes.put("userId", getUserId());
231                    attributes.put("userName", getUserName());
232                    attributes.put("createDate", getCreateDate());
233                    attributes.put("modifiedDate", getModifiedDate());
234                    attributes.put("resourceBlockId", getResourceBlockId());
235                    attributes.put("folderId", getFolderId());
236                    attributes.put("treePath", getTreePath());
237                    attributes.put("name", getName());
238                    attributes.put("url", getUrl());
239                    attributes.put("description", getDescription());
240                    attributes.put("visits", getVisits());
241                    attributes.put("priority", getPriority());
242                    attributes.put("status", getStatus());
243                    attributes.put("statusByUserId", getStatusByUserId());
244                    attributes.put("statusByUserName", getStatusByUserName());
245                    attributes.put("statusDate", getStatusDate());
246    
247                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
248                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
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 entryId = (Long)attributes.get("entryId");
262    
263                    if (entryId != null) {
264                            setEntryId(entryId);
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 resourceBlockId = (Long)attributes.get("resourceBlockId");
304    
305                    if (resourceBlockId != null) {
306                            setResourceBlockId(resourceBlockId);
307                    }
308    
309                    Long folderId = (Long)attributes.get("folderId");
310    
311                    if (folderId != null) {
312                            setFolderId(folderId);
313                    }
314    
315                    String treePath = (String)attributes.get("treePath");
316    
317                    if (treePath != null) {
318                            setTreePath(treePath);
319                    }
320    
321                    String name = (String)attributes.get("name");
322    
323                    if (name != null) {
324                            setName(name);
325                    }
326    
327                    String url = (String)attributes.get("url");
328    
329                    if (url != null) {
330                            setUrl(url);
331                    }
332    
333                    String description = (String)attributes.get("description");
334    
335                    if (description != null) {
336                            setDescription(description);
337                    }
338    
339                    Integer visits = (Integer)attributes.get("visits");
340    
341                    if (visits != null) {
342                            setVisits(visits);
343                    }
344    
345                    Integer priority = (Integer)attributes.get("priority");
346    
347                    if (priority != null) {
348                            setPriority(priority);
349                    }
350    
351                    Integer status = (Integer)attributes.get("status");
352    
353                    if (status != null) {
354                            setStatus(status);
355                    }
356    
357                    Long statusByUserId = (Long)attributes.get("statusByUserId");
358    
359                    if (statusByUserId != null) {
360                            setStatusByUserId(statusByUserId);
361                    }
362    
363                    String statusByUserName = (String)attributes.get("statusByUserName");
364    
365                    if (statusByUserName != null) {
366                            setStatusByUserName(statusByUserName);
367                    }
368    
369                    Date statusDate = (Date)attributes.get("statusDate");
370    
371                    if (statusDate != null) {
372                            setStatusDate(statusDate);
373                    }
374            }
375    
376            @JSON
377            @Override
378            public String getUuid() {
379                    if (_uuid == null) {
380                            return StringPool.BLANK;
381                    }
382                    else {
383                            return _uuid;
384                    }
385            }
386    
387            @Override
388            public void setUuid(String uuid) {
389                    if (_originalUuid == null) {
390                            _originalUuid = _uuid;
391                    }
392    
393                    _uuid = uuid;
394            }
395    
396            public String getOriginalUuid() {
397                    return GetterUtil.getString(_originalUuid);
398            }
399    
400            @JSON
401            @Override
402            public long getEntryId() {
403                    return _entryId;
404            }
405    
406            @Override
407            public void setEntryId(long entryId) {
408                    _entryId = entryId;
409            }
410    
411            @JSON
412            @Override
413            public long getGroupId() {
414                    return _groupId;
415            }
416    
417            @Override
418            public void setGroupId(long groupId) {
419                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
420    
421                    if (!_setOriginalGroupId) {
422                            _setOriginalGroupId = true;
423    
424                            _originalGroupId = _groupId;
425                    }
426    
427                    _groupId = groupId;
428            }
429    
430            public long getOriginalGroupId() {
431                    return _originalGroupId;
432            }
433    
434            @JSON
435            @Override
436            public long getCompanyId() {
437                    return _companyId;
438            }
439    
440            @Override
441            public void setCompanyId(long companyId) {
442                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
443    
444                    if (!_setOriginalCompanyId) {
445                            _setOriginalCompanyId = true;
446    
447                            _originalCompanyId = _companyId;
448                    }
449    
450                    _companyId = companyId;
451            }
452    
453            public long getOriginalCompanyId() {
454                    return _originalCompanyId;
455            }
456    
457            @JSON
458            @Override
459            public long getUserId() {
460                    return _userId;
461            }
462    
463            @Override
464            public void setUserId(long userId) {
465                    _columnBitmask |= USERID_COLUMN_BITMASK;
466    
467                    if (!_setOriginalUserId) {
468                            _setOriginalUserId = true;
469    
470                            _originalUserId = _userId;
471                    }
472    
473                    _userId = userId;
474            }
475    
476            @Override
477            public String getUserUuid() {
478                    try {
479                            User user = UserLocalServiceUtil.getUserById(getUserId());
480    
481                            return user.getUuid();
482                    }
483                    catch (PortalException pe) {
484                            return StringPool.BLANK;
485                    }
486            }
487    
488            @Override
489            public void setUserUuid(String userUuid) {
490            }
491    
492            public long getOriginalUserId() {
493                    return _originalUserId;
494            }
495    
496            @JSON
497            @Override
498            public String getUserName() {
499                    if (_userName == null) {
500                            return StringPool.BLANK;
501                    }
502                    else {
503                            return _userName;
504                    }
505            }
506    
507            @Override
508            public void setUserName(String userName) {
509                    _userName = userName;
510            }
511    
512            @JSON
513            @Override
514            public Date getCreateDate() {
515                    return _createDate;
516            }
517    
518            @Override
519            public void setCreateDate(Date createDate) {
520                    _createDate = createDate;
521            }
522    
523            @JSON
524            @Override
525            public Date getModifiedDate() {
526                    return _modifiedDate;
527            }
528    
529            @Override
530            public void setModifiedDate(Date modifiedDate) {
531                    _modifiedDate = modifiedDate;
532            }
533    
534            @JSON
535            @Override
536            public long getResourceBlockId() {
537                    return _resourceBlockId;
538            }
539    
540            @Override
541            public void setResourceBlockId(long resourceBlockId) {
542                    _columnBitmask |= RESOURCEBLOCKID_COLUMN_BITMASK;
543    
544                    if (!_setOriginalResourceBlockId) {
545                            _setOriginalResourceBlockId = true;
546    
547                            _originalResourceBlockId = _resourceBlockId;
548                    }
549    
550                    _resourceBlockId = resourceBlockId;
551            }
552    
553            public long getOriginalResourceBlockId() {
554                    return _originalResourceBlockId;
555            }
556    
557            @JSON
558            @Override
559            public long getFolderId() {
560                    return _folderId;
561            }
562    
563            @Override
564            public void setFolderId(long folderId) {
565                    _columnBitmask = -1L;
566    
567                    if (!_setOriginalFolderId) {
568                            _setOriginalFolderId = true;
569    
570                            _originalFolderId = _folderId;
571                    }
572    
573                    _folderId = folderId;
574            }
575    
576            public long getOriginalFolderId() {
577                    return _originalFolderId;
578            }
579    
580            @JSON
581            @Override
582            public String getTreePath() {
583                    if (_treePath == null) {
584                            return StringPool.BLANK;
585                    }
586                    else {
587                            return _treePath;
588                    }
589            }
590    
591            @Override
592            public void setTreePath(String treePath) {
593                    _treePath = treePath;
594            }
595    
596            @JSON
597            @Override
598            public String getName() {
599                    if (_name == null) {
600                            return StringPool.BLANK;
601                    }
602                    else {
603                            return _name;
604                    }
605            }
606    
607            @Override
608            public void setName(String name) {
609                    _columnBitmask = -1L;
610    
611                    _name = name;
612            }
613    
614            @JSON
615            @Override
616            public String getUrl() {
617                    if (_url == null) {
618                            return StringPool.BLANK;
619                    }
620                    else {
621                            return _url;
622                    }
623            }
624    
625            @Override
626            public void setUrl(String url) {
627                    _url = url;
628            }
629    
630            @JSON
631            @Override
632            public String getDescription() {
633                    if (_description == null) {
634                            return StringPool.BLANK;
635                    }
636                    else {
637                            return _description;
638                    }
639            }
640    
641            @Override
642            public void setDescription(String description) {
643                    _description = description;
644            }
645    
646            @JSON
647            @Override
648            public int getVisits() {
649                    return _visits;
650            }
651    
652            @Override
653            public void setVisits(int visits) {
654                    _visits = visits;
655            }
656    
657            @JSON
658            @Override
659            public int getPriority() {
660                    return _priority;
661            }
662    
663            @Override
664            public void setPriority(int priority) {
665                    _priority = priority;
666            }
667    
668            @JSON
669            @Override
670            public int getStatus() {
671                    return _status;
672            }
673    
674            @Override
675            public void setStatus(int status) {
676                    _columnBitmask |= STATUS_COLUMN_BITMASK;
677    
678                    if (!_setOriginalStatus) {
679                            _setOriginalStatus = true;
680    
681                            _originalStatus = _status;
682                    }
683    
684                    _status = status;
685            }
686    
687            public int getOriginalStatus() {
688                    return _originalStatus;
689            }
690    
691            @JSON
692            @Override
693            public long getStatusByUserId() {
694                    return _statusByUserId;
695            }
696    
697            @Override
698            public void setStatusByUserId(long statusByUserId) {
699                    _statusByUserId = statusByUserId;
700            }
701    
702            @Override
703            public String getStatusByUserUuid() {
704                    try {
705                            User user = UserLocalServiceUtil.getUserById(getStatusByUserId());
706    
707                            return user.getUuid();
708                    }
709                    catch (PortalException pe) {
710                            return StringPool.BLANK;
711                    }
712            }
713    
714            @Override
715            public void setStatusByUserUuid(String statusByUserUuid) {
716            }
717    
718            @JSON
719            @Override
720            public String getStatusByUserName() {
721                    if (_statusByUserName == null) {
722                            return StringPool.BLANK;
723                    }
724                    else {
725                            return _statusByUserName;
726                    }
727            }
728    
729            @Override
730            public void setStatusByUserName(String statusByUserName) {
731                    _statusByUserName = statusByUserName;
732            }
733    
734            @JSON
735            @Override
736            public Date getStatusDate() {
737                    return _statusDate;
738            }
739    
740            @Override
741            public void setStatusDate(Date statusDate) {
742                    _statusDate = statusDate;
743            }
744    
745            @Override
746            public StagedModelType getStagedModelType() {
747                    return new StagedModelType(PortalUtil.getClassNameId(
748                                    BookmarksEntry.class.getName()));
749            }
750    
751            @Override
752            public TrashEntry getTrashEntry() throws PortalException {
753                    if (!isInTrash()) {
754                            return null;
755                    }
756    
757                    TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(getModelClassName(),
758                                    getTrashEntryClassPK());
759    
760                    if (trashEntry != null) {
761                            return trashEntry;
762                    }
763    
764                    TrashHandler trashHandler = getTrashHandler();
765    
766                    if (!Validator.isNull(trashHandler.getContainerModelClassName(
767                                                    getPrimaryKey()))) {
768                            ContainerModel containerModel = null;
769    
770                            try {
771                                    containerModel = trashHandler.getParentContainerModel(this);
772                            }
773                            catch (NoSuchModelException nsme) {
774                                    return null;
775                            }
776    
777                            while (containerModel != null) {
778                                    if (containerModel instanceof TrashedModel) {
779                                            TrashedModel trashedModel = (TrashedModel)containerModel;
780    
781                                            return trashedModel.getTrashEntry();
782                                    }
783    
784                                    trashHandler = TrashHandlerRegistryUtil.getTrashHandler(trashHandler.getContainerModelClassName(
785                                                            containerModel.getContainerModelId()));
786    
787                                    if (trashHandler == null) {
788                                            return null;
789                                    }
790    
791                                    containerModel = trashHandler.getContainerModel(containerModel.getParentContainerModelId());
792                            }
793                    }
794    
795                    return null;
796            }
797    
798            @Override
799            public long getTrashEntryClassPK() {
800                    return getPrimaryKey();
801            }
802    
803            @Override
804            public TrashHandler getTrashHandler() {
805                    return TrashHandlerRegistryUtil.getTrashHandler(getModelClassName());
806            }
807    
808            @Override
809            public boolean isInTrash() {
810                    if (getStatus() == WorkflowConstants.STATUS_IN_TRASH) {
811                            return true;
812                    }
813                    else {
814                            return false;
815                    }
816            }
817    
818            @Override
819            public boolean isInTrashContainer() {
820                    TrashHandler trashHandler = getTrashHandler();
821    
822                    if ((trashHandler == null) ||
823                                    Validator.isNull(trashHandler.getContainerModelClassName(
824                                                    getPrimaryKey()))) {
825                            return false;
826                    }
827    
828                    try {
829                            ContainerModel containerModel = trashHandler.getParentContainerModel(this);
830    
831                            if (containerModel == null) {
832                                    return false;
833                            }
834    
835                            if (containerModel instanceof TrashedModel) {
836                                    return ((TrashedModel)containerModel).isInTrash();
837                            }
838                    }
839                    catch (Exception e) {
840                    }
841    
842                    return false;
843            }
844    
845            @Override
846            public boolean isInTrashExplicitly() {
847                    if (!isInTrash()) {
848                            return false;
849                    }
850    
851                    TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(getModelClassName(),
852                                    getTrashEntryClassPK());
853    
854                    if (trashEntry != null) {
855                            return true;
856                    }
857    
858                    return false;
859            }
860    
861            @Override
862            public boolean isInTrashImplicitly() {
863                    if (!isInTrash()) {
864                            return false;
865                    }
866    
867                    TrashEntry trashEntry = TrashEntryLocalServiceUtil.fetchEntry(getModelClassName(),
868                                    getTrashEntryClassPK());
869    
870                    if (trashEntry != null) {
871                            return false;
872                    }
873    
874                    return true;
875            }
876    
877            /**
878             * @deprecated As of 6.1.0, replaced by {@link #isApproved}
879             */
880            @Deprecated
881            @Override
882            public boolean getApproved() {
883                    return isApproved();
884            }
885    
886            @Override
887            public boolean isApproved() {
888                    if (getStatus() == WorkflowConstants.STATUS_APPROVED) {
889                            return true;
890                    }
891                    else {
892                            return false;
893                    }
894            }
895    
896            @Override
897            public boolean isDenied() {
898                    if (getStatus() == WorkflowConstants.STATUS_DENIED) {
899                            return true;
900                    }
901                    else {
902                            return false;
903                    }
904            }
905    
906            @Override
907            public boolean isDraft() {
908                    if (getStatus() == WorkflowConstants.STATUS_DRAFT) {
909                            return true;
910                    }
911                    else {
912                            return false;
913                    }
914            }
915    
916            @Override
917            public boolean isExpired() {
918                    if (getStatus() == WorkflowConstants.STATUS_EXPIRED) {
919                            return true;
920                    }
921                    else {
922                            return false;
923                    }
924            }
925    
926            @Override
927            public boolean isInactive() {
928                    if (getStatus() == WorkflowConstants.STATUS_INACTIVE) {
929                            return true;
930                    }
931                    else {
932                            return false;
933                    }
934            }
935    
936            @Override
937            public boolean isIncomplete() {
938                    if (getStatus() == WorkflowConstants.STATUS_INCOMPLETE) {
939                            return true;
940                    }
941                    else {
942                            return false;
943                    }
944            }
945    
946            @Override
947            public boolean isPending() {
948                    if (getStatus() == WorkflowConstants.STATUS_PENDING) {
949                            return true;
950                    }
951                    else {
952                            return false;
953                    }
954            }
955    
956            @Override
957            public boolean isScheduled() {
958                    if (getStatus() == WorkflowConstants.STATUS_SCHEDULED) {
959                            return true;
960                    }
961                    else {
962                            return false;
963                    }
964            }
965    
966            public long getColumnBitmask() {
967                    return _columnBitmask;
968            }
969    
970            @Override
971            public ExpandoBridge getExpandoBridge() {
972                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
973                            BookmarksEntry.class.getName(), getPrimaryKey());
974            }
975    
976            @Override
977            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
978                    ExpandoBridge expandoBridge = getExpandoBridge();
979    
980                    expandoBridge.setAttributes(serviceContext);
981            }
982    
983            @Override
984            public BookmarksEntry toEscapedModel() {
985                    if (_escapedModel == null) {
986                            _escapedModel = (BookmarksEntry)ProxyUtil.newProxyInstance(_classLoader,
987                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
988                    }
989    
990                    return _escapedModel;
991            }
992    
993            @Override
994            public Object clone() {
995                    BookmarksEntryImpl bookmarksEntryImpl = new BookmarksEntryImpl();
996    
997                    bookmarksEntryImpl.setUuid(getUuid());
998                    bookmarksEntryImpl.setEntryId(getEntryId());
999                    bookmarksEntryImpl.setGroupId(getGroupId());
1000                    bookmarksEntryImpl.setCompanyId(getCompanyId());
1001                    bookmarksEntryImpl.setUserId(getUserId());
1002                    bookmarksEntryImpl.setUserName(getUserName());
1003                    bookmarksEntryImpl.setCreateDate(getCreateDate());
1004                    bookmarksEntryImpl.setModifiedDate(getModifiedDate());
1005                    bookmarksEntryImpl.setResourceBlockId(getResourceBlockId());
1006                    bookmarksEntryImpl.setFolderId(getFolderId());
1007                    bookmarksEntryImpl.setTreePath(getTreePath());
1008                    bookmarksEntryImpl.setName(getName());
1009                    bookmarksEntryImpl.setUrl(getUrl());
1010                    bookmarksEntryImpl.setDescription(getDescription());
1011                    bookmarksEntryImpl.setVisits(getVisits());
1012                    bookmarksEntryImpl.setPriority(getPriority());
1013                    bookmarksEntryImpl.setStatus(getStatus());
1014                    bookmarksEntryImpl.setStatusByUserId(getStatusByUserId());
1015                    bookmarksEntryImpl.setStatusByUserName(getStatusByUserName());
1016                    bookmarksEntryImpl.setStatusDate(getStatusDate());
1017    
1018                    bookmarksEntryImpl.resetOriginalValues();
1019    
1020                    return bookmarksEntryImpl;
1021            }
1022    
1023            @Override
1024            public int compareTo(BookmarksEntry bookmarksEntry) {
1025                    int value = 0;
1026    
1027                    if (getFolderId() < bookmarksEntry.getFolderId()) {
1028                            value = -1;
1029                    }
1030                    else if (getFolderId() > bookmarksEntry.getFolderId()) {
1031                            value = 1;
1032                    }
1033                    else {
1034                            value = 0;
1035                    }
1036    
1037                    if (value != 0) {
1038                            return value;
1039                    }
1040    
1041                    value = getName().compareToIgnoreCase(bookmarksEntry.getName());
1042    
1043                    if (value != 0) {
1044                            return value;
1045                    }
1046    
1047                    return 0;
1048            }
1049    
1050            @Override
1051            public boolean equals(Object obj) {
1052                    if (this == obj) {
1053                            return true;
1054                    }
1055    
1056                    if (!(obj instanceof BookmarksEntry)) {
1057                            return false;
1058                    }
1059    
1060                    BookmarksEntry bookmarksEntry = (BookmarksEntry)obj;
1061    
1062                    long primaryKey = bookmarksEntry.getPrimaryKey();
1063    
1064                    if (getPrimaryKey() == primaryKey) {
1065                            return true;
1066                    }
1067                    else {
1068                            return false;
1069                    }
1070            }
1071    
1072            @Override
1073            public int hashCode() {
1074                    return (int)getPrimaryKey();
1075            }
1076    
1077            @Override
1078            public boolean isEntityCacheEnabled() {
1079                    return ENTITY_CACHE_ENABLED;
1080            }
1081    
1082            @Override
1083            public boolean isFinderCacheEnabled() {
1084                    return FINDER_CACHE_ENABLED;
1085            }
1086    
1087            @Override
1088            public void resetOriginalValues() {
1089                    BookmarksEntryModelImpl bookmarksEntryModelImpl = this;
1090    
1091                    bookmarksEntryModelImpl._originalUuid = bookmarksEntryModelImpl._uuid;
1092    
1093                    bookmarksEntryModelImpl._originalGroupId = bookmarksEntryModelImpl._groupId;
1094    
1095                    bookmarksEntryModelImpl._setOriginalGroupId = false;
1096    
1097                    bookmarksEntryModelImpl._originalCompanyId = bookmarksEntryModelImpl._companyId;
1098    
1099                    bookmarksEntryModelImpl._setOriginalCompanyId = false;
1100    
1101                    bookmarksEntryModelImpl._originalUserId = bookmarksEntryModelImpl._userId;
1102    
1103                    bookmarksEntryModelImpl._setOriginalUserId = false;
1104    
1105                    bookmarksEntryModelImpl._originalResourceBlockId = bookmarksEntryModelImpl._resourceBlockId;
1106    
1107                    bookmarksEntryModelImpl._setOriginalResourceBlockId = false;
1108    
1109                    bookmarksEntryModelImpl._originalFolderId = bookmarksEntryModelImpl._folderId;
1110    
1111                    bookmarksEntryModelImpl._setOriginalFolderId = false;
1112    
1113                    bookmarksEntryModelImpl._originalStatus = bookmarksEntryModelImpl._status;
1114    
1115                    bookmarksEntryModelImpl._setOriginalStatus = false;
1116    
1117                    bookmarksEntryModelImpl._columnBitmask = 0;
1118            }
1119    
1120            @Override
1121            public CacheModel<BookmarksEntry> toCacheModel() {
1122                    BookmarksEntryCacheModel bookmarksEntryCacheModel = new BookmarksEntryCacheModel();
1123    
1124                    bookmarksEntryCacheModel.uuid = getUuid();
1125    
1126                    String uuid = bookmarksEntryCacheModel.uuid;
1127    
1128                    if ((uuid != null) && (uuid.length() == 0)) {
1129                            bookmarksEntryCacheModel.uuid = null;
1130                    }
1131    
1132                    bookmarksEntryCacheModel.entryId = getEntryId();
1133    
1134                    bookmarksEntryCacheModel.groupId = getGroupId();
1135    
1136                    bookmarksEntryCacheModel.companyId = getCompanyId();
1137    
1138                    bookmarksEntryCacheModel.userId = getUserId();
1139    
1140                    bookmarksEntryCacheModel.userName = getUserName();
1141    
1142                    String userName = bookmarksEntryCacheModel.userName;
1143    
1144                    if ((userName != null) && (userName.length() == 0)) {
1145                            bookmarksEntryCacheModel.userName = null;
1146                    }
1147    
1148                    Date createDate = getCreateDate();
1149    
1150                    if (createDate != null) {
1151                            bookmarksEntryCacheModel.createDate = createDate.getTime();
1152                    }
1153                    else {
1154                            bookmarksEntryCacheModel.createDate = Long.MIN_VALUE;
1155                    }
1156    
1157                    Date modifiedDate = getModifiedDate();
1158    
1159                    if (modifiedDate != null) {
1160                            bookmarksEntryCacheModel.modifiedDate = modifiedDate.getTime();
1161                    }
1162                    else {
1163                            bookmarksEntryCacheModel.modifiedDate = Long.MIN_VALUE;
1164                    }
1165    
1166                    bookmarksEntryCacheModel.resourceBlockId = getResourceBlockId();
1167    
1168                    bookmarksEntryCacheModel.folderId = getFolderId();
1169    
1170                    bookmarksEntryCacheModel.treePath = getTreePath();
1171    
1172                    String treePath = bookmarksEntryCacheModel.treePath;
1173    
1174                    if ((treePath != null) && (treePath.length() == 0)) {
1175                            bookmarksEntryCacheModel.treePath = null;
1176                    }
1177    
1178                    bookmarksEntryCacheModel.name = getName();
1179    
1180                    String name = bookmarksEntryCacheModel.name;
1181    
1182                    if ((name != null) && (name.length() == 0)) {
1183                            bookmarksEntryCacheModel.name = null;
1184                    }
1185    
1186                    bookmarksEntryCacheModel.url = getUrl();
1187    
1188                    String url = bookmarksEntryCacheModel.url;
1189    
1190                    if ((url != null) && (url.length() == 0)) {
1191                            bookmarksEntryCacheModel.url = null;
1192                    }
1193    
1194                    bookmarksEntryCacheModel.description = getDescription();
1195    
1196                    String description = bookmarksEntryCacheModel.description;
1197    
1198                    if ((description != null) && (description.length() == 0)) {
1199                            bookmarksEntryCacheModel.description = null;
1200                    }
1201    
1202                    bookmarksEntryCacheModel.visits = getVisits();
1203    
1204                    bookmarksEntryCacheModel.priority = getPriority();
1205    
1206                    bookmarksEntryCacheModel.status = getStatus();
1207    
1208                    bookmarksEntryCacheModel.statusByUserId = getStatusByUserId();
1209    
1210                    bookmarksEntryCacheModel.statusByUserName = getStatusByUserName();
1211    
1212                    String statusByUserName = bookmarksEntryCacheModel.statusByUserName;
1213    
1214                    if ((statusByUserName != null) && (statusByUserName.length() == 0)) {
1215                            bookmarksEntryCacheModel.statusByUserName = null;
1216                    }
1217    
1218                    Date statusDate = getStatusDate();
1219    
1220                    if (statusDate != null) {
1221                            bookmarksEntryCacheModel.statusDate = statusDate.getTime();
1222                    }
1223                    else {
1224                            bookmarksEntryCacheModel.statusDate = Long.MIN_VALUE;
1225                    }
1226    
1227                    return bookmarksEntryCacheModel;
1228            }
1229    
1230            @Override
1231            public String toString() {
1232                    StringBundler sb = new StringBundler(41);
1233    
1234                    sb.append("{uuid=");
1235                    sb.append(getUuid());
1236                    sb.append(", entryId=");
1237                    sb.append(getEntryId());
1238                    sb.append(", groupId=");
1239                    sb.append(getGroupId());
1240                    sb.append(", companyId=");
1241                    sb.append(getCompanyId());
1242                    sb.append(", userId=");
1243                    sb.append(getUserId());
1244                    sb.append(", userName=");
1245                    sb.append(getUserName());
1246                    sb.append(", createDate=");
1247                    sb.append(getCreateDate());
1248                    sb.append(", modifiedDate=");
1249                    sb.append(getModifiedDate());
1250                    sb.append(", resourceBlockId=");
1251                    sb.append(getResourceBlockId());
1252                    sb.append(", folderId=");
1253                    sb.append(getFolderId());
1254                    sb.append(", treePath=");
1255                    sb.append(getTreePath());
1256                    sb.append(", name=");
1257                    sb.append(getName());
1258                    sb.append(", url=");
1259                    sb.append(getUrl());
1260                    sb.append(", description=");
1261                    sb.append(getDescription());
1262                    sb.append(", visits=");
1263                    sb.append(getVisits());
1264                    sb.append(", priority=");
1265                    sb.append(getPriority());
1266                    sb.append(", status=");
1267                    sb.append(getStatus());
1268                    sb.append(", statusByUserId=");
1269                    sb.append(getStatusByUserId());
1270                    sb.append(", statusByUserName=");
1271                    sb.append(getStatusByUserName());
1272                    sb.append(", statusDate=");
1273                    sb.append(getStatusDate());
1274                    sb.append("}");
1275    
1276                    return sb.toString();
1277            }
1278    
1279            @Override
1280            public String toXmlString() {
1281                    StringBundler sb = new StringBundler(64);
1282    
1283                    sb.append("<model><model-name>");
1284                    sb.append("com.liferay.portlet.bookmarks.model.BookmarksEntry");
1285                    sb.append("</model-name>");
1286    
1287                    sb.append(
1288                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
1289                    sb.append(getUuid());
1290                    sb.append("]]></column-value></column>");
1291                    sb.append(
1292                            "<column><column-name>entryId</column-name><column-value><![CDATA[");
1293                    sb.append(getEntryId());
1294                    sb.append("]]></column-value></column>");
1295                    sb.append(
1296                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
1297                    sb.append(getGroupId());
1298                    sb.append("]]></column-value></column>");
1299                    sb.append(
1300                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
1301                    sb.append(getCompanyId());
1302                    sb.append("]]></column-value></column>");
1303                    sb.append(
1304                            "<column><column-name>userId</column-name><column-value><![CDATA[");
1305                    sb.append(getUserId());
1306                    sb.append("]]></column-value></column>");
1307                    sb.append(
1308                            "<column><column-name>userName</column-name><column-value><![CDATA[");
1309                    sb.append(getUserName());
1310                    sb.append("]]></column-value></column>");
1311                    sb.append(
1312                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
1313                    sb.append(getCreateDate());
1314                    sb.append("]]></column-value></column>");
1315                    sb.append(
1316                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
1317                    sb.append(getModifiedDate());
1318                    sb.append("]]></column-value></column>");
1319                    sb.append(
1320                            "<column><column-name>resourceBlockId</column-name><column-value><![CDATA[");
1321                    sb.append(getResourceBlockId());
1322                    sb.append("]]></column-value></column>");
1323                    sb.append(
1324                            "<column><column-name>folderId</column-name><column-value><![CDATA[");
1325                    sb.append(getFolderId());
1326                    sb.append("]]></column-value></column>");
1327                    sb.append(
1328                            "<column><column-name>treePath</column-name><column-value><![CDATA[");
1329                    sb.append(getTreePath());
1330                    sb.append("]]></column-value></column>");
1331                    sb.append(
1332                            "<column><column-name>name</column-name><column-value><![CDATA[");
1333                    sb.append(getName());
1334                    sb.append("]]></column-value></column>");
1335                    sb.append(
1336                            "<column><column-name>url</column-name><column-value><![CDATA[");
1337                    sb.append(getUrl());
1338                    sb.append("]]></column-value></column>");
1339                    sb.append(
1340                            "<column><column-name>description</column-name><column-value><![CDATA[");
1341                    sb.append(getDescription());
1342                    sb.append("]]></column-value></column>");
1343                    sb.append(
1344                            "<column><column-name>visits</column-name><column-value><![CDATA[");
1345                    sb.append(getVisits());
1346                    sb.append("]]></column-value></column>");
1347                    sb.append(
1348                            "<column><column-name>priority</column-name><column-value><![CDATA[");
1349                    sb.append(getPriority());
1350                    sb.append("]]></column-value></column>");
1351                    sb.append(
1352                            "<column><column-name>status</column-name><column-value><![CDATA[");
1353                    sb.append(getStatus());
1354                    sb.append("]]></column-value></column>");
1355                    sb.append(
1356                            "<column><column-name>statusByUserId</column-name><column-value><![CDATA[");
1357                    sb.append(getStatusByUserId());
1358                    sb.append("]]></column-value></column>");
1359                    sb.append(
1360                            "<column><column-name>statusByUserName</column-name><column-value><![CDATA[");
1361                    sb.append(getStatusByUserName());
1362                    sb.append("]]></column-value></column>");
1363                    sb.append(
1364                            "<column><column-name>statusDate</column-name><column-value><![CDATA[");
1365                    sb.append(getStatusDate());
1366                    sb.append("]]></column-value></column>");
1367    
1368                    sb.append("</model>");
1369    
1370                    return sb.toString();
1371            }
1372    
1373            private static final ClassLoader _classLoader = BookmarksEntry.class.getClassLoader();
1374            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
1375                            BookmarksEntry.class
1376                    };
1377            private String _uuid;
1378            private String _originalUuid;
1379            private long _entryId;
1380            private long _groupId;
1381            private long _originalGroupId;
1382            private boolean _setOriginalGroupId;
1383            private long _companyId;
1384            private long _originalCompanyId;
1385            private boolean _setOriginalCompanyId;
1386            private long _userId;
1387            private long _originalUserId;
1388            private boolean _setOriginalUserId;
1389            private String _userName;
1390            private Date _createDate;
1391            private Date _modifiedDate;
1392            private long _resourceBlockId;
1393            private long _originalResourceBlockId;
1394            private boolean _setOriginalResourceBlockId;
1395            private long _folderId;
1396            private long _originalFolderId;
1397            private boolean _setOriginalFolderId;
1398            private String _treePath;
1399            private String _name;
1400            private String _url;
1401            private String _description;
1402            private int _visits;
1403            private int _priority;
1404            private int _status;
1405            private int _originalStatus;
1406            private boolean _setOriginalStatus;
1407            private long _statusByUserId;
1408            private String _statusByUserName;
1409            private Date _statusDate;
1410            private long _columnBitmask;
1411            private BookmarksEntry _escapedModel;
1412    }