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.lar.StagedModelType;
024    import com.liferay.portal.kernel.util.GetterUtil;
025    import com.liferay.portal.kernel.util.LocaleUtil;
026    import com.liferay.portal.kernel.util.LocalizationUtil;
027    import com.liferay.portal.kernel.util.ProxyUtil;
028    import com.liferay.portal.kernel.util.StringBundler;
029    import com.liferay.portal.kernel.util.StringPool;
030    import com.liferay.portal.kernel.util.Validator;
031    import com.liferay.portal.model.CacheModel;
032    import com.liferay.portal.model.User;
033    import com.liferay.portal.model.impl.BaseModelImpl;
034    import com.liferay.portal.service.ServiceContext;
035    import com.liferay.portal.service.UserLocalServiceUtil;
036    import com.liferay.portal.util.PortalUtil;
037    
038    import com.liferay.portlet.expando.model.ExpandoBridge;
039    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
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 com.liferay.portlet.mobiledevicerules.model.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 com.liferay.portlet.mobiledevicerules.model.MDRAction
067     * @see com.liferay.portlet.mobiledevicerules.model.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 com.liferay.portlet.mobiledevicerules.model.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            @Override
468            public void setModifiedDate(Date modifiedDate) {
469                    _modifiedDate = modifiedDate;
470            }
471    
472            @Override
473            public String getClassName() {
474                    if (getClassNameId() <= 0) {
475                            return StringPool.BLANK;
476                    }
477    
478                    return PortalUtil.getClassName(getClassNameId());
479            }
480    
481            @Override
482            public void setClassName(String className) {
483                    long classNameId = 0;
484    
485                    if (Validator.isNotNull(className)) {
486                            classNameId = PortalUtil.getClassNameId(className);
487                    }
488    
489                    setClassNameId(classNameId);
490            }
491    
492            @JSON
493            @Override
494            public long getClassNameId() {
495                    return _classNameId;
496            }
497    
498            @Override
499            public void setClassNameId(long classNameId) {
500                    _classNameId = classNameId;
501            }
502    
503            @JSON
504            @Override
505            public long getClassPK() {
506                    return _classPK;
507            }
508    
509            @Override
510            public void setClassPK(long classPK) {
511                    _classPK = classPK;
512            }
513    
514            @JSON
515            @Override
516            public long getRuleGroupInstanceId() {
517                    return _ruleGroupInstanceId;
518            }
519    
520            @Override
521            public void setRuleGroupInstanceId(long ruleGroupInstanceId) {
522                    _columnBitmask |= RULEGROUPINSTANCEID_COLUMN_BITMASK;
523    
524                    if (!_setOriginalRuleGroupInstanceId) {
525                            _setOriginalRuleGroupInstanceId = true;
526    
527                            _originalRuleGroupInstanceId = _ruleGroupInstanceId;
528                    }
529    
530                    _ruleGroupInstanceId = ruleGroupInstanceId;
531            }
532    
533            public long getOriginalRuleGroupInstanceId() {
534                    return _originalRuleGroupInstanceId;
535            }
536    
537            @JSON
538            @Override
539            public String getName() {
540                    if (_name == null) {
541                            return StringPool.BLANK;
542                    }
543                    else {
544                            return _name;
545                    }
546            }
547    
548            @Override
549            public String getName(Locale locale) {
550                    String languageId = LocaleUtil.toLanguageId(locale);
551    
552                    return getName(languageId);
553            }
554    
555            @Override
556            public String getName(Locale locale, boolean useDefault) {
557                    String languageId = LocaleUtil.toLanguageId(locale);
558    
559                    return getName(languageId, useDefault);
560            }
561    
562            @Override
563            public String getName(String languageId) {
564                    return LocalizationUtil.getLocalization(getName(), languageId);
565            }
566    
567            @Override
568            public String getName(String languageId, boolean useDefault) {
569                    return LocalizationUtil.getLocalization(getName(), languageId,
570                            useDefault);
571            }
572    
573            @Override
574            public String getNameCurrentLanguageId() {
575                    return _nameCurrentLanguageId;
576            }
577    
578            @JSON
579            @Override
580            public String getNameCurrentValue() {
581                    Locale locale = getLocale(_nameCurrentLanguageId);
582    
583                    return getName(locale);
584            }
585    
586            @Override
587            public Map<Locale, String> getNameMap() {
588                    return LocalizationUtil.getLocalizationMap(getName());
589            }
590    
591            @Override
592            public void setName(String name) {
593                    _name = name;
594            }
595    
596            @Override
597            public void setName(String name, Locale locale) {
598                    setName(name, locale, LocaleUtil.getSiteDefault());
599            }
600    
601            @Override
602            public void setName(String name, Locale locale, Locale defaultLocale) {
603                    String languageId = LocaleUtil.toLanguageId(locale);
604                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
605    
606                    if (Validator.isNotNull(name)) {
607                            setName(LocalizationUtil.updateLocalization(getName(), "Name",
608                                            name, languageId, defaultLanguageId));
609                    }
610                    else {
611                            setName(LocalizationUtil.removeLocalization(getName(), "Name",
612                                            languageId));
613                    }
614            }
615    
616            @Override
617            public void setNameCurrentLanguageId(String languageId) {
618                    _nameCurrentLanguageId = languageId;
619            }
620    
621            @Override
622            public void setNameMap(Map<Locale, String> nameMap) {
623                    setNameMap(nameMap, LocaleUtil.getSiteDefault());
624            }
625    
626            @Override
627            public void setNameMap(Map<Locale, String> nameMap, Locale defaultLocale) {
628                    if (nameMap == null) {
629                            return;
630                    }
631    
632                    setName(LocalizationUtil.updateLocalization(nameMap, getName(), "Name",
633                                    LocaleUtil.toLanguageId(defaultLocale)));
634            }
635    
636            @JSON
637            @Override
638            public String getDescription() {
639                    if (_description == null) {
640                            return StringPool.BLANK;
641                    }
642                    else {
643                            return _description;
644                    }
645            }
646    
647            @Override
648            public String getDescription(Locale locale) {
649                    String languageId = LocaleUtil.toLanguageId(locale);
650    
651                    return getDescription(languageId);
652            }
653    
654            @Override
655            public String getDescription(Locale locale, boolean useDefault) {
656                    String languageId = LocaleUtil.toLanguageId(locale);
657    
658                    return getDescription(languageId, useDefault);
659            }
660    
661            @Override
662            public String getDescription(String languageId) {
663                    return LocalizationUtil.getLocalization(getDescription(), languageId);
664            }
665    
666            @Override
667            public String getDescription(String languageId, boolean useDefault) {
668                    return LocalizationUtil.getLocalization(getDescription(), languageId,
669                            useDefault);
670            }
671    
672            @Override
673            public String getDescriptionCurrentLanguageId() {
674                    return _descriptionCurrentLanguageId;
675            }
676    
677            @JSON
678            @Override
679            public String getDescriptionCurrentValue() {
680                    Locale locale = getLocale(_descriptionCurrentLanguageId);
681    
682                    return getDescription(locale);
683            }
684    
685            @Override
686            public Map<Locale, String> getDescriptionMap() {
687                    return LocalizationUtil.getLocalizationMap(getDescription());
688            }
689    
690            @Override
691            public void setDescription(String description) {
692                    _description = description;
693            }
694    
695            @Override
696            public void setDescription(String description, Locale locale) {
697                    setDescription(description, locale, LocaleUtil.getSiteDefault());
698            }
699    
700            @Override
701            public void setDescription(String description, Locale locale,
702                    Locale defaultLocale) {
703                    String languageId = LocaleUtil.toLanguageId(locale);
704                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
705    
706                    if (Validator.isNotNull(description)) {
707                            setDescription(LocalizationUtil.updateLocalization(
708                                            getDescription(), "Description", description, languageId,
709                                            defaultLanguageId));
710                    }
711                    else {
712                            setDescription(LocalizationUtil.removeLocalization(
713                                            getDescription(), "Description", languageId));
714                    }
715            }
716    
717            @Override
718            public void setDescriptionCurrentLanguageId(String languageId) {
719                    _descriptionCurrentLanguageId = languageId;
720            }
721    
722            @Override
723            public void setDescriptionMap(Map<Locale, String> descriptionMap) {
724                    setDescriptionMap(descriptionMap, LocaleUtil.getSiteDefault());
725            }
726    
727            @Override
728            public void setDescriptionMap(Map<Locale, String> descriptionMap,
729                    Locale defaultLocale) {
730                    if (descriptionMap == null) {
731                            return;
732                    }
733    
734                    setDescription(LocalizationUtil.updateLocalization(descriptionMap,
735                                    getDescription(), "Description",
736                                    LocaleUtil.toLanguageId(defaultLocale)));
737            }
738    
739            @JSON
740            @Override
741            public String getType() {
742                    if (_type == null) {
743                            return StringPool.BLANK;
744                    }
745                    else {
746                            return _type;
747                    }
748            }
749    
750            @Override
751            public void setType(String type) {
752                    _type = type;
753            }
754    
755            @JSON
756            @Override
757            public String getTypeSettings() {
758                    if (_typeSettings == null) {
759                            return StringPool.BLANK;
760                    }
761                    else {
762                            return _typeSettings;
763                    }
764            }
765    
766            @Override
767            public void setTypeSettings(String typeSettings) {
768                    _typeSettings = typeSettings;
769            }
770    
771            @Override
772            public StagedModelType getStagedModelType() {
773                    return new StagedModelType(PortalUtil.getClassNameId(
774                                    MDRAction.class.getName()), getClassNameId());
775            }
776    
777            public long getColumnBitmask() {
778                    return _columnBitmask;
779            }
780    
781            @Override
782            public ExpandoBridge getExpandoBridge() {
783                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
784                            MDRAction.class.getName(), getPrimaryKey());
785            }
786    
787            @Override
788            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
789                    ExpandoBridge expandoBridge = getExpandoBridge();
790    
791                    expandoBridge.setAttributes(serviceContext);
792            }
793    
794            @Override
795            public String[] getAvailableLanguageIds() {
796                    Set<String> availableLanguageIds = new TreeSet<String>();
797    
798                    Map<Locale, String> nameMap = getNameMap();
799    
800                    for (Map.Entry<Locale, String> entry : nameMap.entrySet()) {
801                            Locale locale = entry.getKey();
802                            String value = entry.getValue();
803    
804                            if (Validator.isNotNull(value)) {
805                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
806                            }
807                    }
808    
809                    Map<Locale, String> descriptionMap = getDescriptionMap();
810    
811                    for (Map.Entry<Locale, String> entry : descriptionMap.entrySet()) {
812                            Locale locale = entry.getKey();
813                            String value = entry.getValue();
814    
815                            if (Validator.isNotNull(value)) {
816                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
817                            }
818                    }
819    
820                    return availableLanguageIds.toArray(new String[availableLanguageIds.size()]);
821            }
822    
823            @Override
824            public String getDefaultLanguageId() {
825                    String xml = getName();
826    
827                    if (xml == null) {
828                            return StringPool.BLANK;
829                    }
830    
831                    Locale defaultLocale = LocaleUtil.getSiteDefault();
832    
833                    return LocalizationUtil.getDefaultLanguageId(xml, defaultLocale);
834            }
835    
836            @Override
837            public void prepareLocalizedFieldsForImport() throws LocaleException {
838                    Locale defaultLocale = LocaleUtil.fromLanguageId(getDefaultLanguageId());
839    
840                    Locale[] availableLocales = LocaleUtil.fromLanguageIds(getAvailableLanguageIds());
841    
842                    Locale defaultImportLocale = LocalizationUtil.getDefaultImportLocale(MDRAction.class.getName(),
843                                    getPrimaryKey(), defaultLocale, availableLocales);
844    
845                    prepareLocalizedFieldsForImport(defaultImportLocale);
846            }
847    
848            @Override
849            @SuppressWarnings("unused")
850            public void prepareLocalizedFieldsForImport(Locale defaultImportLocale)
851                    throws LocaleException {
852                    Locale defaultLocale = LocaleUtil.getSiteDefault();
853    
854                    String modelDefaultLanguageId = getDefaultLanguageId();
855    
856                    String name = getName(defaultLocale);
857    
858                    if (Validator.isNull(name)) {
859                            setName(getName(modelDefaultLanguageId), defaultLocale);
860                    }
861                    else {
862                            setName(getName(defaultLocale), defaultLocale, defaultLocale);
863                    }
864    
865                    String description = getDescription(defaultLocale);
866    
867                    if (Validator.isNull(description)) {
868                            setDescription(getDescription(modelDefaultLanguageId), defaultLocale);
869                    }
870                    else {
871                            setDescription(getDescription(defaultLocale), defaultLocale,
872                                    defaultLocale);
873                    }
874            }
875    
876            @Override
877            public MDRAction toEscapedModel() {
878                    if (_escapedModel == null) {
879                            _escapedModel = (MDRAction)ProxyUtil.newProxyInstance(_classLoader,
880                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
881                    }
882    
883                    return _escapedModel;
884            }
885    
886            @Override
887            public Object clone() {
888                    MDRActionImpl mdrActionImpl = new MDRActionImpl();
889    
890                    mdrActionImpl.setUuid(getUuid());
891                    mdrActionImpl.setActionId(getActionId());
892                    mdrActionImpl.setGroupId(getGroupId());
893                    mdrActionImpl.setCompanyId(getCompanyId());
894                    mdrActionImpl.setUserId(getUserId());
895                    mdrActionImpl.setUserName(getUserName());
896                    mdrActionImpl.setCreateDate(getCreateDate());
897                    mdrActionImpl.setModifiedDate(getModifiedDate());
898                    mdrActionImpl.setClassNameId(getClassNameId());
899                    mdrActionImpl.setClassPK(getClassPK());
900                    mdrActionImpl.setRuleGroupInstanceId(getRuleGroupInstanceId());
901                    mdrActionImpl.setName(getName());
902                    mdrActionImpl.setDescription(getDescription());
903                    mdrActionImpl.setType(getType());
904                    mdrActionImpl.setTypeSettings(getTypeSettings());
905    
906                    mdrActionImpl.resetOriginalValues();
907    
908                    return mdrActionImpl;
909            }
910    
911            @Override
912            public int compareTo(MDRAction mdrAction) {
913                    long primaryKey = mdrAction.getPrimaryKey();
914    
915                    if (getPrimaryKey() < primaryKey) {
916                            return -1;
917                    }
918                    else if (getPrimaryKey() > primaryKey) {
919                            return 1;
920                    }
921                    else {
922                            return 0;
923                    }
924            }
925    
926            @Override
927            public boolean equals(Object obj) {
928                    if (this == obj) {
929                            return true;
930                    }
931    
932                    if (!(obj instanceof MDRAction)) {
933                            return false;
934                    }
935    
936                    MDRAction mdrAction = (MDRAction)obj;
937    
938                    long primaryKey = mdrAction.getPrimaryKey();
939    
940                    if (getPrimaryKey() == primaryKey) {
941                            return true;
942                    }
943                    else {
944                            return false;
945                    }
946            }
947    
948            @Override
949            public int hashCode() {
950                    return (int)getPrimaryKey();
951            }
952    
953            @Override
954            public boolean isEntityCacheEnabled() {
955                    return ENTITY_CACHE_ENABLED;
956            }
957    
958            @Override
959            public boolean isFinderCacheEnabled() {
960                    return FINDER_CACHE_ENABLED;
961            }
962    
963            @Override
964            public void resetOriginalValues() {
965                    MDRActionModelImpl mdrActionModelImpl = this;
966    
967                    mdrActionModelImpl._originalUuid = mdrActionModelImpl._uuid;
968    
969                    mdrActionModelImpl._originalGroupId = mdrActionModelImpl._groupId;
970    
971                    mdrActionModelImpl._setOriginalGroupId = false;
972    
973                    mdrActionModelImpl._originalCompanyId = mdrActionModelImpl._companyId;
974    
975                    mdrActionModelImpl._setOriginalCompanyId = false;
976    
977                    mdrActionModelImpl._originalRuleGroupInstanceId = mdrActionModelImpl._ruleGroupInstanceId;
978    
979                    mdrActionModelImpl._setOriginalRuleGroupInstanceId = false;
980    
981                    mdrActionModelImpl._columnBitmask = 0;
982            }
983    
984            @Override
985            public CacheModel<MDRAction> toCacheModel() {
986                    MDRActionCacheModel mdrActionCacheModel = new MDRActionCacheModel();
987    
988                    mdrActionCacheModel.uuid = getUuid();
989    
990                    String uuid = mdrActionCacheModel.uuid;
991    
992                    if ((uuid != null) && (uuid.length() == 0)) {
993                            mdrActionCacheModel.uuid = null;
994                    }
995    
996                    mdrActionCacheModel.actionId = getActionId();
997    
998                    mdrActionCacheModel.groupId = getGroupId();
999    
1000                    mdrActionCacheModel.companyId = getCompanyId();
1001    
1002                    mdrActionCacheModel.userId = getUserId();
1003    
1004                    mdrActionCacheModel.userName = getUserName();
1005    
1006                    String userName = mdrActionCacheModel.userName;
1007    
1008                    if ((userName != null) && (userName.length() == 0)) {
1009                            mdrActionCacheModel.userName = null;
1010                    }
1011    
1012                    Date createDate = getCreateDate();
1013    
1014                    if (createDate != null) {
1015                            mdrActionCacheModel.createDate = createDate.getTime();
1016                    }
1017                    else {
1018                            mdrActionCacheModel.createDate = Long.MIN_VALUE;
1019                    }
1020    
1021                    Date modifiedDate = getModifiedDate();
1022    
1023                    if (modifiedDate != null) {
1024                            mdrActionCacheModel.modifiedDate = modifiedDate.getTime();
1025                    }
1026                    else {
1027                            mdrActionCacheModel.modifiedDate = Long.MIN_VALUE;
1028                    }
1029    
1030                    mdrActionCacheModel.classNameId = getClassNameId();
1031    
1032                    mdrActionCacheModel.classPK = getClassPK();
1033    
1034                    mdrActionCacheModel.ruleGroupInstanceId = getRuleGroupInstanceId();
1035    
1036                    mdrActionCacheModel.name = getName();
1037    
1038                    String name = mdrActionCacheModel.name;
1039    
1040                    if ((name != null) && (name.length() == 0)) {
1041                            mdrActionCacheModel.name = null;
1042                    }
1043    
1044                    mdrActionCacheModel.description = getDescription();
1045    
1046                    String description = mdrActionCacheModel.description;
1047    
1048                    if ((description != null) && (description.length() == 0)) {
1049                            mdrActionCacheModel.description = null;
1050                    }
1051    
1052                    mdrActionCacheModel.type = getType();
1053    
1054                    String type = mdrActionCacheModel.type;
1055    
1056                    if ((type != null) && (type.length() == 0)) {
1057                            mdrActionCacheModel.type = null;
1058                    }
1059    
1060                    mdrActionCacheModel.typeSettings = getTypeSettings();
1061    
1062                    String typeSettings = mdrActionCacheModel.typeSettings;
1063    
1064                    if ((typeSettings != null) && (typeSettings.length() == 0)) {
1065                            mdrActionCacheModel.typeSettings = null;
1066                    }
1067    
1068                    return mdrActionCacheModel;
1069            }
1070    
1071            @Override
1072            public String toString() {
1073                    StringBundler sb = new StringBundler(31);
1074    
1075                    sb.append("{uuid=");
1076                    sb.append(getUuid());
1077                    sb.append(", actionId=");
1078                    sb.append(getActionId());
1079                    sb.append(", groupId=");
1080                    sb.append(getGroupId());
1081                    sb.append(", companyId=");
1082                    sb.append(getCompanyId());
1083                    sb.append(", userId=");
1084                    sb.append(getUserId());
1085                    sb.append(", userName=");
1086                    sb.append(getUserName());
1087                    sb.append(", createDate=");
1088                    sb.append(getCreateDate());
1089                    sb.append(", modifiedDate=");
1090                    sb.append(getModifiedDate());
1091                    sb.append(", classNameId=");
1092                    sb.append(getClassNameId());
1093                    sb.append(", classPK=");
1094                    sb.append(getClassPK());
1095                    sb.append(", ruleGroupInstanceId=");
1096                    sb.append(getRuleGroupInstanceId());
1097                    sb.append(", name=");
1098                    sb.append(getName());
1099                    sb.append(", description=");
1100                    sb.append(getDescription());
1101                    sb.append(", type=");
1102                    sb.append(getType());
1103                    sb.append(", typeSettings=");
1104                    sb.append(getTypeSettings());
1105                    sb.append("}");
1106    
1107                    return sb.toString();
1108            }
1109    
1110            @Override
1111            public String toXmlString() {
1112                    StringBundler sb = new StringBundler(49);
1113    
1114                    sb.append("<model><model-name>");
1115                    sb.append("com.liferay.portlet.mobiledevicerules.model.MDRAction");
1116                    sb.append("</model-name>");
1117    
1118                    sb.append(
1119                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
1120                    sb.append(getUuid());
1121                    sb.append("]]></column-value></column>");
1122                    sb.append(
1123                            "<column><column-name>actionId</column-name><column-value><![CDATA[");
1124                    sb.append(getActionId());
1125                    sb.append("]]></column-value></column>");
1126                    sb.append(
1127                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
1128                    sb.append(getGroupId());
1129                    sb.append("]]></column-value></column>");
1130                    sb.append(
1131                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
1132                    sb.append(getCompanyId());
1133                    sb.append("]]></column-value></column>");
1134                    sb.append(
1135                            "<column><column-name>userId</column-name><column-value><![CDATA[");
1136                    sb.append(getUserId());
1137                    sb.append("]]></column-value></column>");
1138                    sb.append(
1139                            "<column><column-name>userName</column-name><column-value><![CDATA[");
1140                    sb.append(getUserName());
1141                    sb.append("]]></column-value></column>");
1142                    sb.append(
1143                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
1144                    sb.append(getCreateDate());
1145                    sb.append("]]></column-value></column>");
1146                    sb.append(
1147                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
1148                    sb.append(getModifiedDate());
1149                    sb.append("]]></column-value></column>");
1150                    sb.append(
1151                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
1152                    sb.append(getClassNameId());
1153                    sb.append("]]></column-value></column>");
1154                    sb.append(
1155                            "<column><column-name>classPK</column-name><column-value><![CDATA[");
1156                    sb.append(getClassPK());
1157                    sb.append("]]></column-value></column>");
1158                    sb.append(
1159                            "<column><column-name>ruleGroupInstanceId</column-name><column-value><![CDATA[");
1160                    sb.append(getRuleGroupInstanceId());
1161                    sb.append("]]></column-value></column>");
1162                    sb.append(
1163                            "<column><column-name>name</column-name><column-value><![CDATA[");
1164                    sb.append(getName());
1165                    sb.append("]]></column-value></column>");
1166                    sb.append(
1167                            "<column><column-name>description</column-name><column-value><![CDATA[");
1168                    sb.append(getDescription());
1169                    sb.append("]]></column-value></column>");
1170                    sb.append(
1171                            "<column><column-name>type</column-name><column-value><![CDATA[");
1172                    sb.append(getType());
1173                    sb.append("]]></column-value></column>");
1174                    sb.append(
1175                            "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
1176                    sb.append(getTypeSettings());
1177                    sb.append("]]></column-value></column>");
1178    
1179                    sb.append("</model>");
1180    
1181                    return sb.toString();
1182            }
1183    
1184            private static final ClassLoader _classLoader = MDRAction.class.getClassLoader();
1185            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
1186                            MDRAction.class
1187                    };
1188            private String _uuid;
1189            private String _originalUuid;
1190            private long _actionId;
1191            private long _groupId;
1192            private long _originalGroupId;
1193            private boolean _setOriginalGroupId;
1194            private long _companyId;
1195            private long _originalCompanyId;
1196            private boolean _setOriginalCompanyId;
1197            private long _userId;
1198            private String _userName;
1199            private Date _createDate;
1200            private Date _modifiedDate;
1201            private long _classNameId;
1202            private long _classPK;
1203            private long _ruleGroupInstanceId;
1204            private long _originalRuleGroupInstanceId;
1205            private boolean _setOriginalRuleGroupInstanceId;
1206            private String _name;
1207            private String _nameCurrentLanguageId;
1208            private String _description;
1209            private String _descriptionCurrentLanguageId;
1210            private String _type;
1211            private String _typeSettings;
1212            private long _columnBitmask;
1213            private MDRAction _escapedModel;
1214    }