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