001    /**
002     * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
003     *
004     * This library is free software; you can redistribute it and/or modify it under
005     * the terms of the GNU Lesser General Public License as published by the Free
006     * Software Foundation; either version 2.1 of the License, or (at your option)
007     * any later version.
008     *
009     * This library is distributed in the hope that it will be useful, but WITHOUT
010     * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
011     * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
012     * details.
013     */
014    
015    package com.liferay.portal.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.json.JSON;
021    import com.liferay.portal.kernel.util.GetterUtil;
022    import com.liferay.portal.kernel.util.ProxyUtil;
023    import com.liferay.portal.kernel.util.StringBundler;
024    import com.liferay.portal.kernel.util.StringPool;
025    import com.liferay.portal.model.CacheModel;
026    import com.liferay.portal.model.PortletPreferences;
027    import com.liferay.portal.model.PortletPreferencesModel;
028    import com.liferay.portal.model.PortletPreferencesSoap;
029    import com.liferay.portal.service.ServiceContext;
030    
031    import com.liferay.portlet.expando.model.ExpandoBridge;
032    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
033    
034    import java.io.Serializable;
035    
036    import java.sql.Types;
037    
038    import java.util.ArrayList;
039    import java.util.HashMap;
040    import java.util.List;
041    import java.util.Map;
042    
043    /**
044     * The base model implementation for the PortletPreferences service. Represents a row in the "PortletPreferences" database table, with each column mapped to a property of this class.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link PortletPreferencesModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link PortletPreferencesImpl}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see PortletPreferencesImpl
052     * @see PortletPreferences
053     * @see PortletPreferencesModel
054     * @generated
055     */
056    @JSON(strict = true)
057    @ProviderType
058    public class PortletPreferencesModelImpl extends BaseModelImpl<PortletPreferences>
059            implements PortletPreferencesModel {
060            /*
061             * NOTE FOR DEVELOPERS:
062             *
063             * Never modify or reference this class directly. All methods that expect a portlet preferences model instance should use the {@link PortletPreferences} interface instead.
064             */
065            public static final String TABLE_NAME = "PortletPreferences";
066            public static final Object[][] TABLE_COLUMNS = {
067                            { "mvccVersion", Types.BIGINT },
068                            { "portletPreferencesId", Types.BIGINT },
069                            { "companyId", Types.BIGINT },
070                            { "ownerId", Types.BIGINT },
071                            { "ownerType", Types.INTEGER },
072                            { "plid", Types.BIGINT },
073                            { "portletId", Types.VARCHAR },
074                            { "preferences", Types.CLOB }
075                    };
076            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
077    
078            static {
079                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
080                    TABLE_COLUMNS_MAP.put("portletPreferencesId", Types.BIGINT);
081                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
082                    TABLE_COLUMNS_MAP.put("ownerId", Types.BIGINT);
083                    TABLE_COLUMNS_MAP.put("ownerType", Types.INTEGER);
084                    TABLE_COLUMNS_MAP.put("plid", Types.BIGINT);
085                    TABLE_COLUMNS_MAP.put("portletId", Types.VARCHAR);
086                    TABLE_COLUMNS_MAP.put("preferences", Types.CLOB);
087            }
088    
089            public static final String TABLE_SQL_CREATE = "create table PortletPreferences (mvccVersion LONG default 0,portletPreferencesId LONG not null primary key,companyId LONG,ownerId LONG,ownerType INTEGER,plid LONG,portletId VARCHAR(200) null,preferences TEXT null)";
090            public static final String TABLE_SQL_DROP = "drop table PortletPreferences";
091            public static final String ORDER_BY_JPQL = " ORDER BY portletPreferences.portletPreferencesId ASC";
092            public static final String ORDER_BY_SQL = " ORDER BY PortletPreferences.portletPreferencesId ASC";
093            public static final String DATA_SOURCE = "liferayDataSource";
094            public static final String SESSION_FACTORY = "liferaySessionFactory";
095            public static final String TX_MANAGER = "liferayTransactionManager";
096            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
097                                    "value.object.entity.cache.enabled.com.liferay.portal.model.PortletPreferences"),
098                            true);
099            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
100                                    "value.object.finder.cache.enabled.com.liferay.portal.model.PortletPreferences"),
101                            true);
102            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
103                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.PortletPreferences"),
104                            true);
105            public static final long OWNERID_COLUMN_BITMASK = 1L;
106            public static final long OWNERTYPE_COLUMN_BITMASK = 2L;
107            public static final long PLID_COLUMN_BITMASK = 4L;
108            public static final long PORTLETID_COLUMN_BITMASK = 8L;
109            public static final long PORTLETPREFERENCESID_COLUMN_BITMASK = 16L;
110    
111            /**
112             * Converts the soap model instance into a normal model instance.
113             *
114             * @param soapModel the soap model instance to convert
115             * @return the normal model instance
116             */
117            public static PortletPreferences toModel(PortletPreferencesSoap soapModel) {
118                    if (soapModel == null) {
119                            return null;
120                    }
121    
122                    PortletPreferences model = new PortletPreferencesImpl();
123    
124                    model.setMvccVersion(soapModel.getMvccVersion());
125                    model.setPortletPreferencesId(soapModel.getPortletPreferencesId());
126                    model.setCompanyId(soapModel.getCompanyId());
127                    model.setOwnerId(soapModel.getOwnerId());
128                    model.setOwnerType(soapModel.getOwnerType());
129                    model.setPlid(soapModel.getPlid());
130                    model.setPortletId(soapModel.getPortletId());
131                    model.setPreferences(soapModel.getPreferences());
132    
133                    return model;
134            }
135    
136            /**
137             * Converts the soap model instances into normal model instances.
138             *
139             * @param soapModels the soap model instances to convert
140             * @return the normal model instances
141             */
142            public static List<PortletPreferences> toModels(
143                    PortletPreferencesSoap[] soapModels) {
144                    if (soapModels == null) {
145                            return null;
146                    }
147    
148                    List<PortletPreferences> models = new ArrayList<PortletPreferences>(soapModels.length);
149    
150                    for (PortletPreferencesSoap soapModel : soapModels) {
151                            models.add(toModel(soapModel));
152                    }
153    
154                    return models;
155            }
156    
157            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
158                                    "lock.expiration.time.com.liferay.portal.model.PortletPreferences"));
159    
160            public PortletPreferencesModelImpl() {
161            }
162    
163            @Override
164            public long getPrimaryKey() {
165                    return _portletPreferencesId;
166            }
167    
168            @Override
169            public void setPrimaryKey(long primaryKey) {
170                    setPortletPreferencesId(primaryKey);
171            }
172    
173            @Override
174            public Serializable getPrimaryKeyObj() {
175                    return _portletPreferencesId;
176            }
177    
178            @Override
179            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
180                    setPrimaryKey(((Long)primaryKeyObj).longValue());
181            }
182    
183            @Override
184            public Class<?> getModelClass() {
185                    return PortletPreferences.class;
186            }
187    
188            @Override
189            public String getModelClassName() {
190                    return PortletPreferences.class.getName();
191            }
192    
193            @Override
194            public Map<String, Object> getModelAttributes() {
195                    Map<String, Object> attributes = new HashMap<String, Object>();
196    
197                    attributes.put("mvccVersion", getMvccVersion());
198                    attributes.put("portletPreferencesId", getPortletPreferencesId());
199                    attributes.put("companyId", getCompanyId());
200                    attributes.put("ownerId", getOwnerId());
201                    attributes.put("ownerType", getOwnerType());
202                    attributes.put("plid", getPlid());
203                    attributes.put("portletId", getPortletId());
204                    attributes.put("preferences", getPreferences());
205    
206                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
207                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
208    
209                    return attributes;
210            }
211    
212            @Override
213            public void setModelAttributes(Map<String, Object> attributes) {
214                    Long mvccVersion = (Long)attributes.get("mvccVersion");
215    
216                    if (mvccVersion != null) {
217                            setMvccVersion(mvccVersion);
218                    }
219    
220                    Long portletPreferencesId = (Long)attributes.get("portletPreferencesId");
221    
222                    if (portletPreferencesId != null) {
223                            setPortletPreferencesId(portletPreferencesId);
224                    }
225    
226                    Long companyId = (Long)attributes.get("companyId");
227    
228                    if (companyId != null) {
229                            setCompanyId(companyId);
230                    }
231    
232                    Long ownerId = (Long)attributes.get("ownerId");
233    
234                    if (ownerId != null) {
235                            setOwnerId(ownerId);
236                    }
237    
238                    Integer ownerType = (Integer)attributes.get("ownerType");
239    
240                    if (ownerType != null) {
241                            setOwnerType(ownerType);
242                    }
243    
244                    Long plid = (Long)attributes.get("plid");
245    
246                    if (plid != null) {
247                            setPlid(plid);
248                    }
249    
250                    String portletId = (String)attributes.get("portletId");
251    
252                    if (portletId != null) {
253                            setPortletId(portletId);
254                    }
255    
256                    String preferences = (String)attributes.get("preferences");
257    
258                    if (preferences != null) {
259                            setPreferences(preferences);
260                    }
261            }
262    
263            @JSON
264            @Override
265            public long getMvccVersion() {
266                    return _mvccVersion;
267            }
268    
269            @Override
270            public void setMvccVersion(long mvccVersion) {
271                    _mvccVersion = mvccVersion;
272            }
273    
274            @JSON
275            @Override
276            public long getPortletPreferencesId() {
277                    return _portletPreferencesId;
278            }
279    
280            @Override
281            public void setPortletPreferencesId(long portletPreferencesId) {
282                    _portletPreferencesId = portletPreferencesId;
283            }
284    
285            @JSON
286            @Override
287            public long getCompanyId() {
288                    return _companyId;
289            }
290    
291            @Override
292            public void setCompanyId(long companyId) {
293                    _companyId = companyId;
294            }
295    
296            @JSON
297            @Override
298            public long getOwnerId() {
299                    return _ownerId;
300            }
301    
302            @Override
303            public void setOwnerId(long ownerId) {
304                    _columnBitmask |= OWNERID_COLUMN_BITMASK;
305    
306                    if (!_setOriginalOwnerId) {
307                            _setOriginalOwnerId = true;
308    
309                            _originalOwnerId = _ownerId;
310                    }
311    
312                    _ownerId = ownerId;
313            }
314    
315            public long getOriginalOwnerId() {
316                    return _originalOwnerId;
317            }
318    
319            @JSON
320            @Override
321            public int getOwnerType() {
322                    return _ownerType;
323            }
324    
325            @Override
326            public void setOwnerType(int ownerType) {
327                    _columnBitmask |= OWNERTYPE_COLUMN_BITMASK;
328    
329                    if (!_setOriginalOwnerType) {
330                            _setOriginalOwnerType = true;
331    
332                            _originalOwnerType = _ownerType;
333                    }
334    
335                    _ownerType = ownerType;
336            }
337    
338            public int getOriginalOwnerType() {
339                    return _originalOwnerType;
340            }
341    
342            @JSON
343            @Override
344            public long getPlid() {
345                    return _plid;
346            }
347    
348            @Override
349            public void setPlid(long plid) {
350                    _columnBitmask |= PLID_COLUMN_BITMASK;
351    
352                    if (!_setOriginalPlid) {
353                            _setOriginalPlid = true;
354    
355                            _originalPlid = _plid;
356                    }
357    
358                    _plid = plid;
359            }
360    
361            public long getOriginalPlid() {
362                    return _originalPlid;
363            }
364    
365            @JSON
366            @Override
367            public String getPortletId() {
368                    if (_portletId == null) {
369                            return StringPool.BLANK;
370                    }
371                    else {
372                            return _portletId;
373                    }
374            }
375    
376            @Override
377            public void setPortletId(String portletId) {
378                    _columnBitmask |= PORTLETID_COLUMN_BITMASK;
379    
380                    if (_originalPortletId == null) {
381                            _originalPortletId = _portletId;
382                    }
383    
384                    _portletId = portletId;
385            }
386    
387            public String getOriginalPortletId() {
388                    return GetterUtil.getString(_originalPortletId);
389            }
390    
391            @JSON
392            @Override
393            public String getPreferences() {
394                    if (_preferences == null) {
395                            return StringPool.BLANK;
396                    }
397                    else {
398                            return _preferences;
399                    }
400            }
401    
402            @Override
403            public void setPreferences(String preferences) {
404                    _preferences = preferences;
405            }
406    
407            public long getColumnBitmask() {
408                    return _columnBitmask;
409            }
410    
411            @Override
412            public ExpandoBridge getExpandoBridge() {
413                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
414                            PortletPreferences.class.getName(), getPrimaryKey());
415            }
416    
417            @Override
418            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
419                    ExpandoBridge expandoBridge = getExpandoBridge();
420    
421                    expandoBridge.setAttributes(serviceContext);
422            }
423    
424            @Override
425            public PortletPreferences toEscapedModel() {
426                    if (_escapedModel == null) {
427                            _escapedModel = (PortletPreferences)ProxyUtil.newProxyInstance(_classLoader,
428                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
429                    }
430    
431                    return _escapedModel;
432            }
433    
434            @Override
435            public Object clone() {
436                    PortletPreferencesImpl portletPreferencesImpl = new PortletPreferencesImpl();
437    
438                    portletPreferencesImpl.setMvccVersion(getMvccVersion());
439                    portletPreferencesImpl.setPortletPreferencesId(getPortletPreferencesId());
440                    portletPreferencesImpl.setCompanyId(getCompanyId());
441                    portletPreferencesImpl.setOwnerId(getOwnerId());
442                    portletPreferencesImpl.setOwnerType(getOwnerType());
443                    portletPreferencesImpl.setPlid(getPlid());
444                    portletPreferencesImpl.setPortletId(getPortletId());
445                    portletPreferencesImpl.setPreferences(getPreferences());
446    
447                    portletPreferencesImpl.resetOriginalValues();
448    
449                    return portletPreferencesImpl;
450            }
451    
452            @Override
453            public int compareTo(PortletPreferences portletPreferences) {
454                    long primaryKey = portletPreferences.getPrimaryKey();
455    
456                    if (getPrimaryKey() < primaryKey) {
457                            return -1;
458                    }
459                    else if (getPrimaryKey() > primaryKey) {
460                            return 1;
461                    }
462                    else {
463                            return 0;
464                    }
465            }
466    
467            @Override
468            public boolean equals(Object obj) {
469                    if (this == obj) {
470                            return true;
471                    }
472    
473                    if (!(obj instanceof PortletPreferences)) {
474                            return false;
475                    }
476    
477                    PortletPreferences portletPreferences = (PortletPreferences)obj;
478    
479                    long primaryKey = portletPreferences.getPrimaryKey();
480    
481                    if (getPrimaryKey() == primaryKey) {
482                            return true;
483                    }
484                    else {
485                            return false;
486                    }
487            }
488    
489            @Override
490            public int hashCode() {
491                    return (int)getPrimaryKey();
492            }
493    
494            @Override
495            public boolean isEntityCacheEnabled() {
496                    return ENTITY_CACHE_ENABLED;
497            }
498    
499            @Override
500            public boolean isFinderCacheEnabled() {
501                    return FINDER_CACHE_ENABLED;
502            }
503    
504            @Override
505            public void resetOriginalValues() {
506                    PortletPreferencesModelImpl portletPreferencesModelImpl = this;
507    
508                    portletPreferencesModelImpl._originalOwnerId = portletPreferencesModelImpl._ownerId;
509    
510                    portletPreferencesModelImpl._setOriginalOwnerId = false;
511    
512                    portletPreferencesModelImpl._originalOwnerType = portletPreferencesModelImpl._ownerType;
513    
514                    portletPreferencesModelImpl._setOriginalOwnerType = false;
515    
516                    portletPreferencesModelImpl._originalPlid = portletPreferencesModelImpl._plid;
517    
518                    portletPreferencesModelImpl._setOriginalPlid = false;
519    
520                    portletPreferencesModelImpl._originalPortletId = portletPreferencesModelImpl._portletId;
521    
522                    portletPreferencesModelImpl._columnBitmask = 0;
523            }
524    
525            @Override
526            public CacheModel<PortletPreferences> toCacheModel() {
527                    PortletPreferencesCacheModel portletPreferencesCacheModel = new PortletPreferencesCacheModel();
528    
529                    portletPreferencesCacheModel.mvccVersion = getMvccVersion();
530    
531                    portletPreferencesCacheModel.portletPreferencesId = getPortletPreferencesId();
532    
533                    portletPreferencesCacheModel.companyId = getCompanyId();
534    
535                    portletPreferencesCacheModel.ownerId = getOwnerId();
536    
537                    portletPreferencesCacheModel.ownerType = getOwnerType();
538    
539                    portletPreferencesCacheModel.plid = getPlid();
540    
541                    portletPreferencesCacheModel.portletId = getPortletId();
542    
543                    String portletId = portletPreferencesCacheModel.portletId;
544    
545                    if ((portletId != null) && (portletId.length() == 0)) {
546                            portletPreferencesCacheModel.portletId = null;
547                    }
548    
549                    portletPreferencesCacheModel.preferences = getPreferences();
550    
551                    String preferences = portletPreferencesCacheModel.preferences;
552    
553                    if ((preferences != null) && (preferences.length() == 0)) {
554                            portletPreferencesCacheModel.preferences = null;
555                    }
556    
557                    return portletPreferencesCacheModel;
558            }
559    
560            @Override
561            public String toString() {
562                    StringBundler sb = new StringBundler(17);
563    
564                    sb.append("{mvccVersion=");
565                    sb.append(getMvccVersion());
566                    sb.append(", portletPreferencesId=");
567                    sb.append(getPortletPreferencesId());
568                    sb.append(", companyId=");
569                    sb.append(getCompanyId());
570                    sb.append(", ownerId=");
571                    sb.append(getOwnerId());
572                    sb.append(", ownerType=");
573                    sb.append(getOwnerType());
574                    sb.append(", plid=");
575                    sb.append(getPlid());
576                    sb.append(", portletId=");
577                    sb.append(getPortletId());
578                    sb.append(", preferences=");
579                    sb.append(getPreferences());
580                    sb.append("}");
581    
582                    return sb.toString();
583            }
584    
585            @Override
586            public String toXmlString() {
587                    StringBundler sb = new StringBundler(28);
588    
589                    sb.append("<model><model-name>");
590                    sb.append("com.liferay.portal.model.PortletPreferences");
591                    sb.append("</model-name>");
592    
593                    sb.append(
594                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
595                    sb.append(getMvccVersion());
596                    sb.append("]]></column-value></column>");
597                    sb.append(
598                            "<column><column-name>portletPreferencesId</column-name><column-value><![CDATA[");
599                    sb.append(getPortletPreferencesId());
600                    sb.append("]]></column-value></column>");
601                    sb.append(
602                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
603                    sb.append(getCompanyId());
604                    sb.append("]]></column-value></column>");
605                    sb.append(
606                            "<column><column-name>ownerId</column-name><column-value><![CDATA[");
607                    sb.append(getOwnerId());
608                    sb.append("]]></column-value></column>");
609                    sb.append(
610                            "<column><column-name>ownerType</column-name><column-value><![CDATA[");
611                    sb.append(getOwnerType());
612                    sb.append("]]></column-value></column>");
613                    sb.append(
614                            "<column><column-name>plid</column-name><column-value><![CDATA[");
615                    sb.append(getPlid());
616                    sb.append("]]></column-value></column>");
617                    sb.append(
618                            "<column><column-name>portletId</column-name><column-value><![CDATA[");
619                    sb.append(getPortletId());
620                    sb.append("]]></column-value></column>");
621                    sb.append(
622                            "<column><column-name>preferences</column-name><column-value><![CDATA[");
623                    sb.append(getPreferences());
624                    sb.append("]]></column-value></column>");
625    
626                    sb.append("</model>");
627    
628                    return sb.toString();
629            }
630    
631            private static final ClassLoader _classLoader = PortletPreferences.class.getClassLoader();
632            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
633                            PortletPreferences.class
634                    };
635            private long _mvccVersion;
636            private long _portletPreferencesId;
637            private long _companyId;
638            private long _ownerId;
639            private long _originalOwnerId;
640            private boolean _setOriginalOwnerId;
641            private int _ownerType;
642            private int _originalOwnerType;
643            private boolean _setOriginalOwnerType;
644            private long _plid;
645            private long _originalPlid;
646            private boolean _setOriginalPlid;
647            private String _portletId;
648            private String _originalPortletId;
649            private String _preferences;
650            private long _columnBitmask;
651            private PortletPreferences _escapedModel;
652    }