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