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