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.portal.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.exception.PortalException;
021    import com.liferay.portal.kernel.json.JSON;
022    import com.liferay.portal.kernel.util.GetterUtil;
023    import com.liferay.portal.kernel.util.ProxyUtil;
024    import com.liferay.portal.kernel.util.StringBundler;
025    import com.liferay.portal.kernel.util.StringPool;
026    import com.liferay.portal.kernel.util.Validator;
027    import com.liferay.portal.model.CacheModel;
028    import com.liferay.portal.model.Group;
029    import com.liferay.portal.model.GroupModel;
030    import com.liferay.portal.model.GroupSoap;
031    import com.liferay.portal.model.User;
032    import com.liferay.portal.service.ServiceContext;
033    import com.liferay.portal.service.UserLocalServiceUtil;
034    import com.liferay.portal.util.PortalUtil;
035    
036    import com.liferay.portlet.expando.model.ExpandoBridge;
037    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
038    
039    import java.io.Serializable;
040    
041    import java.sql.Types;
042    
043    import java.util.ArrayList;
044    import java.util.HashMap;
045    import java.util.List;
046    import java.util.Map;
047    
048    /**
049     * The base model implementation for the Group service. Represents a row in the "Group_" 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.portal.model.GroupModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link GroupImpl}.
053     * </p>
054     *
055     * @author Brian Wing Shun Chan
056     * @see GroupImpl
057     * @see com.liferay.portal.model.Group
058     * @see com.liferay.portal.model.GroupModel
059     * @generated
060     */
061    @JSON(strict = true)
062    @ProviderType
063    public class GroupModelImpl extends BaseModelImpl<Group> implements GroupModel {
064            /*
065             * NOTE FOR DEVELOPERS:
066             *
067             * Never modify or reference this class directly. All methods that expect a group model instance should use the {@link com.liferay.portal.model.Group} interface instead.
068             */
069            public static final String TABLE_NAME = "Group_";
070            public static final Object[][] TABLE_COLUMNS = {
071                            { "mvccVersion", Types.BIGINT },
072                            { "uuid_", Types.VARCHAR },
073                            { "groupId", Types.BIGINT },
074                            { "companyId", Types.BIGINT },
075                            { "creatorUserId", Types.BIGINT },
076                            { "classNameId", Types.BIGINT },
077                            { "classPK", Types.BIGINT },
078                            { "parentGroupId", Types.BIGINT },
079                            { "liveGroupId", Types.BIGINT },
080                            { "treePath", Types.VARCHAR },
081                            { "name", Types.VARCHAR },
082                            { "description", Types.VARCHAR },
083                            { "type_", Types.INTEGER },
084                            { "typeSettings", Types.CLOB },
085                            { "manualMembership", Types.BOOLEAN },
086                            { "membershipRestriction", Types.INTEGER },
087                            { "friendlyURL", Types.VARCHAR },
088                            { "site", Types.BOOLEAN },
089                            { "remoteStagingGroupCount", Types.INTEGER },
090                            { "active_", Types.BOOLEAN }
091                    };
092            public static final String TABLE_SQL_CREATE = "create table Group_ (mvccVersion LONG default 0,uuid_ VARCHAR(75) null,groupId LONG not null primary key,companyId LONG,creatorUserId LONG,classNameId LONG,classPK LONG,parentGroupId LONG,liveGroupId LONG,treePath STRING null,name VARCHAR(150) null,description STRING null,type_ INTEGER,typeSettings TEXT null,manualMembership BOOLEAN,membershipRestriction INTEGER,friendlyURL VARCHAR(255) null,site BOOLEAN,remoteStagingGroupCount INTEGER,active_ BOOLEAN)";
093            public static final String TABLE_SQL_DROP = "drop table Group_";
094            public static final String ORDER_BY_JPQL = " ORDER BY group_.name ASC";
095            public static final String ORDER_BY_SQL = " ORDER BY Group_.name ASC";
096            public static final String DATA_SOURCE = "liferayDataSource";
097            public static final String SESSION_FACTORY = "liferaySessionFactory";
098            public static final String TX_MANAGER = "liferayTransactionManager";
099            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
100                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Group"),
101                            true);
102            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
103                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Group"),
104                            true);
105            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
106                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Group"),
107                            true);
108            public static final long ACTIVE_COLUMN_BITMASK = 1L;
109            public static final long CLASSNAMEID_COLUMN_BITMASK = 2L;
110            public static final long CLASSPK_COLUMN_BITMASK = 4L;
111            public static final long COMPANYID_COLUMN_BITMASK = 8L;
112            public static final long FRIENDLYURL_COLUMN_BITMASK = 16L;
113            public static final long GROUPID_COLUMN_BITMASK = 32L;
114            public static final long LIVEGROUPID_COLUMN_BITMASK = 64L;
115            public static final long NAME_COLUMN_BITMASK = 128L;
116            public static final long PARENTGROUPID_COLUMN_BITMASK = 256L;
117            public static final long SITE_COLUMN_BITMASK = 512L;
118            public static final long TYPE_COLUMN_BITMASK = 1024L;
119            public static final long UUID_COLUMN_BITMASK = 2048L;
120    
121            /**
122             * Converts the soap model instance into a normal model instance.
123             *
124             * @param soapModel the soap model instance to convert
125             * @return the normal model instance
126             */
127            public static Group toModel(GroupSoap soapModel) {
128                    if (soapModel == null) {
129                            return null;
130                    }
131    
132                    Group model = new GroupImpl();
133    
134                    model.setMvccVersion(soapModel.getMvccVersion());
135                    model.setUuid(soapModel.getUuid());
136                    model.setGroupId(soapModel.getGroupId());
137                    model.setCompanyId(soapModel.getCompanyId());
138                    model.setCreatorUserId(soapModel.getCreatorUserId());
139                    model.setClassNameId(soapModel.getClassNameId());
140                    model.setClassPK(soapModel.getClassPK());
141                    model.setParentGroupId(soapModel.getParentGroupId());
142                    model.setLiveGroupId(soapModel.getLiveGroupId());
143                    model.setTreePath(soapModel.getTreePath());
144                    model.setName(soapModel.getName());
145                    model.setDescription(soapModel.getDescription());
146                    model.setType(soapModel.getType());
147                    model.setTypeSettings(soapModel.getTypeSettings());
148                    model.setManualMembership(soapModel.getManualMembership());
149                    model.setMembershipRestriction(soapModel.getMembershipRestriction());
150                    model.setFriendlyURL(soapModel.getFriendlyURL());
151                    model.setSite(soapModel.getSite());
152                    model.setRemoteStagingGroupCount(soapModel.getRemoteStagingGroupCount());
153                    model.setActive(soapModel.getActive());
154    
155                    return model;
156            }
157    
158            /**
159             * Converts the soap model instances into normal model instances.
160             *
161             * @param soapModels the soap model instances to convert
162             * @return the normal model instances
163             */
164            public static List<Group> toModels(GroupSoap[] soapModels) {
165                    if (soapModels == null) {
166                            return null;
167                    }
168    
169                    List<Group> models = new ArrayList<Group>(soapModels.length);
170    
171                    for (GroupSoap soapModel : soapModels) {
172                            models.add(toModel(soapModel));
173                    }
174    
175                    return models;
176            }
177    
178            public static final String MAPPING_TABLE_GROUPS_ORGS_NAME = "Groups_Orgs";
179            public static final Object[][] MAPPING_TABLE_GROUPS_ORGS_COLUMNS = {
180                            { "groupId", Types.BIGINT },
181                            { "organizationId", Types.BIGINT }
182                    };
183            public static final String MAPPING_TABLE_GROUPS_ORGS_SQL_CREATE = "create table Groups_Orgs (groupId LONG not null,organizationId LONG not null,primary key (groupId, organizationId))";
184            public static final boolean FINDER_CACHE_ENABLED_GROUPS_ORGS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
185                                    "value.object.finder.cache.enabled.Groups_Orgs"), true);
186            public static final String MAPPING_TABLE_GROUPS_ROLES_NAME = "Groups_Roles";
187            public static final Object[][] MAPPING_TABLE_GROUPS_ROLES_COLUMNS = {
188                            { "groupId", Types.BIGINT },
189                            { "roleId", Types.BIGINT }
190                    };
191            public static final String MAPPING_TABLE_GROUPS_ROLES_SQL_CREATE = "create table Groups_Roles (groupId LONG not null,roleId LONG not null,primary key (groupId, roleId))";
192            public static final boolean FINDER_CACHE_ENABLED_GROUPS_ROLES = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
193                                    "value.object.finder.cache.enabled.Groups_Roles"), true);
194            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_NAME = "Groups_UserGroups";
195            public static final Object[][] MAPPING_TABLE_GROUPS_USERGROUPS_COLUMNS = {
196                            { "groupId", Types.BIGINT },
197                            { "userGroupId", Types.BIGINT }
198                    };
199            public static final String MAPPING_TABLE_GROUPS_USERGROUPS_SQL_CREATE = "create table Groups_UserGroups (groupId LONG not null,userGroupId LONG not null,primary key (groupId, userGroupId))";
200            public static final boolean FINDER_CACHE_ENABLED_GROUPS_USERGROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
201                                    "value.object.finder.cache.enabled.Groups_UserGroups"), true);
202            public static final String MAPPING_TABLE_USERS_GROUPS_NAME = "Users_Groups";
203            public static final Object[][] MAPPING_TABLE_USERS_GROUPS_COLUMNS = {
204                            { "groupId", Types.BIGINT },
205                            { "userId", Types.BIGINT }
206                    };
207            public static final String MAPPING_TABLE_USERS_GROUPS_SQL_CREATE = "create table Users_Groups (groupId LONG not null,userId LONG not null,primary key (groupId, userId))";
208            public static final boolean FINDER_CACHE_ENABLED_USERS_GROUPS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
209                                    "value.object.finder.cache.enabled.Users_Groups"), true);
210            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
211                                    "lock.expiration.time.com.liferay.portal.model.Group"));
212    
213            public GroupModelImpl() {
214            }
215    
216            @Override
217            public long getPrimaryKey() {
218                    return _groupId;
219            }
220    
221            @Override
222            public void setPrimaryKey(long primaryKey) {
223                    setGroupId(primaryKey);
224            }
225    
226            @Override
227            public Serializable getPrimaryKeyObj() {
228                    return _groupId;
229            }
230    
231            @Override
232            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
233                    setPrimaryKey(((Long)primaryKeyObj).longValue());
234            }
235    
236            @Override
237            public Class<?> getModelClass() {
238                    return Group.class;
239            }
240    
241            @Override
242            public String getModelClassName() {
243                    return Group.class.getName();
244            }
245    
246            @Override
247            public Map<String, Object> getModelAttributes() {
248                    Map<String, Object> attributes = new HashMap<String, Object>();
249    
250                    attributes.put("mvccVersion", getMvccVersion());
251                    attributes.put("uuid", getUuid());
252                    attributes.put("groupId", getGroupId());
253                    attributes.put("companyId", getCompanyId());
254                    attributes.put("creatorUserId", getCreatorUserId());
255                    attributes.put("classNameId", getClassNameId());
256                    attributes.put("classPK", getClassPK());
257                    attributes.put("parentGroupId", getParentGroupId());
258                    attributes.put("liveGroupId", getLiveGroupId());
259                    attributes.put("treePath", getTreePath());
260                    attributes.put("name", getName());
261                    attributes.put("description", getDescription());
262                    attributes.put("type", getType());
263                    attributes.put("typeSettings", getTypeSettings());
264                    attributes.put("manualMembership", getManualMembership());
265                    attributes.put("membershipRestriction", getMembershipRestriction());
266                    attributes.put("friendlyURL", getFriendlyURL());
267                    attributes.put("site", getSite());
268                    attributes.put("remoteStagingGroupCount", getRemoteStagingGroupCount());
269                    attributes.put("active", getActive());
270    
271                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
272                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
273    
274                    return attributes;
275            }
276    
277            @Override
278            public void setModelAttributes(Map<String, Object> attributes) {
279                    Long mvccVersion = (Long)attributes.get("mvccVersion");
280    
281                    if (mvccVersion != null) {
282                            setMvccVersion(mvccVersion);
283                    }
284    
285                    String uuid = (String)attributes.get("uuid");
286    
287                    if (uuid != null) {
288                            setUuid(uuid);
289                    }
290    
291                    Long groupId = (Long)attributes.get("groupId");
292    
293                    if (groupId != null) {
294                            setGroupId(groupId);
295                    }
296    
297                    Long companyId = (Long)attributes.get("companyId");
298    
299                    if (companyId != null) {
300                            setCompanyId(companyId);
301                    }
302    
303                    Long creatorUserId = (Long)attributes.get("creatorUserId");
304    
305                    if (creatorUserId != null) {
306                            setCreatorUserId(creatorUserId);
307                    }
308    
309                    Long classNameId = (Long)attributes.get("classNameId");
310    
311                    if (classNameId != null) {
312                            setClassNameId(classNameId);
313                    }
314    
315                    Long classPK = (Long)attributes.get("classPK");
316    
317                    if (classPK != null) {
318                            setClassPK(classPK);
319                    }
320    
321                    Long parentGroupId = (Long)attributes.get("parentGroupId");
322    
323                    if (parentGroupId != null) {
324                            setParentGroupId(parentGroupId);
325                    }
326    
327                    Long liveGroupId = (Long)attributes.get("liveGroupId");
328    
329                    if (liveGroupId != null) {
330                            setLiveGroupId(liveGroupId);
331                    }
332    
333                    String treePath = (String)attributes.get("treePath");
334    
335                    if (treePath != null) {
336                            setTreePath(treePath);
337                    }
338    
339                    String name = (String)attributes.get("name");
340    
341                    if (name != null) {
342                            setName(name);
343                    }
344    
345                    String description = (String)attributes.get("description");
346    
347                    if (description != null) {
348                            setDescription(description);
349                    }
350    
351                    Integer type = (Integer)attributes.get("type");
352    
353                    if (type != null) {
354                            setType(type);
355                    }
356    
357                    String typeSettings = (String)attributes.get("typeSettings");
358    
359                    if (typeSettings != null) {
360                            setTypeSettings(typeSettings);
361                    }
362    
363                    Boolean manualMembership = (Boolean)attributes.get("manualMembership");
364    
365                    if (manualMembership != null) {
366                            setManualMembership(manualMembership);
367                    }
368    
369                    Integer membershipRestriction = (Integer)attributes.get(
370                                    "membershipRestriction");
371    
372                    if (membershipRestriction != null) {
373                            setMembershipRestriction(membershipRestriction);
374                    }
375    
376                    String friendlyURL = (String)attributes.get("friendlyURL");
377    
378                    if (friendlyURL != null) {
379                            setFriendlyURL(friendlyURL);
380                    }
381    
382                    Boolean site = (Boolean)attributes.get("site");
383    
384                    if (site != null) {
385                            setSite(site);
386                    }
387    
388                    Integer remoteStagingGroupCount = (Integer)attributes.get(
389                                    "remoteStagingGroupCount");
390    
391                    if (remoteStagingGroupCount != null) {
392                            setRemoteStagingGroupCount(remoteStagingGroupCount);
393                    }
394    
395                    Boolean active = (Boolean)attributes.get("active");
396    
397                    if (active != null) {
398                            setActive(active);
399                    }
400            }
401    
402            @JSON
403            @Override
404            public long getMvccVersion() {
405                    return _mvccVersion;
406            }
407    
408            @Override
409            public void setMvccVersion(long mvccVersion) {
410                    _mvccVersion = mvccVersion;
411            }
412    
413            @JSON
414            @Override
415            public String getUuid() {
416                    if (_uuid == null) {
417                            return StringPool.BLANK;
418                    }
419                    else {
420                            return _uuid;
421                    }
422            }
423    
424            @Override
425            public void setUuid(String uuid) {
426                    if (_originalUuid == null) {
427                            _originalUuid = _uuid;
428                    }
429    
430                    _uuid = uuid;
431            }
432    
433            public String getOriginalUuid() {
434                    return GetterUtil.getString(_originalUuid);
435            }
436    
437            @JSON
438            @Override
439            public long getGroupId() {
440                    return _groupId;
441            }
442    
443            @Override
444            public void setGroupId(long groupId) {
445                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
446    
447                    if (!_setOriginalGroupId) {
448                            _setOriginalGroupId = true;
449    
450                            _originalGroupId = _groupId;
451                    }
452    
453                    _groupId = groupId;
454            }
455    
456            public long getOriginalGroupId() {
457                    return _originalGroupId;
458            }
459    
460            @JSON
461            @Override
462            public long getCompanyId() {
463                    return _companyId;
464            }
465    
466            @Override
467            public void setCompanyId(long companyId) {
468                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
469    
470                    if (!_setOriginalCompanyId) {
471                            _setOriginalCompanyId = true;
472    
473                            _originalCompanyId = _companyId;
474                    }
475    
476                    _companyId = companyId;
477            }
478    
479            public long getOriginalCompanyId() {
480                    return _originalCompanyId;
481            }
482    
483            @JSON
484            @Override
485            public long getCreatorUserId() {
486                    return _creatorUserId;
487            }
488    
489            @Override
490            public void setCreatorUserId(long creatorUserId) {
491                    _creatorUserId = creatorUserId;
492            }
493    
494            @Override
495            public String getCreatorUserUuid() {
496                    try {
497                            User user = UserLocalServiceUtil.getUserById(getCreatorUserId());
498    
499                            return user.getUuid();
500                    }
501                    catch (PortalException pe) {
502                            return StringPool.BLANK;
503                    }
504            }
505    
506            @Override
507            public void setCreatorUserUuid(String creatorUserUuid) {
508            }
509    
510            @Override
511            public String getClassName() {
512                    if (getClassNameId() <= 0) {
513                            return StringPool.BLANK;
514                    }
515    
516                    return PortalUtil.getClassName(getClassNameId());
517            }
518    
519            @Override
520            public void setClassName(String className) {
521                    long classNameId = 0;
522    
523                    if (Validator.isNotNull(className)) {
524                            classNameId = PortalUtil.getClassNameId(className);
525                    }
526    
527                    setClassNameId(classNameId);
528            }
529    
530            @JSON
531            @Override
532            public long getClassNameId() {
533                    return _classNameId;
534            }
535    
536            @Override
537            public void setClassNameId(long classNameId) {
538                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
539    
540                    if (!_setOriginalClassNameId) {
541                            _setOriginalClassNameId = true;
542    
543                            _originalClassNameId = _classNameId;
544                    }
545    
546                    _classNameId = classNameId;
547            }
548    
549            public long getOriginalClassNameId() {
550                    return _originalClassNameId;
551            }
552    
553            @JSON
554            @Override
555            public long getClassPK() {
556                    return _classPK;
557            }
558    
559            @Override
560            public void setClassPK(long classPK) {
561                    _columnBitmask |= CLASSPK_COLUMN_BITMASK;
562    
563                    if (!_setOriginalClassPK) {
564                            _setOriginalClassPK = true;
565    
566                            _originalClassPK = _classPK;
567                    }
568    
569                    _classPK = classPK;
570            }
571    
572            public long getOriginalClassPK() {
573                    return _originalClassPK;
574            }
575    
576            @JSON
577            @Override
578            public long getParentGroupId() {
579                    return _parentGroupId;
580            }
581    
582            @Override
583            public void setParentGroupId(long parentGroupId) {
584                    _columnBitmask |= PARENTGROUPID_COLUMN_BITMASK;
585    
586                    if (!_setOriginalParentGroupId) {
587                            _setOriginalParentGroupId = true;
588    
589                            _originalParentGroupId = _parentGroupId;
590                    }
591    
592                    _parentGroupId = parentGroupId;
593            }
594    
595            public long getOriginalParentGroupId() {
596                    return _originalParentGroupId;
597            }
598    
599            @JSON
600            @Override
601            public long getLiveGroupId() {
602                    return _liveGroupId;
603            }
604    
605            @Override
606            public void setLiveGroupId(long liveGroupId) {
607                    _columnBitmask |= LIVEGROUPID_COLUMN_BITMASK;
608    
609                    if (!_setOriginalLiveGroupId) {
610                            _setOriginalLiveGroupId = true;
611    
612                            _originalLiveGroupId = _liveGroupId;
613                    }
614    
615                    _liveGroupId = liveGroupId;
616            }
617    
618            public long getOriginalLiveGroupId() {
619                    return _originalLiveGroupId;
620            }
621    
622            @JSON
623            @Override
624            public String getTreePath() {
625                    if (_treePath == null) {
626                            return StringPool.BLANK;
627                    }
628                    else {
629                            return _treePath;
630                    }
631            }
632    
633            @Override
634            public void setTreePath(String treePath) {
635                    _treePath = treePath;
636            }
637    
638            @JSON
639            @Override
640            public String getName() {
641                    if (_name == null) {
642                            return StringPool.BLANK;
643                    }
644                    else {
645                            return _name;
646                    }
647            }
648    
649            @Override
650            public void setName(String name) {
651                    _columnBitmask = -1L;
652    
653                    if (_originalName == null) {
654                            _originalName = _name;
655                    }
656    
657                    _name = name;
658            }
659    
660            public String getOriginalName() {
661                    return GetterUtil.getString(_originalName);
662            }
663    
664            @JSON
665            @Override
666            public String getDescription() {
667                    if (_description == null) {
668                            return StringPool.BLANK;
669                    }
670                    else {
671                            return _description;
672                    }
673            }
674    
675            @Override
676            public void setDescription(String description) {
677                    _description = description;
678            }
679    
680            @JSON
681            @Override
682            public int getType() {
683                    return _type;
684            }
685    
686            @Override
687            public void setType(int type) {
688                    _columnBitmask |= TYPE_COLUMN_BITMASK;
689    
690                    if (!_setOriginalType) {
691                            _setOriginalType = true;
692    
693                            _originalType = _type;
694                    }
695    
696                    _type = type;
697            }
698    
699            public int getOriginalType() {
700                    return _originalType;
701            }
702    
703            @JSON
704            @Override
705            public String getTypeSettings() {
706                    if (_typeSettings == null) {
707                            return StringPool.BLANK;
708                    }
709                    else {
710                            return _typeSettings;
711                    }
712            }
713    
714            @Override
715            public void setTypeSettings(String typeSettings) {
716                    _typeSettings = typeSettings;
717            }
718    
719            @JSON
720            @Override
721            public boolean getManualMembership() {
722                    return _manualMembership;
723            }
724    
725            @Override
726            public boolean isManualMembership() {
727                    return _manualMembership;
728            }
729    
730            @Override
731            public void setManualMembership(boolean manualMembership) {
732                    _manualMembership = manualMembership;
733            }
734    
735            @JSON
736            @Override
737            public int getMembershipRestriction() {
738                    return _membershipRestriction;
739            }
740    
741            @Override
742            public void setMembershipRestriction(int membershipRestriction) {
743                    _membershipRestriction = membershipRestriction;
744            }
745    
746            @JSON
747            @Override
748            public String getFriendlyURL() {
749                    if (_friendlyURL == null) {
750                            return StringPool.BLANK;
751                    }
752                    else {
753                            return _friendlyURL;
754                    }
755            }
756    
757            @Override
758            public void setFriendlyURL(String friendlyURL) {
759                    _columnBitmask |= FRIENDLYURL_COLUMN_BITMASK;
760    
761                    if (_originalFriendlyURL == null) {
762                            _originalFriendlyURL = _friendlyURL;
763                    }
764    
765                    _friendlyURL = friendlyURL;
766            }
767    
768            public String getOriginalFriendlyURL() {
769                    return GetterUtil.getString(_originalFriendlyURL);
770            }
771    
772            @JSON
773            @Override
774            public boolean getSite() {
775                    return _site;
776            }
777    
778            @Override
779            public boolean isSite() {
780                    return _site;
781            }
782    
783            @Override
784            public void setSite(boolean site) {
785                    _columnBitmask |= SITE_COLUMN_BITMASK;
786    
787                    if (!_setOriginalSite) {
788                            _setOriginalSite = true;
789    
790                            _originalSite = _site;
791                    }
792    
793                    _site = site;
794            }
795    
796            public boolean getOriginalSite() {
797                    return _originalSite;
798            }
799    
800            @JSON
801            @Override
802            public int getRemoteStagingGroupCount() {
803                    return _remoteStagingGroupCount;
804            }
805    
806            @Override
807            public void setRemoteStagingGroupCount(int remoteStagingGroupCount) {
808                    _remoteStagingGroupCount = remoteStagingGroupCount;
809            }
810    
811            @JSON
812            @Override
813            public boolean getActive() {
814                    return _active;
815            }
816    
817            @Override
818            public boolean isActive() {
819                    return _active;
820            }
821    
822            @Override
823            public void setActive(boolean active) {
824                    _columnBitmask |= ACTIVE_COLUMN_BITMASK;
825    
826                    if (!_setOriginalActive) {
827                            _setOriginalActive = true;
828    
829                            _originalActive = _active;
830                    }
831    
832                    _active = active;
833            }
834    
835            public boolean getOriginalActive() {
836                    return _originalActive;
837            }
838    
839            public long getColumnBitmask() {
840                    return _columnBitmask;
841            }
842    
843            @Override
844            public ExpandoBridge getExpandoBridge() {
845                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
846                            Group.class.getName(), getPrimaryKey());
847            }
848    
849            @Override
850            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
851                    ExpandoBridge expandoBridge = getExpandoBridge();
852    
853                    expandoBridge.setAttributes(serviceContext);
854            }
855    
856            @Override
857            public Group toEscapedModel() {
858                    if (_escapedModel == null) {
859                            _escapedModel = (Group)ProxyUtil.newProxyInstance(_classLoader,
860                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
861                    }
862    
863                    return _escapedModel;
864            }
865    
866            @Override
867            public Object clone() {
868                    GroupImpl groupImpl = new GroupImpl();
869    
870                    groupImpl.setMvccVersion(getMvccVersion());
871                    groupImpl.setUuid(getUuid());
872                    groupImpl.setGroupId(getGroupId());
873                    groupImpl.setCompanyId(getCompanyId());
874                    groupImpl.setCreatorUserId(getCreatorUserId());
875                    groupImpl.setClassNameId(getClassNameId());
876                    groupImpl.setClassPK(getClassPK());
877                    groupImpl.setParentGroupId(getParentGroupId());
878                    groupImpl.setLiveGroupId(getLiveGroupId());
879                    groupImpl.setTreePath(getTreePath());
880                    groupImpl.setName(getName());
881                    groupImpl.setDescription(getDescription());
882                    groupImpl.setType(getType());
883                    groupImpl.setTypeSettings(getTypeSettings());
884                    groupImpl.setManualMembership(getManualMembership());
885                    groupImpl.setMembershipRestriction(getMembershipRestriction());
886                    groupImpl.setFriendlyURL(getFriendlyURL());
887                    groupImpl.setSite(getSite());
888                    groupImpl.setRemoteStagingGroupCount(getRemoteStagingGroupCount());
889                    groupImpl.setActive(getActive());
890    
891                    groupImpl.resetOriginalValues();
892    
893                    return groupImpl;
894            }
895    
896            @Override
897            public int compareTo(Group group) {
898                    int value = 0;
899    
900                    value = getName().compareToIgnoreCase(group.getName());
901    
902                    if (value != 0) {
903                            return value;
904                    }
905    
906                    return 0;
907            }
908    
909            @Override
910            public boolean equals(Object obj) {
911                    if (this == obj) {
912                            return true;
913                    }
914    
915                    if (!(obj instanceof Group)) {
916                            return false;
917                    }
918    
919                    Group group = (Group)obj;
920    
921                    long primaryKey = group.getPrimaryKey();
922    
923                    if (getPrimaryKey() == primaryKey) {
924                            return true;
925                    }
926                    else {
927                            return false;
928                    }
929            }
930    
931            @Override
932            public int hashCode() {
933                    return (int)getPrimaryKey();
934            }
935    
936            @Override
937            public boolean isEntityCacheEnabled() {
938                    return ENTITY_CACHE_ENABLED;
939            }
940    
941            @Override
942            public boolean isFinderCacheEnabled() {
943                    return FINDER_CACHE_ENABLED;
944            }
945    
946            @Override
947            public void resetOriginalValues() {
948                    GroupModelImpl groupModelImpl = this;
949    
950                    groupModelImpl._originalUuid = groupModelImpl._uuid;
951    
952                    groupModelImpl._originalGroupId = groupModelImpl._groupId;
953    
954                    groupModelImpl._setOriginalGroupId = false;
955    
956                    groupModelImpl._originalCompanyId = groupModelImpl._companyId;
957    
958                    groupModelImpl._setOriginalCompanyId = false;
959    
960                    groupModelImpl._originalClassNameId = groupModelImpl._classNameId;
961    
962                    groupModelImpl._setOriginalClassNameId = false;
963    
964                    groupModelImpl._originalClassPK = groupModelImpl._classPK;
965    
966                    groupModelImpl._setOriginalClassPK = false;
967    
968                    groupModelImpl._originalParentGroupId = groupModelImpl._parentGroupId;
969    
970                    groupModelImpl._setOriginalParentGroupId = false;
971    
972                    groupModelImpl._originalLiveGroupId = groupModelImpl._liveGroupId;
973    
974                    groupModelImpl._setOriginalLiveGroupId = false;
975    
976                    groupModelImpl._originalName = groupModelImpl._name;
977    
978                    groupModelImpl._originalType = groupModelImpl._type;
979    
980                    groupModelImpl._setOriginalType = false;
981    
982                    groupModelImpl._originalFriendlyURL = groupModelImpl._friendlyURL;
983    
984                    groupModelImpl._originalSite = groupModelImpl._site;
985    
986                    groupModelImpl._setOriginalSite = false;
987    
988                    groupModelImpl._originalActive = groupModelImpl._active;
989    
990                    groupModelImpl._setOriginalActive = false;
991    
992                    groupModelImpl._columnBitmask = 0;
993            }
994    
995            @Override
996            public CacheModel<Group> toCacheModel() {
997                    GroupCacheModel groupCacheModel = new GroupCacheModel();
998    
999                    groupCacheModel.mvccVersion = getMvccVersion();
1000    
1001                    groupCacheModel.uuid = getUuid();
1002    
1003                    String uuid = groupCacheModel.uuid;
1004    
1005                    if ((uuid != null) && (uuid.length() == 0)) {
1006                            groupCacheModel.uuid = null;
1007                    }
1008    
1009                    groupCacheModel.groupId = getGroupId();
1010    
1011                    groupCacheModel.companyId = getCompanyId();
1012    
1013                    groupCacheModel.creatorUserId = getCreatorUserId();
1014    
1015                    groupCacheModel.classNameId = getClassNameId();
1016    
1017                    groupCacheModel.classPK = getClassPK();
1018    
1019                    groupCacheModel.parentGroupId = getParentGroupId();
1020    
1021                    groupCacheModel.liveGroupId = getLiveGroupId();
1022    
1023                    groupCacheModel.treePath = getTreePath();
1024    
1025                    String treePath = groupCacheModel.treePath;
1026    
1027                    if ((treePath != null) && (treePath.length() == 0)) {
1028                            groupCacheModel.treePath = null;
1029                    }
1030    
1031                    groupCacheModel.name = getName();
1032    
1033                    String name = groupCacheModel.name;
1034    
1035                    if ((name != null) && (name.length() == 0)) {
1036                            groupCacheModel.name = null;
1037                    }
1038    
1039                    groupCacheModel.description = getDescription();
1040    
1041                    String description = groupCacheModel.description;
1042    
1043                    if ((description != null) && (description.length() == 0)) {
1044                            groupCacheModel.description = null;
1045                    }
1046    
1047                    groupCacheModel.type = getType();
1048    
1049                    groupCacheModel.typeSettings = getTypeSettings();
1050    
1051                    String typeSettings = groupCacheModel.typeSettings;
1052    
1053                    if ((typeSettings != null) && (typeSettings.length() == 0)) {
1054                            groupCacheModel.typeSettings = null;
1055                    }
1056    
1057                    groupCacheModel.manualMembership = getManualMembership();
1058    
1059                    groupCacheModel.membershipRestriction = getMembershipRestriction();
1060    
1061                    groupCacheModel.friendlyURL = getFriendlyURL();
1062    
1063                    String friendlyURL = groupCacheModel.friendlyURL;
1064    
1065                    if ((friendlyURL != null) && (friendlyURL.length() == 0)) {
1066                            groupCacheModel.friendlyURL = null;
1067                    }
1068    
1069                    groupCacheModel.site = getSite();
1070    
1071                    groupCacheModel.remoteStagingGroupCount = getRemoteStagingGroupCount();
1072    
1073                    groupCacheModel.active = getActive();
1074    
1075                    return groupCacheModel;
1076            }
1077    
1078            @Override
1079            public String toString() {
1080                    StringBundler sb = new StringBundler(41);
1081    
1082                    sb.append("{mvccVersion=");
1083                    sb.append(getMvccVersion());
1084                    sb.append(", uuid=");
1085                    sb.append(getUuid());
1086                    sb.append(", groupId=");
1087                    sb.append(getGroupId());
1088                    sb.append(", companyId=");
1089                    sb.append(getCompanyId());
1090                    sb.append(", creatorUserId=");
1091                    sb.append(getCreatorUserId());
1092                    sb.append(", classNameId=");
1093                    sb.append(getClassNameId());
1094                    sb.append(", classPK=");
1095                    sb.append(getClassPK());
1096                    sb.append(", parentGroupId=");
1097                    sb.append(getParentGroupId());
1098                    sb.append(", liveGroupId=");
1099                    sb.append(getLiveGroupId());
1100                    sb.append(", treePath=");
1101                    sb.append(getTreePath());
1102                    sb.append(", name=");
1103                    sb.append(getName());
1104                    sb.append(", description=");
1105                    sb.append(getDescription());
1106                    sb.append(", type=");
1107                    sb.append(getType());
1108                    sb.append(", typeSettings=");
1109                    sb.append(getTypeSettings());
1110                    sb.append(", manualMembership=");
1111                    sb.append(getManualMembership());
1112                    sb.append(", membershipRestriction=");
1113                    sb.append(getMembershipRestriction());
1114                    sb.append(", friendlyURL=");
1115                    sb.append(getFriendlyURL());
1116                    sb.append(", site=");
1117                    sb.append(getSite());
1118                    sb.append(", remoteStagingGroupCount=");
1119                    sb.append(getRemoteStagingGroupCount());
1120                    sb.append(", active=");
1121                    sb.append(getActive());
1122                    sb.append("}");
1123    
1124                    return sb.toString();
1125            }
1126    
1127            @Override
1128            public String toXmlString() {
1129                    StringBundler sb = new StringBundler(64);
1130    
1131                    sb.append("<model><model-name>");
1132                    sb.append("com.liferay.portal.model.Group");
1133                    sb.append("</model-name>");
1134    
1135                    sb.append(
1136                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
1137                    sb.append(getMvccVersion());
1138                    sb.append("]]></column-value></column>");
1139                    sb.append(
1140                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
1141                    sb.append(getUuid());
1142                    sb.append("]]></column-value></column>");
1143                    sb.append(
1144                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
1145                    sb.append(getGroupId());
1146                    sb.append("]]></column-value></column>");
1147                    sb.append(
1148                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
1149                    sb.append(getCompanyId());
1150                    sb.append("]]></column-value></column>");
1151                    sb.append(
1152                            "<column><column-name>creatorUserId</column-name><column-value><![CDATA[");
1153                    sb.append(getCreatorUserId());
1154                    sb.append("]]></column-value></column>");
1155                    sb.append(
1156                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
1157                    sb.append(getClassNameId());
1158                    sb.append("]]></column-value></column>");
1159                    sb.append(
1160                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
1161                    sb.append(getClassPK());
1162                    sb.append("]]></column-value></column>");
1163                    sb.append(
1164                            "<column><column-name>parentGroupId</column-name><column-value><![CDATA[");
1165                    sb.append(getParentGroupId());
1166                    sb.append("]]></column-value></column>");
1167                    sb.append(
1168                            "<column><column-name>liveGroupId</column-name><column-value><![CDATA[");
1169                    sb.append(getLiveGroupId());
1170                    sb.append("]]></column-value></column>");
1171                    sb.append(
1172                            "<column><column-name>treePath</column-name><column-value><![CDATA[");
1173                    sb.append(getTreePath());
1174                    sb.append("]]></column-value></column>");
1175                    sb.append(
1176                            "<column><column-name>name</column-name><column-value><![CDATA[");
1177                    sb.append(getName());
1178                    sb.append("]]></column-value></column>");
1179                    sb.append(
1180                            "<column><column-name>description</column-name><column-value><![CDATA[");
1181                    sb.append(getDescription());
1182                    sb.append("]]></column-value></column>");
1183                    sb.append(
1184                            "<column><column-name>type</column-name><column-value><![CDATA[");
1185                    sb.append(getType());
1186                    sb.append("]]></column-value></column>");
1187                    sb.append(
1188                            "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
1189                    sb.append(getTypeSettings());
1190                    sb.append("]]></column-value></column>");
1191                    sb.append(
1192                            "<column><column-name>manualMembership</column-name><column-value><![CDATA[");
1193                    sb.append(getManualMembership());
1194                    sb.append("]]></column-value></column>");
1195                    sb.append(
1196                            "<column><column-name>membershipRestriction</column-name><column-value><![CDATA[");
1197                    sb.append(getMembershipRestriction());
1198                    sb.append("]]></column-value></column>");
1199                    sb.append(
1200                            "<column><column-name>friendlyURL</column-name><column-value><![CDATA[");
1201                    sb.append(getFriendlyURL());
1202                    sb.append("]]></column-value></column>");
1203                    sb.append(
1204                            "<column><column-name>site</column-name><column-value><![CDATA[");
1205                    sb.append(getSite());
1206                    sb.append("]]></column-value></column>");
1207                    sb.append(
1208                            "<column><column-name>remoteStagingGroupCount</column-name><column-value><![CDATA[");
1209                    sb.append(getRemoteStagingGroupCount());
1210                    sb.append("]]></column-value></column>");
1211                    sb.append(
1212                            "<column><column-name>active</column-name><column-value><![CDATA[");
1213                    sb.append(getActive());
1214                    sb.append("]]></column-value></column>");
1215    
1216                    sb.append("</model>");
1217    
1218                    return sb.toString();
1219            }
1220    
1221            private static final ClassLoader _classLoader = Group.class.getClassLoader();
1222            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
1223                            Group.class
1224                    };
1225            private long _mvccVersion;
1226            private String _uuid;
1227            private String _originalUuid;
1228            private long _groupId;
1229            private long _originalGroupId;
1230            private boolean _setOriginalGroupId;
1231            private long _companyId;
1232            private long _originalCompanyId;
1233            private boolean _setOriginalCompanyId;
1234            private long _creatorUserId;
1235            private long _classNameId;
1236            private long _originalClassNameId;
1237            private boolean _setOriginalClassNameId;
1238            private long _classPK;
1239            private long _originalClassPK;
1240            private boolean _setOriginalClassPK;
1241            private long _parentGroupId;
1242            private long _originalParentGroupId;
1243            private boolean _setOriginalParentGroupId;
1244            private long _liveGroupId;
1245            private long _originalLiveGroupId;
1246            private boolean _setOriginalLiveGroupId;
1247            private String _treePath;
1248            private String _name;
1249            private String _originalName;
1250            private String _description;
1251            private int _type;
1252            private int _originalType;
1253            private boolean _setOriginalType;
1254            private String _typeSettings;
1255            private boolean _manualMembership;
1256            private int _membershipRestriction;
1257            private String _friendlyURL;
1258            private String _originalFriendlyURL;
1259            private boolean _site;
1260            private boolean _originalSite;
1261            private boolean _setOriginalSite;
1262            private int _remoteStagingGroupCount;
1263            private boolean _active;
1264            private boolean _originalActive;
1265            private boolean _setOriginalActive;
1266            private long _columnBitmask;
1267            private Group _escapedModel;
1268    }