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