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