001    /**
002     * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.model.impl;
016    
017    import com.liferay.portal.LocaleException;
018    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
019    import com.liferay.portal.kernel.exception.SystemException;
020    import com.liferay.portal.kernel.json.JSON;
021    import com.liferay.portal.kernel.lar.StagedModelType;
022    import com.liferay.portal.kernel.util.GetterUtil;
023    import com.liferay.portal.kernel.util.LocaleUtil;
024    import com.liferay.portal.kernel.util.LocalizationUtil;
025    import com.liferay.portal.kernel.util.ProxyUtil;
026    import com.liferay.portal.kernel.util.StringBundler;
027    import com.liferay.portal.kernel.util.StringPool;
028    import com.liferay.portal.kernel.util.Validator;
029    import com.liferay.portal.model.CacheModel;
030    import com.liferay.portal.model.Layout;
031    import com.liferay.portal.model.LayoutModel;
032    import com.liferay.portal.model.LayoutSoap;
033    import com.liferay.portal.service.ServiceContext;
034    import com.liferay.portal.util.PortalUtil;
035    
036    import com.liferay.portlet.expando.model.ExpandoBridge;
037    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
038    
039    import java.io.Serializable;
040    
041    import java.sql.Types;
042    
043    import java.util.ArrayList;
044    import java.util.Date;
045    import java.util.HashMap;
046    import java.util.List;
047    import java.util.Locale;
048    import java.util.Map;
049    import java.util.Set;
050    import java.util.TreeSet;
051    
052    /**
053     * The base model implementation for the Layout service. Represents a row in the "Layout" database table, with each column mapped to a property of this class.
054     *
055     * <p>
056     * This implementation and its corresponding interface {@link com.liferay.portal.model.LayoutModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link LayoutImpl}.
057     * </p>
058     *
059     * @author Brian Wing Shun Chan
060     * @see LayoutImpl
061     * @see com.liferay.portal.model.Layout
062     * @see com.liferay.portal.model.LayoutModel
063     * @generated
064     */
065    @JSON(strict = true)
066    public class LayoutModelImpl extends BaseModelImpl<Layout>
067            implements LayoutModel {
068            /*
069             * NOTE FOR DEVELOPERS:
070             *
071             * Never modify or reference this class directly. All methods that expect a layout model instance should use the {@link com.liferay.portal.model.Layout} interface instead.
072             */
073            public static final String TABLE_NAME = "Layout";
074            public static final Object[][] TABLE_COLUMNS = {
075                            { "uuid_", Types.VARCHAR },
076                            { "plid", Types.BIGINT },
077                            { "groupId", Types.BIGINT },
078                            { "companyId", Types.BIGINT },
079                            { "userId", Types.BIGINT },
080                            { "userName", Types.VARCHAR },
081                            { "createDate", Types.TIMESTAMP },
082                            { "modifiedDate", Types.TIMESTAMP },
083                            { "privateLayout", Types.BOOLEAN },
084                            { "layoutId", Types.BIGINT },
085                            { "parentLayoutId", Types.BIGINT },
086                            { "name", Types.VARCHAR },
087                            { "title", Types.VARCHAR },
088                            { "description", Types.VARCHAR },
089                            { "keywords", Types.VARCHAR },
090                            { "robots", Types.VARCHAR },
091                            { "type_", Types.VARCHAR },
092                            { "typeSettings", Types.CLOB },
093                            { "hidden_", Types.BOOLEAN },
094                            { "friendlyURL", Types.VARCHAR },
095                            { "iconImage", Types.BOOLEAN },
096                            { "iconImageId", Types.BIGINT },
097                            { "themeId", Types.VARCHAR },
098                            { "colorSchemeId", Types.VARCHAR },
099                            { "wapThemeId", Types.VARCHAR },
100                            { "wapColorSchemeId", Types.VARCHAR },
101                            { "css", Types.CLOB },
102                            { "priority", Types.INTEGER },
103                            { "layoutPrototypeUuid", Types.VARCHAR },
104                            { "layoutPrototypeLinkEnabled", Types.BOOLEAN },
105                            { "sourcePrototypeLayoutUuid", Types.VARCHAR }
106                    };
107            public static final String TABLE_SQL_CREATE = "create table Layout (uuid_ VARCHAR(75) null,plid LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,privateLayout BOOLEAN,layoutId LONG,parentLayoutId LONG,name STRING null,title STRING null,description STRING null,keywords STRING null,robots STRING null,type_ VARCHAR(75) null,typeSettings TEXT null,hidden_ BOOLEAN,friendlyURL VARCHAR(255) null,iconImage BOOLEAN,iconImageId LONG,themeId VARCHAR(75) null,colorSchemeId VARCHAR(75) null,wapThemeId VARCHAR(75) null,wapColorSchemeId VARCHAR(75) null,css TEXT null,priority INTEGER,layoutPrototypeUuid VARCHAR(75) null,layoutPrototypeLinkEnabled BOOLEAN,sourcePrototypeLayoutUuid VARCHAR(75) null)";
108            public static final String TABLE_SQL_DROP = "drop table Layout";
109            public static final String ORDER_BY_JPQL = " ORDER BY layout.parentLayoutId ASC, layout.priority ASC";
110            public static final String ORDER_BY_SQL = " ORDER BY Layout.parentLayoutId ASC, Layout.priority ASC";
111            public static final String DATA_SOURCE = "liferayDataSource";
112            public static final String SESSION_FACTORY = "liferaySessionFactory";
113            public static final String TX_MANAGER = "liferayTransactionManager";
114            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
115                                    "value.object.entity.cache.enabled.com.liferay.portal.model.Layout"),
116                            true);
117            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
118                                    "value.object.finder.cache.enabled.com.liferay.portal.model.Layout"),
119                            true);
120            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
121                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.Layout"),
122                            true);
123            public static long COMPANYID_COLUMN_BITMASK = 1L;
124            public static long FRIENDLYURL_COLUMN_BITMASK = 2L;
125            public static long GROUPID_COLUMN_BITMASK = 4L;
126            public static long ICONIMAGEID_COLUMN_BITMASK = 8L;
127            public static long LAYOUTID_COLUMN_BITMASK = 16L;
128            public static long LAYOUTPROTOTYPEUUID_COLUMN_BITMASK = 32L;
129            public static long PARENTLAYOUTID_COLUMN_BITMASK = 64L;
130            public static long PRIVATELAYOUT_COLUMN_BITMASK = 128L;
131            public static long SOURCEPROTOTYPELAYOUTUUID_COLUMN_BITMASK = 256L;
132            public static long TYPE_COLUMN_BITMASK = 512L;
133            public static long UUID_COLUMN_BITMASK = 1024L;
134            public static long PRIORITY_COLUMN_BITMASK = 2048L;
135    
136            /**
137             * Converts the soap model instance into a normal model instance.
138             *
139             * @param soapModel the soap model instance to convert
140             * @return the normal model instance
141             */
142            public static Layout toModel(LayoutSoap soapModel) {
143                    if (soapModel == null) {
144                            return null;
145                    }
146    
147                    Layout model = new LayoutImpl();
148    
149                    model.setUuid(soapModel.getUuid());
150                    model.setPlid(soapModel.getPlid());
151                    model.setGroupId(soapModel.getGroupId());
152                    model.setCompanyId(soapModel.getCompanyId());
153                    model.setUserId(soapModel.getUserId());
154                    model.setUserName(soapModel.getUserName());
155                    model.setCreateDate(soapModel.getCreateDate());
156                    model.setModifiedDate(soapModel.getModifiedDate());
157                    model.setPrivateLayout(soapModel.getPrivateLayout());
158                    model.setLayoutId(soapModel.getLayoutId());
159                    model.setParentLayoutId(soapModel.getParentLayoutId());
160                    model.setName(soapModel.getName());
161                    model.setTitle(soapModel.getTitle());
162                    model.setDescription(soapModel.getDescription());
163                    model.setKeywords(soapModel.getKeywords());
164                    model.setRobots(soapModel.getRobots());
165                    model.setType(soapModel.getType());
166                    model.setTypeSettings(soapModel.getTypeSettings());
167                    model.setHidden(soapModel.getHidden());
168                    model.setFriendlyURL(soapModel.getFriendlyURL());
169                    model.setIconImage(soapModel.getIconImage());
170                    model.setIconImageId(soapModel.getIconImageId());
171                    model.setThemeId(soapModel.getThemeId());
172                    model.setColorSchemeId(soapModel.getColorSchemeId());
173                    model.setWapThemeId(soapModel.getWapThemeId());
174                    model.setWapColorSchemeId(soapModel.getWapColorSchemeId());
175                    model.setCss(soapModel.getCss());
176                    model.setPriority(soapModel.getPriority());
177                    model.setLayoutPrototypeUuid(soapModel.getLayoutPrototypeUuid());
178                    model.setLayoutPrototypeLinkEnabled(soapModel.getLayoutPrototypeLinkEnabled());
179                    model.setSourcePrototypeLayoutUuid(soapModel.getSourcePrototypeLayoutUuid());
180    
181                    return model;
182            }
183    
184            /**
185             * Converts the soap model instances into normal model instances.
186             *
187             * @param soapModels the soap model instances to convert
188             * @return the normal model instances
189             */
190            public static List<Layout> toModels(LayoutSoap[] soapModels) {
191                    if (soapModels == null) {
192                            return null;
193                    }
194    
195                    List<Layout> models = new ArrayList<Layout>(soapModels.length);
196    
197                    for (LayoutSoap soapModel : soapModels) {
198                            models.add(toModel(soapModel));
199                    }
200    
201                    return models;
202            }
203    
204            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
205                                    "lock.expiration.time.com.liferay.portal.model.Layout"));
206    
207            public LayoutModelImpl() {
208            }
209    
210            @Override
211            public long getPrimaryKey() {
212                    return _plid;
213            }
214    
215            @Override
216            public void setPrimaryKey(long primaryKey) {
217                    setPlid(primaryKey);
218            }
219    
220            @Override
221            public Serializable getPrimaryKeyObj() {
222                    return _plid;
223            }
224    
225            @Override
226            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
227                    setPrimaryKey(((Long)primaryKeyObj).longValue());
228            }
229    
230            @Override
231            public Class<?> getModelClass() {
232                    return Layout.class;
233            }
234    
235            @Override
236            public String getModelClassName() {
237                    return Layout.class.getName();
238            }
239    
240            @Override
241            public Map<String, Object> getModelAttributes() {
242                    Map<String, Object> attributes = new HashMap<String, Object>();
243    
244                    attributes.put("uuid", getUuid());
245                    attributes.put("plid", getPlid());
246                    attributes.put("groupId", getGroupId());
247                    attributes.put("companyId", getCompanyId());
248                    attributes.put("userId", getUserId());
249                    attributes.put("userName", getUserName());
250                    attributes.put("createDate", getCreateDate());
251                    attributes.put("modifiedDate", getModifiedDate());
252                    attributes.put("privateLayout", getPrivateLayout());
253                    attributes.put("layoutId", getLayoutId());
254                    attributes.put("parentLayoutId", getParentLayoutId());
255                    attributes.put("name", getName());
256                    attributes.put("title", getTitle());
257                    attributes.put("description", getDescription());
258                    attributes.put("keywords", getKeywords());
259                    attributes.put("robots", getRobots());
260                    attributes.put("type", getType());
261                    attributes.put("typeSettings", getTypeSettings());
262                    attributes.put("hidden", getHidden());
263                    attributes.put("friendlyURL", getFriendlyURL());
264                    attributes.put("iconImage", getIconImage());
265                    attributes.put("iconImageId", getIconImageId());
266                    attributes.put("themeId", getThemeId());
267                    attributes.put("colorSchemeId", getColorSchemeId());
268                    attributes.put("wapThemeId", getWapThemeId());
269                    attributes.put("wapColorSchemeId", getWapColorSchemeId());
270                    attributes.put("css", getCss());
271                    attributes.put("priority", getPriority());
272                    attributes.put("layoutPrototypeUuid", getLayoutPrototypeUuid());
273                    attributes.put("layoutPrototypeLinkEnabled",
274                            getLayoutPrototypeLinkEnabled());
275                    attributes.put("sourcePrototypeLayoutUuid",
276                            getSourcePrototypeLayoutUuid());
277    
278                    return attributes;
279            }
280    
281            @Override
282            public void setModelAttributes(Map<String, Object> attributes) {
283                    String uuid = (String)attributes.get("uuid");
284    
285                    if (uuid != null) {
286                            setUuid(uuid);
287                    }
288    
289                    Long plid = (Long)attributes.get("plid");
290    
291                    if (plid != null) {
292                            setPlid(plid);
293                    }
294    
295                    Long groupId = (Long)attributes.get("groupId");
296    
297                    if (groupId != null) {
298                            setGroupId(groupId);
299                    }
300    
301                    Long companyId = (Long)attributes.get("companyId");
302    
303                    if (companyId != null) {
304                            setCompanyId(companyId);
305                    }
306    
307                    Long userId = (Long)attributes.get("userId");
308    
309                    if (userId != null) {
310                            setUserId(userId);
311                    }
312    
313                    String userName = (String)attributes.get("userName");
314    
315                    if (userName != null) {
316                            setUserName(userName);
317                    }
318    
319                    Date createDate = (Date)attributes.get("createDate");
320    
321                    if (createDate != null) {
322                            setCreateDate(createDate);
323                    }
324    
325                    Date modifiedDate = (Date)attributes.get("modifiedDate");
326    
327                    if (modifiedDate != null) {
328                            setModifiedDate(modifiedDate);
329                    }
330    
331                    Boolean privateLayout = (Boolean)attributes.get("privateLayout");
332    
333                    if (privateLayout != null) {
334                            setPrivateLayout(privateLayout);
335                    }
336    
337                    Long layoutId = (Long)attributes.get("layoutId");
338    
339                    if (layoutId != null) {
340                            setLayoutId(layoutId);
341                    }
342    
343                    Long parentLayoutId = (Long)attributes.get("parentLayoutId");
344    
345                    if (parentLayoutId != null) {
346                            setParentLayoutId(parentLayoutId);
347                    }
348    
349                    String name = (String)attributes.get("name");
350    
351                    if (name != null) {
352                            setName(name);
353                    }
354    
355                    String title = (String)attributes.get("title");
356    
357                    if (title != null) {
358                            setTitle(title);
359                    }
360    
361                    String description = (String)attributes.get("description");
362    
363                    if (description != null) {
364                            setDescription(description);
365                    }
366    
367                    String keywords = (String)attributes.get("keywords");
368    
369                    if (keywords != null) {
370                            setKeywords(keywords);
371                    }
372    
373                    String robots = (String)attributes.get("robots");
374    
375                    if (robots != null) {
376                            setRobots(robots);
377                    }
378    
379                    String type = (String)attributes.get("type");
380    
381                    if (type != null) {
382                            setType(type);
383                    }
384    
385                    String typeSettings = (String)attributes.get("typeSettings");
386    
387                    if (typeSettings != null) {
388                            setTypeSettings(typeSettings);
389                    }
390    
391                    Boolean hidden = (Boolean)attributes.get("hidden");
392    
393                    if (hidden != null) {
394                            setHidden(hidden);
395                    }
396    
397                    String friendlyURL = (String)attributes.get("friendlyURL");
398    
399                    if (friendlyURL != null) {
400                            setFriendlyURL(friendlyURL);
401                    }
402    
403                    Boolean iconImage = (Boolean)attributes.get("iconImage");
404    
405                    if (iconImage != null) {
406                            setIconImage(iconImage);
407                    }
408    
409                    Long iconImageId = (Long)attributes.get("iconImageId");
410    
411                    if (iconImageId != null) {
412                            setIconImageId(iconImageId);
413                    }
414    
415                    String themeId = (String)attributes.get("themeId");
416    
417                    if (themeId != null) {
418                            setThemeId(themeId);
419                    }
420    
421                    String colorSchemeId = (String)attributes.get("colorSchemeId");
422    
423                    if (colorSchemeId != null) {
424                            setColorSchemeId(colorSchemeId);
425                    }
426    
427                    String wapThemeId = (String)attributes.get("wapThemeId");
428    
429                    if (wapThemeId != null) {
430                            setWapThemeId(wapThemeId);
431                    }
432    
433                    String wapColorSchemeId = (String)attributes.get("wapColorSchemeId");
434    
435                    if (wapColorSchemeId != null) {
436                            setWapColorSchemeId(wapColorSchemeId);
437                    }
438    
439                    String css = (String)attributes.get("css");
440    
441                    if (css != null) {
442                            setCss(css);
443                    }
444    
445                    Integer priority = (Integer)attributes.get("priority");
446    
447                    if (priority != null) {
448                            setPriority(priority);
449                    }
450    
451                    String layoutPrototypeUuid = (String)attributes.get(
452                                    "layoutPrototypeUuid");
453    
454                    if (layoutPrototypeUuid != null) {
455                            setLayoutPrototypeUuid(layoutPrototypeUuid);
456                    }
457    
458                    Boolean layoutPrototypeLinkEnabled = (Boolean)attributes.get(
459                                    "layoutPrototypeLinkEnabled");
460    
461                    if (layoutPrototypeLinkEnabled != null) {
462                            setLayoutPrototypeLinkEnabled(layoutPrototypeLinkEnabled);
463                    }
464    
465                    String sourcePrototypeLayoutUuid = (String)attributes.get(
466                                    "sourcePrototypeLayoutUuid");
467    
468                    if (sourcePrototypeLayoutUuid != null) {
469                            setSourcePrototypeLayoutUuid(sourcePrototypeLayoutUuid);
470                    }
471            }
472    
473            @JSON
474            @Override
475            public String getUuid() {
476                    if (_uuid == null) {
477                            return StringPool.BLANK;
478                    }
479                    else {
480                            return _uuid;
481                    }
482            }
483    
484            @Override
485            public void setUuid(String uuid) {
486                    if (_originalUuid == null) {
487                            _originalUuid = _uuid;
488                    }
489    
490                    _uuid = uuid;
491            }
492    
493            public String getOriginalUuid() {
494                    return GetterUtil.getString(_originalUuid);
495            }
496    
497            @JSON
498            @Override
499            public long getPlid() {
500                    return _plid;
501            }
502    
503            @Override
504            public void setPlid(long plid) {
505                    _plid = plid;
506            }
507    
508            @JSON
509            @Override
510            public long getGroupId() {
511                    return _groupId;
512            }
513    
514            @Override
515            public void setGroupId(long groupId) {
516                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
517    
518                    if (!_setOriginalGroupId) {
519                            _setOriginalGroupId = true;
520    
521                            _originalGroupId = _groupId;
522                    }
523    
524                    _groupId = groupId;
525            }
526    
527            public long getOriginalGroupId() {
528                    return _originalGroupId;
529            }
530    
531            @JSON
532            @Override
533            public long getCompanyId() {
534                    return _companyId;
535            }
536    
537            @Override
538            public void setCompanyId(long companyId) {
539                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
540    
541                    if (!_setOriginalCompanyId) {
542                            _setOriginalCompanyId = true;
543    
544                            _originalCompanyId = _companyId;
545                    }
546    
547                    _companyId = companyId;
548            }
549    
550            public long getOriginalCompanyId() {
551                    return _originalCompanyId;
552            }
553    
554            @JSON
555            @Override
556            public long getUserId() {
557                    return _userId;
558            }
559    
560            @Override
561            public void setUserId(long userId) {
562                    _userId = userId;
563            }
564    
565            @Override
566            public String getUserUuid() throws SystemException {
567                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
568            }
569    
570            @Override
571            public void setUserUuid(String userUuid) {
572                    _userUuid = userUuid;
573            }
574    
575            @JSON
576            @Override
577            public String getUserName() {
578                    if (_userName == null) {
579                            return StringPool.BLANK;
580                    }
581                    else {
582                            return _userName;
583                    }
584            }
585    
586            @Override
587            public void setUserName(String userName) {
588                    _userName = userName;
589            }
590    
591            @JSON
592            @Override
593            public Date getCreateDate() {
594                    return _createDate;
595            }
596    
597            @Override
598            public void setCreateDate(Date createDate) {
599                    _createDate = createDate;
600            }
601    
602            @JSON
603            @Override
604            public Date getModifiedDate() {
605                    return _modifiedDate;
606            }
607    
608            @Override
609            public void setModifiedDate(Date modifiedDate) {
610                    _modifiedDate = modifiedDate;
611            }
612    
613            @JSON
614            @Override
615            public boolean getPrivateLayout() {
616                    return _privateLayout;
617            }
618    
619            @Override
620            public boolean isPrivateLayout() {
621                    return _privateLayout;
622            }
623    
624            @Override
625            public void setPrivateLayout(boolean privateLayout) {
626                    _columnBitmask |= PRIVATELAYOUT_COLUMN_BITMASK;
627    
628                    if (!_setOriginalPrivateLayout) {
629                            _setOriginalPrivateLayout = true;
630    
631                            _originalPrivateLayout = _privateLayout;
632                    }
633    
634                    _privateLayout = privateLayout;
635            }
636    
637            public boolean getOriginalPrivateLayout() {
638                    return _originalPrivateLayout;
639            }
640    
641            @JSON
642            @Override
643            public long getLayoutId() {
644                    return _layoutId;
645            }
646    
647            @Override
648            public void setLayoutId(long layoutId) {
649                    _columnBitmask |= LAYOUTID_COLUMN_BITMASK;
650    
651                    if (!_setOriginalLayoutId) {
652                            _setOriginalLayoutId = true;
653    
654                            _originalLayoutId = _layoutId;
655                    }
656    
657                    _layoutId = layoutId;
658            }
659    
660            public long getOriginalLayoutId() {
661                    return _originalLayoutId;
662            }
663    
664            @JSON
665            @Override
666            public long getParentLayoutId() {
667                    return _parentLayoutId;
668            }
669    
670            @Override
671            public void setParentLayoutId(long parentLayoutId) {
672                    _columnBitmask = -1L;
673    
674                    if (!_setOriginalParentLayoutId) {
675                            _setOriginalParentLayoutId = true;
676    
677                            _originalParentLayoutId = _parentLayoutId;
678                    }
679    
680                    _parentLayoutId = parentLayoutId;
681            }
682    
683            public long getOriginalParentLayoutId() {
684                    return _originalParentLayoutId;
685            }
686    
687            @JSON
688            @Override
689            public String getName() {
690                    if (_name == null) {
691                            return StringPool.BLANK;
692                    }
693                    else {
694                            return _name;
695                    }
696            }
697    
698            @Override
699            public String getName(Locale locale) {
700                    String languageId = LocaleUtil.toLanguageId(locale);
701    
702                    return getName(languageId);
703            }
704    
705            @Override
706            public String getName(Locale locale, boolean useDefault) {
707                    String languageId = LocaleUtil.toLanguageId(locale);
708    
709                    return getName(languageId, useDefault);
710            }
711    
712            @Override
713            public String getName(String languageId) {
714                    return LocalizationUtil.getLocalization(getName(), languageId);
715            }
716    
717            @Override
718            public String getName(String languageId, boolean useDefault) {
719                    return LocalizationUtil.getLocalization(getName(), languageId,
720                            useDefault);
721            }
722    
723            @Override
724            public String getNameCurrentLanguageId() {
725                    return _nameCurrentLanguageId;
726            }
727    
728            @JSON
729            @Override
730            public String getNameCurrentValue() {
731                    Locale locale = getLocale(_nameCurrentLanguageId);
732    
733                    return getName(locale);
734            }
735    
736            @Override
737            public Map<Locale, String> getNameMap() {
738                    return LocalizationUtil.getLocalizationMap(getName());
739            }
740    
741            @Override
742            public void setName(String name) {
743                    _name = name;
744            }
745    
746            @Override
747            public void setName(String name, Locale locale) {
748                    setName(name, locale, LocaleUtil.getSiteDefault());
749            }
750    
751            @Override
752            public void setName(String name, Locale locale, Locale defaultLocale) {
753                    String languageId = LocaleUtil.toLanguageId(locale);
754                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
755    
756                    if (Validator.isNotNull(name)) {
757                            setName(LocalizationUtil.updateLocalization(getName(), "Name",
758                                            name, languageId, defaultLanguageId));
759                    }
760                    else {
761                            setName(LocalizationUtil.removeLocalization(getName(), "Name",
762                                            languageId));
763                    }
764            }
765    
766            @Override
767            public void setNameCurrentLanguageId(String languageId) {
768                    _nameCurrentLanguageId = languageId;
769            }
770    
771            @Override
772            public void setNameMap(Map<Locale, String> nameMap) {
773                    setNameMap(nameMap, LocaleUtil.getSiteDefault());
774            }
775    
776            @Override
777            public void setNameMap(Map<Locale, String> nameMap, Locale defaultLocale) {
778                    if (nameMap == null) {
779                            return;
780                    }
781    
782                    setName(LocalizationUtil.updateLocalization(nameMap, getName(), "Name",
783                                    LocaleUtil.toLanguageId(defaultLocale)));
784            }
785    
786            @JSON
787            @Override
788            public String getTitle() {
789                    if (_title == null) {
790                            return StringPool.BLANK;
791                    }
792                    else {
793                            return _title;
794                    }
795            }
796    
797            @Override
798            public String getTitle(Locale locale) {
799                    String languageId = LocaleUtil.toLanguageId(locale);
800    
801                    return getTitle(languageId);
802            }
803    
804            @Override
805            public String getTitle(Locale locale, boolean useDefault) {
806                    String languageId = LocaleUtil.toLanguageId(locale);
807    
808                    return getTitle(languageId, useDefault);
809            }
810    
811            @Override
812            public String getTitle(String languageId) {
813                    return LocalizationUtil.getLocalization(getTitle(), languageId);
814            }
815    
816            @Override
817            public String getTitle(String languageId, boolean useDefault) {
818                    return LocalizationUtil.getLocalization(getTitle(), languageId,
819                            useDefault);
820            }
821    
822            @Override
823            public String getTitleCurrentLanguageId() {
824                    return _titleCurrentLanguageId;
825            }
826    
827            @JSON
828            @Override
829            public String getTitleCurrentValue() {
830                    Locale locale = getLocale(_titleCurrentLanguageId);
831    
832                    return getTitle(locale);
833            }
834    
835            @Override
836            public Map<Locale, String> getTitleMap() {
837                    return LocalizationUtil.getLocalizationMap(getTitle());
838            }
839    
840            @Override
841            public void setTitle(String title) {
842                    _title = title;
843            }
844    
845            @Override
846            public void setTitle(String title, Locale locale) {
847                    setTitle(title, locale, LocaleUtil.getSiteDefault());
848            }
849    
850            @Override
851            public void setTitle(String title, Locale locale, Locale defaultLocale) {
852                    String languageId = LocaleUtil.toLanguageId(locale);
853                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
854    
855                    if (Validator.isNotNull(title)) {
856                            setTitle(LocalizationUtil.updateLocalization(getTitle(), "Title",
857                                            title, languageId, defaultLanguageId));
858                    }
859                    else {
860                            setTitle(LocalizationUtil.removeLocalization(getTitle(), "Title",
861                                            languageId));
862                    }
863            }
864    
865            @Override
866            public void setTitleCurrentLanguageId(String languageId) {
867                    _titleCurrentLanguageId = languageId;
868            }
869    
870            @Override
871            public void setTitleMap(Map<Locale, String> titleMap) {
872                    setTitleMap(titleMap, LocaleUtil.getSiteDefault());
873            }
874    
875            @Override
876            public void setTitleMap(Map<Locale, String> titleMap, Locale defaultLocale) {
877                    if (titleMap == null) {
878                            return;
879                    }
880    
881                    setTitle(LocalizationUtil.updateLocalization(titleMap, getTitle(),
882                                    "Title", LocaleUtil.toLanguageId(defaultLocale)));
883            }
884    
885            @JSON
886            @Override
887            public String getDescription() {
888                    if (_description == null) {
889                            return StringPool.BLANK;
890                    }
891                    else {
892                            return _description;
893                    }
894            }
895    
896            @Override
897            public String getDescription(Locale locale) {
898                    String languageId = LocaleUtil.toLanguageId(locale);
899    
900                    return getDescription(languageId);
901            }
902    
903            @Override
904            public String getDescription(Locale locale, boolean useDefault) {
905                    String languageId = LocaleUtil.toLanguageId(locale);
906    
907                    return getDescription(languageId, useDefault);
908            }
909    
910            @Override
911            public String getDescription(String languageId) {
912                    return LocalizationUtil.getLocalization(getDescription(), languageId);
913            }
914    
915            @Override
916            public String getDescription(String languageId, boolean useDefault) {
917                    return LocalizationUtil.getLocalization(getDescription(), languageId,
918                            useDefault);
919            }
920    
921            @Override
922            public String getDescriptionCurrentLanguageId() {
923                    return _descriptionCurrentLanguageId;
924            }
925    
926            @JSON
927            @Override
928            public String getDescriptionCurrentValue() {
929                    Locale locale = getLocale(_descriptionCurrentLanguageId);
930    
931                    return getDescription(locale);
932            }
933    
934            @Override
935            public Map<Locale, String> getDescriptionMap() {
936                    return LocalizationUtil.getLocalizationMap(getDescription());
937            }
938    
939            @Override
940            public void setDescription(String description) {
941                    _description = description;
942            }
943    
944            @Override
945            public void setDescription(String description, Locale locale) {
946                    setDescription(description, locale, LocaleUtil.getSiteDefault());
947            }
948    
949            @Override
950            public void setDescription(String description, Locale locale,
951                    Locale defaultLocale) {
952                    String languageId = LocaleUtil.toLanguageId(locale);
953                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
954    
955                    if (Validator.isNotNull(description)) {
956                            setDescription(LocalizationUtil.updateLocalization(
957                                            getDescription(), "Description", description, languageId,
958                                            defaultLanguageId));
959                    }
960                    else {
961                            setDescription(LocalizationUtil.removeLocalization(
962                                            getDescription(), "Description", languageId));
963                    }
964            }
965    
966            @Override
967            public void setDescriptionCurrentLanguageId(String languageId) {
968                    _descriptionCurrentLanguageId = languageId;
969            }
970    
971            @Override
972            public void setDescriptionMap(Map<Locale, String> descriptionMap) {
973                    setDescriptionMap(descriptionMap, LocaleUtil.getSiteDefault());
974            }
975    
976            @Override
977            public void setDescriptionMap(Map<Locale, String> descriptionMap,
978                    Locale defaultLocale) {
979                    if (descriptionMap == null) {
980                            return;
981                    }
982    
983                    setDescription(LocalizationUtil.updateLocalization(descriptionMap,
984                                    getDescription(), "Description",
985                                    LocaleUtil.toLanguageId(defaultLocale)));
986            }
987    
988            @JSON
989            @Override
990            public String getKeywords() {
991                    if (_keywords == null) {
992                            return StringPool.BLANK;
993                    }
994                    else {
995                            return _keywords;
996                    }
997            }
998    
999            @Override
1000            public String getKeywords(Locale locale) {
1001                    String languageId = LocaleUtil.toLanguageId(locale);
1002    
1003                    return getKeywords(languageId);
1004            }
1005    
1006            @Override
1007            public String getKeywords(Locale locale, boolean useDefault) {
1008                    String languageId = LocaleUtil.toLanguageId(locale);
1009    
1010                    return getKeywords(languageId, useDefault);
1011            }
1012    
1013            @Override
1014            public String getKeywords(String languageId) {
1015                    return LocalizationUtil.getLocalization(getKeywords(), languageId);
1016            }
1017    
1018            @Override
1019            public String getKeywords(String languageId, boolean useDefault) {
1020                    return LocalizationUtil.getLocalization(getKeywords(), languageId,
1021                            useDefault);
1022            }
1023    
1024            @Override
1025            public String getKeywordsCurrentLanguageId() {
1026                    return _keywordsCurrentLanguageId;
1027            }
1028    
1029            @JSON
1030            @Override
1031            public String getKeywordsCurrentValue() {
1032                    Locale locale = getLocale(_keywordsCurrentLanguageId);
1033    
1034                    return getKeywords(locale);
1035            }
1036    
1037            @Override
1038            public Map<Locale, String> getKeywordsMap() {
1039                    return LocalizationUtil.getLocalizationMap(getKeywords());
1040            }
1041    
1042            @Override
1043            public void setKeywords(String keywords) {
1044                    _keywords = keywords;
1045            }
1046    
1047            @Override
1048            public void setKeywords(String keywords, Locale locale) {
1049                    setKeywords(keywords, locale, LocaleUtil.getSiteDefault());
1050            }
1051    
1052            @Override
1053            public void setKeywords(String keywords, Locale locale, Locale defaultLocale) {
1054                    String languageId = LocaleUtil.toLanguageId(locale);
1055                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
1056    
1057                    if (Validator.isNotNull(keywords)) {
1058                            setKeywords(LocalizationUtil.updateLocalization(getKeywords(),
1059                                            "Keywords", keywords, languageId, defaultLanguageId));
1060                    }
1061                    else {
1062                            setKeywords(LocalizationUtil.removeLocalization(getKeywords(),
1063                                            "Keywords", languageId));
1064                    }
1065            }
1066    
1067            @Override
1068            public void setKeywordsCurrentLanguageId(String languageId) {
1069                    _keywordsCurrentLanguageId = languageId;
1070            }
1071    
1072            @Override
1073            public void setKeywordsMap(Map<Locale, String> keywordsMap) {
1074                    setKeywordsMap(keywordsMap, LocaleUtil.getSiteDefault());
1075            }
1076    
1077            @Override
1078            public void setKeywordsMap(Map<Locale, String> keywordsMap,
1079                    Locale defaultLocale) {
1080                    if (keywordsMap == null) {
1081                            return;
1082                    }
1083    
1084                    setKeywords(LocalizationUtil.updateLocalization(keywordsMap,
1085                                    getKeywords(), "Keywords",
1086                                    LocaleUtil.toLanguageId(defaultLocale)));
1087            }
1088    
1089            @JSON
1090            @Override
1091            public String getRobots() {
1092                    if (_robots == null) {
1093                            return StringPool.BLANK;
1094                    }
1095                    else {
1096                            return _robots;
1097                    }
1098            }
1099    
1100            @Override
1101            public String getRobots(Locale locale) {
1102                    String languageId = LocaleUtil.toLanguageId(locale);
1103    
1104                    return getRobots(languageId);
1105            }
1106    
1107            @Override
1108            public String getRobots(Locale locale, boolean useDefault) {
1109                    String languageId = LocaleUtil.toLanguageId(locale);
1110    
1111                    return getRobots(languageId, useDefault);
1112            }
1113    
1114            @Override
1115            public String getRobots(String languageId) {
1116                    return LocalizationUtil.getLocalization(getRobots(), languageId);
1117            }
1118    
1119            @Override
1120            public String getRobots(String languageId, boolean useDefault) {
1121                    return LocalizationUtil.getLocalization(getRobots(), languageId,
1122                            useDefault);
1123            }
1124    
1125            @Override
1126            public String getRobotsCurrentLanguageId() {
1127                    return _robotsCurrentLanguageId;
1128            }
1129    
1130            @JSON
1131            @Override
1132            public String getRobotsCurrentValue() {
1133                    Locale locale = getLocale(_robotsCurrentLanguageId);
1134    
1135                    return getRobots(locale);
1136            }
1137    
1138            @Override
1139            public Map<Locale, String> getRobotsMap() {
1140                    return LocalizationUtil.getLocalizationMap(getRobots());
1141            }
1142    
1143            @Override
1144            public void setRobots(String robots) {
1145                    _robots = robots;
1146            }
1147    
1148            @Override
1149            public void setRobots(String robots, Locale locale) {
1150                    setRobots(robots, locale, LocaleUtil.getSiteDefault());
1151            }
1152    
1153            @Override
1154            public void setRobots(String robots, Locale locale, Locale defaultLocale) {
1155                    String languageId = LocaleUtil.toLanguageId(locale);
1156                    String defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
1157    
1158                    if (Validator.isNotNull(robots)) {
1159                            setRobots(LocalizationUtil.updateLocalization(getRobots(),
1160                                            "Robots", robots, languageId, defaultLanguageId));
1161                    }
1162                    else {
1163                            setRobots(LocalizationUtil.removeLocalization(getRobots(),
1164                                            "Robots", languageId));
1165                    }
1166            }
1167    
1168            @Override
1169            public void setRobotsCurrentLanguageId(String languageId) {
1170                    _robotsCurrentLanguageId = languageId;
1171            }
1172    
1173            @Override
1174            public void setRobotsMap(Map<Locale, String> robotsMap) {
1175                    setRobotsMap(robotsMap, LocaleUtil.getSiteDefault());
1176            }
1177    
1178            @Override
1179            public void setRobotsMap(Map<Locale, String> robotsMap, Locale defaultLocale) {
1180                    if (robotsMap == null) {
1181                            return;
1182                    }
1183    
1184                    setRobots(LocalizationUtil.updateLocalization(robotsMap, getRobots(),
1185                                    "Robots", LocaleUtil.toLanguageId(defaultLocale)));
1186            }
1187    
1188            @JSON
1189            @Override
1190            public String getType() {
1191                    if (_type == null) {
1192                            return StringPool.BLANK;
1193                    }
1194                    else {
1195                            return _type;
1196                    }
1197            }
1198    
1199            @Override
1200            public void setType(String type) {
1201                    _columnBitmask |= TYPE_COLUMN_BITMASK;
1202    
1203                    if (_originalType == null) {
1204                            _originalType = _type;
1205                    }
1206    
1207                    _type = type;
1208            }
1209    
1210            public String getOriginalType() {
1211                    return GetterUtil.getString(_originalType);
1212            }
1213    
1214            @JSON
1215            @Override
1216            public String getTypeSettings() {
1217                    if (_typeSettings == null) {
1218                            return StringPool.BLANK;
1219                    }
1220                    else {
1221                            return _typeSettings;
1222                    }
1223            }
1224    
1225            @Override
1226            public void setTypeSettings(String typeSettings) {
1227                    _typeSettings = typeSettings;
1228            }
1229    
1230            @JSON
1231            @Override
1232            public boolean getHidden() {
1233                    return _hidden;
1234            }
1235    
1236            @Override
1237            public boolean isHidden() {
1238                    return _hidden;
1239            }
1240    
1241            @Override
1242            public void setHidden(boolean hidden) {
1243                    _hidden = hidden;
1244            }
1245    
1246            @JSON
1247            @Override
1248            public String getFriendlyURL() {
1249                    if (_friendlyURL == null) {
1250                            return StringPool.BLANK;
1251                    }
1252                    else {
1253                            return _friendlyURL;
1254                    }
1255            }
1256    
1257            @Override
1258            public void setFriendlyURL(String friendlyURL) {
1259                    _columnBitmask |= FRIENDLYURL_COLUMN_BITMASK;
1260    
1261                    if (_originalFriendlyURL == null) {
1262                            _originalFriendlyURL = _friendlyURL;
1263                    }
1264    
1265                    _friendlyURL = friendlyURL;
1266            }
1267    
1268            public String getOriginalFriendlyURL() {
1269                    return GetterUtil.getString(_originalFriendlyURL);
1270            }
1271    
1272            @JSON
1273            @Override
1274            public boolean getIconImage() {
1275                    return _iconImage;
1276            }
1277    
1278            @Override
1279            public boolean isIconImage() {
1280                    return _iconImage;
1281            }
1282    
1283            @Override
1284            public void setIconImage(boolean iconImage) {
1285                    _iconImage = iconImage;
1286            }
1287    
1288            @JSON
1289            @Override
1290            public long getIconImageId() {
1291                    return _iconImageId;
1292            }
1293    
1294            @Override
1295            public void setIconImageId(long iconImageId) {
1296                    _columnBitmask |= ICONIMAGEID_COLUMN_BITMASK;
1297    
1298                    if (!_setOriginalIconImageId) {
1299                            _setOriginalIconImageId = true;
1300    
1301                            _originalIconImageId = _iconImageId;
1302                    }
1303    
1304                    _iconImageId = iconImageId;
1305            }
1306    
1307            public long getOriginalIconImageId() {
1308                    return _originalIconImageId;
1309            }
1310    
1311            @JSON
1312            @Override
1313            public String getThemeId() {
1314                    if (_themeId == null) {
1315                            return StringPool.BLANK;
1316                    }
1317                    else {
1318                            return _themeId;
1319                    }
1320            }
1321    
1322            @Override
1323            public void setThemeId(String themeId) {
1324                    _themeId = themeId;
1325            }
1326    
1327            @JSON
1328            @Override
1329            public String getColorSchemeId() {
1330                    if (_colorSchemeId == null) {
1331                            return StringPool.BLANK;
1332                    }
1333                    else {
1334                            return _colorSchemeId;
1335                    }
1336            }
1337    
1338            @Override
1339            public void setColorSchemeId(String colorSchemeId) {
1340                    _colorSchemeId = colorSchemeId;
1341            }
1342    
1343            @JSON
1344            @Override
1345            public String getWapThemeId() {
1346                    if (_wapThemeId == null) {
1347                            return StringPool.BLANK;
1348                    }
1349                    else {
1350                            return _wapThemeId;
1351                    }
1352            }
1353    
1354            @Override
1355            public void setWapThemeId(String wapThemeId) {
1356                    _wapThemeId = wapThemeId;
1357            }
1358    
1359            @JSON
1360            @Override
1361            public String getWapColorSchemeId() {
1362                    if (_wapColorSchemeId == null) {
1363                            return StringPool.BLANK;
1364                    }
1365                    else {
1366                            return _wapColorSchemeId;
1367                    }
1368            }
1369    
1370            @Override
1371            public void setWapColorSchemeId(String wapColorSchemeId) {
1372                    _wapColorSchemeId = wapColorSchemeId;
1373            }
1374    
1375            @JSON
1376            @Override
1377            public String getCss() {
1378                    if (_css == null) {
1379                            return StringPool.BLANK;
1380                    }
1381                    else {
1382                            return _css;
1383                    }
1384            }
1385    
1386            @Override
1387            public void setCss(String css) {
1388                    _css = css;
1389            }
1390    
1391            @JSON
1392            @Override
1393            public int getPriority() {
1394                    return _priority;
1395            }
1396    
1397            @Override
1398            public void setPriority(int priority) {
1399                    _columnBitmask = -1L;
1400    
1401                    _priority = priority;
1402            }
1403    
1404            @JSON
1405            @Override
1406            public String getLayoutPrototypeUuid() {
1407                    if (_layoutPrototypeUuid == null) {
1408                            return StringPool.BLANK;
1409                    }
1410                    else {
1411                            return _layoutPrototypeUuid;
1412                    }
1413            }
1414    
1415            @Override
1416            public void setLayoutPrototypeUuid(String layoutPrototypeUuid) {
1417                    _columnBitmask |= LAYOUTPROTOTYPEUUID_COLUMN_BITMASK;
1418    
1419                    if (_originalLayoutPrototypeUuid == null) {
1420                            _originalLayoutPrototypeUuid = _layoutPrototypeUuid;
1421                    }
1422    
1423                    _layoutPrototypeUuid = layoutPrototypeUuid;
1424            }
1425    
1426            public String getOriginalLayoutPrototypeUuid() {
1427                    return GetterUtil.getString(_originalLayoutPrototypeUuid);
1428            }
1429    
1430            @JSON
1431            @Override
1432            public boolean getLayoutPrototypeLinkEnabled() {
1433                    return _layoutPrototypeLinkEnabled;
1434            }
1435    
1436            @Override
1437            public boolean isLayoutPrototypeLinkEnabled() {
1438                    return _layoutPrototypeLinkEnabled;
1439            }
1440    
1441            @Override
1442            public void setLayoutPrototypeLinkEnabled(
1443                    boolean layoutPrototypeLinkEnabled) {
1444                    _layoutPrototypeLinkEnabled = layoutPrototypeLinkEnabled;
1445            }
1446    
1447            @JSON
1448            @Override
1449            public String getSourcePrototypeLayoutUuid() {
1450                    if (_sourcePrototypeLayoutUuid == null) {
1451                            return StringPool.BLANK;
1452                    }
1453                    else {
1454                            return _sourcePrototypeLayoutUuid;
1455                    }
1456            }
1457    
1458            @Override
1459            public void setSourcePrototypeLayoutUuid(String sourcePrototypeLayoutUuid) {
1460                    _columnBitmask |= SOURCEPROTOTYPELAYOUTUUID_COLUMN_BITMASK;
1461    
1462                    if (_originalSourcePrototypeLayoutUuid == null) {
1463                            _originalSourcePrototypeLayoutUuid = _sourcePrototypeLayoutUuid;
1464                    }
1465    
1466                    _sourcePrototypeLayoutUuid = sourcePrototypeLayoutUuid;
1467            }
1468    
1469            public String getOriginalSourcePrototypeLayoutUuid() {
1470                    return GetterUtil.getString(_originalSourcePrototypeLayoutUuid);
1471            }
1472    
1473            @Override
1474            public StagedModelType getStagedModelType() {
1475                    return new StagedModelType(PortalUtil.getClassNameId(
1476                                    Layout.class.getName()));
1477            }
1478    
1479            public long getColumnBitmask() {
1480                    return _columnBitmask;
1481            }
1482    
1483            @Override
1484            public ExpandoBridge getExpandoBridge() {
1485                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
1486                            Layout.class.getName(), getPrimaryKey());
1487            }
1488    
1489            @Override
1490            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
1491                    ExpandoBridge expandoBridge = getExpandoBridge();
1492    
1493                    expandoBridge.setAttributes(serviceContext);
1494            }
1495    
1496            @Override
1497            public String[] getAvailableLanguageIds() {
1498                    Set<String> availableLanguageIds = new TreeSet<String>();
1499    
1500                    Map<Locale, String> nameMap = getNameMap();
1501    
1502                    for (Map.Entry<Locale, String> entry : nameMap.entrySet()) {
1503                            Locale locale = entry.getKey();
1504                            String value = entry.getValue();
1505    
1506                            if (Validator.isNotNull(value)) {
1507                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
1508                            }
1509                    }
1510    
1511                    Map<Locale, String> titleMap = getTitleMap();
1512    
1513                    for (Map.Entry<Locale, String> entry : titleMap.entrySet()) {
1514                            Locale locale = entry.getKey();
1515                            String value = entry.getValue();
1516    
1517                            if (Validator.isNotNull(value)) {
1518                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
1519                            }
1520                    }
1521    
1522                    Map<Locale, String> descriptionMap = getDescriptionMap();
1523    
1524                    for (Map.Entry<Locale, String> entry : descriptionMap.entrySet()) {
1525                            Locale locale = entry.getKey();
1526                            String value = entry.getValue();
1527    
1528                            if (Validator.isNotNull(value)) {
1529                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
1530                            }
1531                    }
1532    
1533                    Map<Locale, String> keywordsMap = getKeywordsMap();
1534    
1535                    for (Map.Entry<Locale, String> entry : keywordsMap.entrySet()) {
1536                            Locale locale = entry.getKey();
1537                            String value = entry.getValue();
1538    
1539                            if (Validator.isNotNull(value)) {
1540                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
1541                            }
1542                    }
1543    
1544                    Map<Locale, String> robotsMap = getRobotsMap();
1545    
1546                    for (Map.Entry<Locale, String> entry : robotsMap.entrySet()) {
1547                            Locale locale = entry.getKey();
1548                            String value = entry.getValue();
1549    
1550                            if (Validator.isNotNull(value)) {
1551                                    availableLanguageIds.add(LocaleUtil.toLanguageId(locale));
1552                            }
1553                    }
1554    
1555                    return availableLanguageIds.toArray(new String[availableLanguageIds.size()]);
1556            }
1557    
1558            @Override
1559            public String getDefaultLanguageId() {
1560                    String xml = getName();
1561    
1562                    if (xml == null) {
1563                            return StringPool.BLANK;
1564                    }
1565    
1566                    Locale defaultLocale = LocaleUtil.getSiteDefault();
1567    
1568                    return LocalizationUtil.getDefaultLanguageId(xml, defaultLocale);
1569            }
1570    
1571            @Override
1572            public void prepareLocalizedFieldsForImport() throws LocaleException {
1573                    prepareLocalizedFieldsForImport(null);
1574            }
1575    
1576            @Override
1577            @SuppressWarnings("unused")
1578            public void prepareLocalizedFieldsForImport(Locale defaultImportLocale)
1579                    throws LocaleException {
1580                    Locale defaultLocale = LocaleUtil.getSiteDefault();
1581    
1582                    String modelDefaultLanguageId = getDefaultLanguageId();
1583    
1584                    String name = getName(defaultLocale);
1585    
1586                    if (Validator.isNull(name)) {
1587                            setName(getName(modelDefaultLanguageId), defaultLocale);
1588                    }
1589                    else {
1590                            setName(getName(defaultLocale), defaultLocale, defaultLocale);
1591                    }
1592    
1593                    String title = getTitle(defaultLocale);
1594    
1595                    if (Validator.isNull(title)) {
1596                            setTitle(getTitle(modelDefaultLanguageId), defaultLocale);
1597                    }
1598                    else {
1599                            setTitle(getTitle(defaultLocale), defaultLocale, defaultLocale);
1600                    }
1601    
1602                    String description = getDescription(defaultLocale);
1603    
1604                    if (Validator.isNull(description)) {
1605                            setDescription(getDescription(modelDefaultLanguageId), defaultLocale);
1606                    }
1607                    else {
1608                            setDescription(getDescription(defaultLocale), defaultLocale,
1609                                    defaultLocale);
1610                    }
1611    
1612                    String keywords = getKeywords(defaultLocale);
1613    
1614                    if (Validator.isNull(keywords)) {
1615                            setKeywords(getKeywords(modelDefaultLanguageId), defaultLocale);
1616                    }
1617                    else {
1618                            setKeywords(getKeywords(defaultLocale), defaultLocale, defaultLocale);
1619                    }
1620    
1621                    String robots = getRobots(defaultLocale);
1622    
1623                    if (Validator.isNull(robots)) {
1624                            setRobots(getRobots(modelDefaultLanguageId), defaultLocale);
1625                    }
1626                    else {
1627                            setRobots(getRobots(defaultLocale), defaultLocale, defaultLocale);
1628                    }
1629            }
1630    
1631            @Override
1632            public Layout toEscapedModel() {
1633                    if (_escapedModel == null) {
1634                            _escapedModel = (Layout)ProxyUtil.newProxyInstance(_classLoader,
1635                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
1636                    }
1637    
1638                    return _escapedModel;
1639            }
1640    
1641            @Override
1642            public Object clone() {
1643                    LayoutImpl layoutImpl = new LayoutImpl();
1644    
1645                    layoutImpl.setUuid(getUuid());
1646                    layoutImpl.setPlid(getPlid());
1647                    layoutImpl.setGroupId(getGroupId());
1648                    layoutImpl.setCompanyId(getCompanyId());
1649                    layoutImpl.setUserId(getUserId());
1650                    layoutImpl.setUserName(getUserName());
1651                    layoutImpl.setCreateDate(getCreateDate());
1652                    layoutImpl.setModifiedDate(getModifiedDate());
1653                    layoutImpl.setPrivateLayout(getPrivateLayout());
1654                    layoutImpl.setLayoutId(getLayoutId());
1655                    layoutImpl.setParentLayoutId(getParentLayoutId());
1656                    layoutImpl.setName(getName());
1657                    layoutImpl.setTitle(getTitle());
1658                    layoutImpl.setDescription(getDescription());
1659                    layoutImpl.setKeywords(getKeywords());
1660                    layoutImpl.setRobots(getRobots());
1661                    layoutImpl.setType(getType());
1662                    layoutImpl.setTypeSettings(getTypeSettings());
1663                    layoutImpl.setHidden(getHidden());
1664                    layoutImpl.setFriendlyURL(getFriendlyURL());
1665                    layoutImpl.setIconImage(getIconImage());
1666                    layoutImpl.setIconImageId(getIconImageId());
1667                    layoutImpl.setThemeId(getThemeId());
1668                    layoutImpl.setColorSchemeId(getColorSchemeId());
1669                    layoutImpl.setWapThemeId(getWapThemeId());
1670                    layoutImpl.setWapColorSchemeId(getWapColorSchemeId());
1671                    layoutImpl.setCss(getCss());
1672                    layoutImpl.setPriority(getPriority());
1673                    layoutImpl.setLayoutPrototypeUuid(getLayoutPrototypeUuid());
1674                    layoutImpl.setLayoutPrototypeLinkEnabled(getLayoutPrototypeLinkEnabled());
1675                    layoutImpl.setSourcePrototypeLayoutUuid(getSourcePrototypeLayoutUuid());
1676    
1677                    layoutImpl.resetOriginalValues();
1678    
1679                    return layoutImpl;
1680            }
1681    
1682            @Override
1683            public int compareTo(Layout layout) {
1684                    int value = 0;
1685    
1686                    if (getParentLayoutId() < layout.getParentLayoutId()) {
1687                            value = -1;
1688                    }
1689                    else if (getParentLayoutId() > layout.getParentLayoutId()) {
1690                            value = 1;
1691                    }
1692                    else {
1693                            value = 0;
1694                    }
1695    
1696                    if (value != 0) {
1697                            return value;
1698                    }
1699    
1700                    if (getPriority() < layout.getPriority()) {
1701                            value = -1;
1702                    }
1703                    else if (getPriority() > layout.getPriority()) {
1704                            value = 1;
1705                    }
1706                    else {
1707                            value = 0;
1708                    }
1709    
1710                    if (value != 0) {
1711                            return value;
1712                    }
1713    
1714                    return 0;
1715            }
1716    
1717            @Override
1718            public boolean equals(Object obj) {
1719                    if (this == obj) {
1720                            return true;
1721                    }
1722    
1723                    if (!(obj instanceof Layout)) {
1724                            return false;
1725                    }
1726    
1727                    Layout layout = (Layout)obj;
1728    
1729                    long primaryKey = layout.getPrimaryKey();
1730    
1731                    if (getPrimaryKey() == primaryKey) {
1732                            return true;
1733                    }
1734                    else {
1735                            return false;
1736                    }
1737            }
1738    
1739            @Override
1740            public int hashCode() {
1741                    return (int)getPrimaryKey();
1742            }
1743    
1744            @Override
1745            public void resetOriginalValues() {
1746                    LayoutModelImpl layoutModelImpl = this;
1747    
1748                    layoutModelImpl._originalUuid = layoutModelImpl._uuid;
1749    
1750                    layoutModelImpl._originalGroupId = layoutModelImpl._groupId;
1751    
1752                    layoutModelImpl._setOriginalGroupId = false;
1753    
1754                    layoutModelImpl._originalCompanyId = layoutModelImpl._companyId;
1755    
1756                    layoutModelImpl._setOriginalCompanyId = false;
1757    
1758                    layoutModelImpl._originalPrivateLayout = layoutModelImpl._privateLayout;
1759    
1760                    layoutModelImpl._setOriginalPrivateLayout = false;
1761    
1762                    layoutModelImpl._originalLayoutId = layoutModelImpl._layoutId;
1763    
1764                    layoutModelImpl._setOriginalLayoutId = false;
1765    
1766                    layoutModelImpl._originalParentLayoutId = layoutModelImpl._parentLayoutId;
1767    
1768                    layoutModelImpl._setOriginalParentLayoutId = false;
1769    
1770                    layoutModelImpl._originalType = layoutModelImpl._type;
1771    
1772                    layoutModelImpl._originalFriendlyURL = layoutModelImpl._friendlyURL;
1773    
1774                    layoutModelImpl._originalIconImageId = layoutModelImpl._iconImageId;
1775    
1776                    layoutModelImpl._setOriginalIconImageId = false;
1777    
1778                    layoutModelImpl._originalLayoutPrototypeUuid = layoutModelImpl._layoutPrototypeUuid;
1779    
1780                    layoutModelImpl._originalSourcePrototypeLayoutUuid = layoutModelImpl._sourcePrototypeLayoutUuid;
1781    
1782                    layoutModelImpl._columnBitmask = 0;
1783            }
1784    
1785            @Override
1786            public CacheModel<Layout> toCacheModel() {
1787                    LayoutCacheModel layoutCacheModel = new LayoutCacheModel();
1788    
1789                    layoutCacheModel.uuid = getUuid();
1790    
1791                    String uuid = layoutCacheModel.uuid;
1792    
1793                    if ((uuid != null) && (uuid.length() == 0)) {
1794                            layoutCacheModel.uuid = null;
1795                    }
1796    
1797                    layoutCacheModel.plid = getPlid();
1798    
1799                    layoutCacheModel.groupId = getGroupId();
1800    
1801                    layoutCacheModel.companyId = getCompanyId();
1802    
1803                    layoutCacheModel.userId = getUserId();
1804    
1805                    layoutCacheModel.userName = getUserName();
1806    
1807                    String userName = layoutCacheModel.userName;
1808    
1809                    if ((userName != null) && (userName.length() == 0)) {
1810                            layoutCacheModel.userName = null;
1811                    }
1812    
1813                    Date createDate = getCreateDate();
1814    
1815                    if (createDate != null) {
1816                            layoutCacheModel.createDate = createDate.getTime();
1817                    }
1818                    else {
1819                            layoutCacheModel.createDate = Long.MIN_VALUE;
1820                    }
1821    
1822                    Date modifiedDate = getModifiedDate();
1823    
1824                    if (modifiedDate != null) {
1825                            layoutCacheModel.modifiedDate = modifiedDate.getTime();
1826                    }
1827                    else {
1828                            layoutCacheModel.modifiedDate = Long.MIN_VALUE;
1829                    }
1830    
1831                    layoutCacheModel.privateLayout = getPrivateLayout();
1832    
1833                    layoutCacheModel.layoutId = getLayoutId();
1834    
1835                    layoutCacheModel.parentLayoutId = getParentLayoutId();
1836    
1837                    layoutCacheModel.name = getName();
1838    
1839                    String name = layoutCacheModel.name;
1840    
1841                    if ((name != null) && (name.length() == 0)) {
1842                            layoutCacheModel.name = null;
1843                    }
1844    
1845                    layoutCacheModel.title = getTitle();
1846    
1847                    String title = layoutCacheModel.title;
1848    
1849                    if ((title != null) && (title.length() == 0)) {
1850                            layoutCacheModel.title = null;
1851                    }
1852    
1853                    layoutCacheModel.description = getDescription();
1854    
1855                    String description = layoutCacheModel.description;
1856    
1857                    if ((description != null) && (description.length() == 0)) {
1858                            layoutCacheModel.description = null;
1859                    }
1860    
1861                    layoutCacheModel.keywords = getKeywords();
1862    
1863                    String keywords = layoutCacheModel.keywords;
1864    
1865                    if ((keywords != null) && (keywords.length() == 0)) {
1866                            layoutCacheModel.keywords = null;
1867                    }
1868    
1869                    layoutCacheModel.robots = getRobots();
1870    
1871                    String robots = layoutCacheModel.robots;
1872    
1873                    if ((robots != null) && (robots.length() == 0)) {
1874                            layoutCacheModel.robots = null;
1875                    }
1876    
1877                    layoutCacheModel.type = getType();
1878    
1879                    String type = layoutCacheModel.type;
1880    
1881                    if ((type != null) && (type.length() == 0)) {
1882                            layoutCacheModel.type = null;
1883                    }
1884    
1885                    layoutCacheModel.typeSettings = getTypeSettings();
1886    
1887                    String typeSettings = layoutCacheModel.typeSettings;
1888    
1889                    if ((typeSettings != null) && (typeSettings.length() == 0)) {
1890                            layoutCacheModel.typeSettings = null;
1891                    }
1892    
1893                    layoutCacheModel.hidden = getHidden();
1894    
1895                    layoutCacheModel.friendlyURL = getFriendlyURL();
1896    
1897                    String friendlyURL = layoutCacheModel.friendlyURL;
1898    
1899                    if ((friendlyURL != null) && (friendlyURL.length() == 0)) {
1900                            layoutCacheModel.friendlyURL = null;
1901                    }
1902    
1903                    layoutCacheModel.iconImage = getIconImage();
1904    
1905                    layoutCacheModel.iconImageId = getIconImageId();
1906    
1907                    layoutCacheModel.themeId = getThemeId();
1908    
1909                    String themeId = layoutCacheModel.themeId;
1910    
1911                    if ((themeId != null) && (themeId.length() == 0)) {
1912                            layoutCacheModel.themeId = null;
1913                    }
1914    
1915                    layoutCacheModel.colorSchemeId = getColorSchemeId();
1916    
1917                    String colorSchemeId = layoutCacheModel.colorSchemeId;
1918    
1919                    if ((colorSchemeId != null) && (colorSchemeId.length() == 0)) {
1920                            layoutCacheModel.colorSchemeId = null;
1921                    }
1922    
1923                    layoutCacheModel.wapThemeId = getWapThemeId();
1924    
1925                    String wapThemeId = layoutCacheModel.wapThemeId;
1926    
1927                    if ((wapThemeId != null) && (wapThemeId.length() == 0)) {
1928                            layoutCacheModel.wapThemeId = null;
1929                    }
1930    
1931                    layoutCacheModel.wapColorSchemeId = getWapColorSchemeId();
1932    
1933                    String wapColorSchemeId = layoutCacheModel.wapColorSchemeId;
1934    
1935                    if ((wapColorSchemeId != null) && (wapColorSchemeId.length() == 0)) {
1936                            layoutCacheModel.wapColorSchemeId = null;
1937                    }
1938    
1939                    layoutCacheModel.css = getCss();
1940    
1941                    String css = layoutCacheModel.css;
1942    
1943                    if ((css != null) && (css.length() == 0)) {
1944                            layoutCacheModel.css = null;
1945                    }
1946    
1947                    layoutCacheModel.priority = getPriority();
1948    
1949                    layoutCacheModel.layoutPrototypeUuid = getLayoutPrototypeUuid();
1950    
1951                    String layoutPrototypeUuid = layoutCacheModel.layoutPrototypeUuid;
1952    
1953                    if ((layoutPrototypeUuid != null) &&
1954                                    (layoutPrototypeUuid.length() == 0)) {
1955                            layoutCacheModel.layoutPrototypeUuid = null;
1956                    }
1957    
1958                    layoutCacheModel.layoutPrototypeLinkEnabled = getLayoutPrototypeLinkEnabled();
1959    
1960                    layoutCacheModel.sourcePrototypeLayoutUuid = getSourcePrototypeLayoutUuid();
1961    
1962                    String sourcePrototypeLayoutUuid = layoutCacheModel.sourcePrototypeLayoutUuid;
1963    
1964                    if ((sourcePrototypeLayoutUuid != null) &&
1965                                    (sourcePrototypeLayoutUuid.length() == 0)) {
1966                            layoutCacheModel.sourcePrototypeLayoutUuid = null;
1967                    }
1968    
1969                    return layoutCacheModel;
1970            }
1971    
1972            @Override
1973            public String toString() {
1974                    StringBundler sb = new StringBundler(63);
1975    
1976                    sb.append("{uuid=");
1977                    sb.append(getUuid());
1978                    sb.append(", plid=");
1979                    sb.append(getPlid());
1980                    sb.append(", groupId=");
1981                    sb.append(getGroupId());
1982                    sb.append(", companyId=");
1983                    sb.append(getCompanyId());
1984                    sb.append(", userId=");
1985                    sb.append(getUserId());
1986                    sb.append(", userName=");
1987                    sb.append(getUserName());
1988                    sb.append(", createDate=");
1989                    sb.append(getCreateDate());
1990                    sb.append(", modifiedDate=");
1991                    sb.append(getModifiedDate());
1992                    sb.append(", privateLayout=");
1993                    sb.append(getPrivateLayout());
1994                    sb.append(", layoutId=");
1995                    sb.append(getLayoutId());
1996                    sb.append(", parentLayoutId=");
1997                    sb.append(getParentLayoutId());
1998                    sb.append(", name=");
1999                    sb.append(getName());
2000                    sb.append(", title=");
2001                    sb.append(getTitle());
2002                    sb.append(", description=");
2003                    sb.append(getDescription());
2004                    sb.append(", keywords=");
2005                    sb.append(getKeywords());
2006                    sb.append(", robots=");
2007                    sb.append(getRobots());
2008                    sb.append(", type=");
2009                    sb.append(getType());
2010                    sb.append(", typeSettings=");
2011                    sb.append(getTypeSettings());
2012                    sb.append(", hidden=");
2013                    sb.append(getHidden());
2014                    sb.append(", friendlyURL=");
2015                    sb.append(getFriendlyURL());
2016                    sb.append(", iconImage=");
2017                    sb.append(getIconImage());
2018                    sb.append(", iconImageId=");
2019                    sb.append(getIconImageId());
2020                    sb.append(", themeId=");
2021                    sb.append(getThemeId());
2022                    sb.append(", colorSchemeId=");
2023                    sb.append(getColorSchemeId());
2024                    sb.append(", wapThemeId=");
2025                    sb.append(getWapThemeId());
2026                    sb.append(", wapColorSchemeId=");
2027                    sb.append(getWapColorSchemeId());
2028                    sb.append(", css=");
2029                    sb.append(getCss());
2030                    sb.append(", priority=");
2031                    sb.append(getPriority());
2032                    sb.append(", layoutPrototypeUuid=");
2033                    sb.append(getLayoutPrototypeUuid());
2034                    sb.append(", layoutPrototypeLinkEnabled=");
2035                    sb.append(getLayoutPrototypeLinkEnabled());
2036                    sb.append(", sourcePrototypeLayoutUuid=");
2037                    sb.append(getSourcePrototypeLayoutUuid());
2038                    sb.append("}");
2039    
2040                    return sb.toString();
2041            }
2042    
2043            @Override
2044            public String toXmlString() {
2045                    StringBundler sb = new StringBundler(97);
2046    
2047                    sb.append("<model><model-name>");
2048                    sb.append("com.liferay.portal.model.Layout");
2049                    sb.append("</model-name>");
2050    
2051                    sb.append(
2052                            "<column><column-name>uuid</column-name><column-value><![CDATA[");
2053                    sb.append(getUuid());
2054                    sb.append("]]></column-value></column>");
2055                    sb.append(
2056                            "<column><column-name>plid</column-name><column-value><![CDATA[");
2057                    sb.append(getPlid());
2058                    sb.append("]]></column-value></column>");
2059                    sb.append(
2060                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
2061                    sb.append(getGroupId());
2062                    sb.append("]]></column-value></column>");
2063                    sb.append(
2064                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
2065                    sb.append(getCompanyId());
2066                    sb.append("]]></column-value></column>");
2067                    sb.append(
2068                            "<column><column-name>userId</column-name><column-value><![CDATA[");
2069                    sb.append(getUserId());
2070                    sb.append("]]></column-value></column>");
2071                    sb.append(
2072                            "<column><column-name>userName</column-name><column-value><![CDATA[");
2073                    sb.append(getUserName());
2074                    sb.append("]]></column-value></column>");
2075                    sb.append(
2076                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
2077                    sb.append(getCreateDate());
2078                    sb.append("]]></column-value></column>");
2079                    sb.append(
2080                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
2081                    sb.append(getModifiedDate());
2082                    sb.append("]]></column-value></column>");
2083                    sb.append(
2084                            "<column><column-name>privateLayout</column-name><column-value><![CDATA[");
2085                    sb.append(getPrivateLayout());
2086                    sb.append("]]></column-value></column>");
2087                    sb.append(
2088                            "<column><column-name>layoutId</column-name><column-value><![CDATA[");
2089                    sb.append(getLayoutId());
2090                    sb.append("]]></column-value></column>");
2091                    sb.append(
2092                            "<column><column-name>parentLayoutId</column-name><column-value><![CDATA[");
2093                    sb.append(getParentLayoutId());
2094                    sb.append("]]></column-value></column>");
2095                    sb.append(
2096                            "<column><column-name>name</column-name><column-value><![CDATA[");
2097                    sb.append(getName());
2098                    sb.append("]]></column-value></column>");
2099                    sb.append(
2100                            "<column><column-name>title</column-name><column-value><![CDATA[");
2101                    sb.append(getTitle());
2102                    sb.append("]]></column-value></column>");
2103                    sb.append(
2104                            "<column><column-name>description</column-name><column-value><![CDATA[");
2105                    sb.append(getDescription());
2106                    sb.append("]]></column-value></column>");
2107                    sb.append(
2108                            "<column><column-name>keywords</column-name><column-value><![CDATA[");
2109                    sb.append(getKeywords());
2110                    sb.append("]]></column-value></column>");
2111                    sb.append(
2112                            "<column><column-name>robots</column-name><column-value><![CDATA[");
2113                    sb.append(getRobots());
2114                    sb.append("]]></column-value></column>");
2115                    sb.append(
2116                            "<column><column-name>type</column-name><column-value><![CDATA[");
2117                    sb.append(getType());
2118                    sb.append("]]></column-value></column>");
2119                    sb.append(
2120                            "<column><column-name>typeSettings</column-name><column-value><![CDATA[");
2121                    sb.append(getTypeSettings());
2122                    sb.append("]]></column-value></column>");
2123                    sb.append(
2124                            "<column><column-name>hidden</column-name><column-value><![CDATA[");
2125                    sb.append(getHidden());
2126                    sb.append("]]></column-value></column>");
2127                    sb.append(
2128                            "<column><column-name>friendlyURL</column-name><column-value><![CDATA[");
2129                    sb.append(getFriendlyURL());
2130                    sb.append("]]></column-value></column>");
2131                    sb.append(
2132                            "<column><column-name>iconImage</column-name><column-value><![CDATA[");
2133                    sb.append(getIconImage());
2134                    sb.append("]]></column-value></column>");
2135                    sb.append(
2136                            "<column><column-name>iconImageId</column-name><column-value><![CDATA[");
2137                    sb.append(getIconImageId());
2138                    sb.append("]]></column-value></column>");
2139                    sb.append(
2140                            "<column><column-name>themeId</column-name><column-value><![CDATA[");
2141                    sb.append(getThemeId());
2142                    sb.append("]]></column-value></column>");
2143                    sb.append(
2144                            "<column><column-name>colorSchemeId</column-name><column-value><![CDATA[");
2145                    sb.append(getColorSchemeId());
2146                    sb.append("]]></column-value></column>");
2147                    sb.append(
2148                            "<column><column-name>wapThemeId</column-name><column-value><![CDATA[");
2149                    sb.append(getWapThemeId());
2150                    sb.append("]]></column-value></column>");
2151                    sb.append(
2152                            "<column><column-name>wapColorSchemeId</column-name><column-value><![CDATA[");
2153                    sb.append(getWapColorSchemeId());
2154                    sb.append("]]></column-value></column>");
2155                    sb.append(
2156                            "<column><column-name>css</column-name><column-value><![CDATA[");
2157                    sb.append(getCss());
2158                    sb.append("]]></column-value></column>");
2159                    sb.append(
2160                            "<column><column-name>priority</column-name><column-value><![CDATA[");
2161                    sb.append(getPriority());
2162                    sb.append("]]></column-value></column>");
2163                    sb.append(
2164                            "<column><column-name>layoutPrototypeUuid</column-name><column-value><![CDATA[");
2165                    sb.append(getLayoutPrototypeUuid());
2166                    sb.append("]]></column-value></column>");
2167                    sb.append(
2168                            "<column><column-name>layoutPrototypeLinkEnabled</column-name><column-value><![CDATA[");
2169                    sb.append(getLayoutPrototypeLinkEnabled());
2170                    sb.append("]]></column-value></column>");
2171                    sb.append(
2172                            "<column><column-name>sourcePrototypeLayoutUuid</column-name><column-value><![CDATA[");
2173                    sb.append(getSourcePrototypeLayoutUuid());
2174                    sb.append("]]></column-value></column>");
2175    
2176                    sb.append("</model>");
2177    
2178                    return sb.toString();
2179            }
2180    
2181            private static ClassLoader _classLoader = Layout.class.getClassLoader();
2182            private static Class<?>[] _escapedModelInterfaces = new Class[] { Layout.class };
2183            private String _uuid;
2184            private String _originalUuid;
2185            private long _plid;
2186            private long _groupId;
2187            private long _originalGroupId;
2188            private boolean _setOriginalGroupId;
2189            private long _companyId;
2190            private long _originalCompanyId;
2191            private boolean _setOriginalCompanyId;
2192            private long _userId;
2193            private String _userUuid;
2194            private String _userName;
2195            private Date _createDate;
2196            private Date _modifiedDate;
2197            private boolean _privateLayout;
2198            private boolean _originalPrivateLayout;
2199            private boolean _setOriginalPrivateLayout;
2200            private long _layoutId;
2201            private long _originalLayoutId;
2202            private boolean _setOriginalLayoutId;
2203            private long _parentLayoutId;
2204            private long _originalParentLayoutId;
2205            private boolean _setOriginalParentLayoutId;
2206            private String _name;
2207            private String _nameCurrentLanguageId;
2208            private String _title;
2209            private String _titleCurrentLanguageId;
2210            private String _description;
2211            private String _descriptionCurrentLanguageId;
2212            private String _keywords;
2213            private String _keywordsCurrentLanguageId;
2214            private String _robots;
2215            private String _robotsCurrentLanguageId;
2216            private String _type;
2217            private String _originalType;
2218            private String _typeSettings;
2219            private boolean _hidden;
2220            private String _friendlyURL;
2221            private String _originalFriendlyURL;
2222            private boolean _iconImage;
2223            private long _iconImageId;
2224            private long _originalIconImageId;
2225            private boolean _setOriginalIconImageId;
2226            private String _themeId;
2227            private String _colorSchemeId;
2228            private String _wapThemeId;
2229            private String _wapColorSchemeId;
2230            private String _css;
2231            private int _priority;
2232            private String _layoutPrototypeUuid;
2233            private String _originalLayoutPrototypeUuid;
2234            private boolean _layoutPrototypeLinkEnabled;
2235            private String _sourcePrototypeLayoutUuid;
2236            private String _originalSourcePrototypeLayoutUuid;
2237            private long _columnBitmask;
2238            private Layout _escapedModel;
2239    }