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                            { "ownerId", Types.BIGINT },
070                            { "ownerType", Types.INTEGER },
071                            { "plid", Types.BIGINT },
072                            { "portletId", Types.VARCHAR },
073                            { "preferences", Types.CLOB }
074                    };
075            public static final String TABLE_SQL_CREATE = "create table PortletPreferences (mvccVersion LONG default 0,portletPreferencesId LONG not null primary key,ownerId LONG,ownerType INTEGER,plid LONG,portletId VARCHAR(200) null,preferences TEXT null)";
076            public static final String TABLE_SQL_DROP = "drop table PortletPreferences";
077            public static final String ORDER_BY_JPQL = " ORDER BY portletPreferences.portletPreferencesId ASC";
078            public static final String ORDER_BY_SQL = " ORDER BY PortletPreferences.portletPreferencesId ASC";
079            public static final String DATA_SOURCE = "liferayDataSource";
080            public static final String SESSION_FACTORY = "liferaySessionFactory";
081            public static final String TX_MANAGER = "liferayTransactionManager";
082            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
083                                    "value.object.entity.cache.enabled.com.liferay.portal.model.PortletPreferences"),
084                            true);
085            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
086                                    "value.object.finder.cache.enabled.com.liferay.portal.model.PortletPreferences"),
087                            true);
088            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
089                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.PortletPreferences"),
090                            true);
091            public static final long OWNERID_COLUMN_BITMASK = 1L;
092            public static final long OWNERTYPE_COLUMN_BITMASK = 2L;
093            public static final long PLID_COLUMN_BITMASK = 4L;
094            public static final long PORTLETID_COLUMN_BITMASK = 8L;
095            public static final long PORTLETPREFERENCESID_COLUMN_BITMASK = 16L;
096    
097            /**
098             * Converts the soap model instance into a normal model instance.
099             *
100             * @param soapModel the soap model instance to convert
101             * @return the normal model instance
102             */
103            public static PortletPreferences toModel(PortletPreferencesSoap soapModel) {
104                    if (soapModel == null) {
105                            return null;
106                    }
107    
108                    PortletPreferences model = new PortletPreferencesImpl();
109    
110                    model.setMvccVersion(soapModel.getMvccVersion());
111                    model.setPortletPreferencesId(soapModel.getPortletPreferencesId());
112                    model.setOwnerId(soapModel.getOwnerId());
113                    model.setOwnerType(soapModel.getOwnerType());
114                    model.setPlid(soapModel.getPlid());
115                    model.setPortletId(soapModel.getPortletId());
116                    model.setPreferences(soapModel.getPreferences());
117    
118                    return model;
119            }
120    
121            /**
122             * Converts the soap model instances into normal model instances.
123             *
124             * @param soapModels the soap model instances to convert
125             * @return the normal model instances
126             */
127            public static List<PortletPreferences> toModels(
128                    PortletPreferencesSoap[] soapModels) {
129                    if (soapModels == null) {
130                            return null;
131                    }
132    
133                    List<PortletPreferences> models = new ArrayList<PortletPreferences>(soapModels.length);
134    
135                    for (PortletPreferencesSoap soapModel : soapModels) {
136                            models.add(toModel(soapModel));
137                    }
138    
139                    return models;
140            }
141    
142            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
143                                    "lock.expiration.time.com.liferay.portal.model.PortletPreferences"));
144    
145            public PortletPreferencesModelImpl() {
146            }
147    
148            @Override
149            public long getPrimaryKey() {
150                    return _portletPreferencesId;
151            }
152    
153            @Override
154            public void setPrimaryKey(long primaryKey) {
155                    setPortletPreferencesId(primaryKey);
156            }
157    
158            @Override
159            public Serializable getPrimaryKeyObj() {
160                    return _portletPreferencesId;
161            }
162    
163            @Override
164            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
165                    setPrimaryKey(((Long)primaryKeyObj).longValue());
166            }
167    
168            @Override
169            public Class<?> getModelClass() {
170                    return PortletPreferences.class;
171            }
172    
173            @Override
174            public String getModelClassName() {
175                    return PortletPreferences.class.getName();
176            }
177    
178            @Override
179            public Map<String, Object> getModelAttributes() {
180                    Map<String, Object> attributes = new HashMap<String, Object>();
181    
182                    attributes.put("mvccVersion", getMvccVersion());
183                    attributes.put("portletPreferencesId", getPortletPreferencesId());
184                    attributes.put("ownerId", getOwnerId());
185                    attributes.put("ownerType", getOwnerType());
186                    attributes.put("plid", getPlid());
187                    attributes.put("portletId", getPortletId());
188                    attributes.put("preferences", getPreferences());
189    
190                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
191                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
192    
193                    return attributes;
194            }
195    
196            @Override
197            public void setModelAttributes(Map<String, Object> attributes) {
198                    Long mvccVersion = (Long)attributes.get("mvccVersion");
199    
200                    if (mvccVersion != null) {
201                            setMvccVersion(mvccVersion);
202                    }
203    
204                    Long portletPreferencesId = (Long)attributes.get("portletPreferencesId");
205    
206                    if (portletPreferencesId != null) {
207                            setPortletPreferencesId(portletPreferencesId);
208                    }
209    
210                    Long ownerId = (Long)attributes.get("ownerId");
211    
212                    if (ownerId != null) {
213                            setOwnerId(ownerId);
214                    }
215    
216                    Integer ownerType = (Integer)attributes.get("ownerType");
217    
218                    if (ownerType != null) {
219                            setOwnerType(ownerType);
220                    }
221    
222                    Long plid = (Long)attributes.get("plid");
223    
224                    if (plid != null) {
225                            setPlid(plid);
226                    }
227    
228                    String portletId = (String)attributes.get("portletId");
229    
230                    if (portletId != null) {
231                            setPortletId(portletId);
232                    }
233    
234                    String preferences = (String)attributes.get("preferences");
235    
236                    if (preferences != null) {
237                            setPreferences(preferences);
238                    }
239            }
240    
241            @JSON
242            @Override
243            public long getMvccVersion() {
244                    return _mvccVersion;
245            }
246    
247            @Override
248            public void setMvccVersion(long mvccVersion) {
249                    _mvccVersion = mvccVersion;
250            }
251    
252            @JSON
253            @Override
254            public long getPortletPreferencesId() {
255                    return _portletPreferencesId;
256            }
257    
258            @Override
259            public void setPortletPreferencesId(long portletPreferencesId) {
260                    _portletPreferencesId = portletPreferencesId;
261            }
262    
263            @JSON
264            @Override
265            public long getOwnerId() {
266                    return _ownerId;
267            }
268    
269            @Override
270            public void setOwnerId(long ownerId) {
271                    _columnBitmask |= OWNERID_COLUMN_BITMASK;
272    
273                    if (!_setOriginalOwnerId) {
274                            _setOriginalOwnerId = true;
275    
276                            _originalOwnerId = _ownerId;
277                    }
278    
279                    _ownerId = ownerId;
280            }
281    
282            public long getOriginalOwnerId() {
283                    return _originalOwnerId;
284            }
285    
286            @JSON
287            @Override
288            public int getOwnerType() {
289                    return _ownerType;
290            }
291    
292            @Override
293            public void setOwnerType(int ownerType) {
294                    _columnBitmask |= OWNERTYPE_COLUMN_BITMASK;
295    
296                    if (!_setOriginalOwnerType) {
297                            _setOriginalOwnerType = true;
298    
299                            _originalOwnerType = _ownerType;
300                    }
301    
302                    _ownerType = ownerType;
303            }
304    
305            public int getOriginalOwnerType() {
306                    return _originalOwnerType;
307            }
308    
309            @JSON
310            @Override
311            public long getPlid() {
312                    return _plid;
313            }
314    
315            @Override
316            public void setPlid(long plid) {
317                    _columnBitmask |= PLID_COLUMN_BITMASK;
318    
319                    if (!_setOriginalPlid) {
320                            _setOriginalPlid = true;
321    
322                            _originalPlid = _plid;
323                    }
324    
325                    _plid = plid;
326            }
327    
328            public long getOriginalPlid() {
329                    return _originalPlid;
330            }
331    
332            @JSON
333            @Override
334            public String getPortletId() {
335                    if (_portletId == null) {
336                            return StringPool.BLANK;
337                    }
338                    else {
339                            return _portletId;
340                    }
341            }
342    
343            @Override
344            public void setPortletId(String portletId) {
345                    _columnBitmask |= PORTLETID_COLUMN_BITMASK;
346    
347                    if (_originalPortletId == null) {
348                            _originalPortletId = _portletId;
349                    }
350    
351                    _portletId = portletId;
352            }
353    
354            public String getOriginalPortletId() {
355                    return GetterUtil.getString(_originalPortletId);
356            }
357    
358            @JSON
359            @Override
360            public String getPreferences() {
361                    if (_preferences == null) {
362                            return StringPool.BLANK;
363                    }
364                    else {
365                            return _preferences;
366                    }
367            }
368    
369            @Override
370            public void setPreferences(String preferences) {
371                    _preferences = preferences;
372            }
373    
374            public long getColumnBitmask() {
375                    return _columnBitmask;
376            }
377    
378            @Override
379            public ExpandoBridge getExpandoBridge() {
380                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
381                            PortletPreferences.class.getName(), getPrimaryKey());
382            }
383    
384            @Override
385            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
386                    ExpandoBridge expandoBridge = getExpandoBridge();
387    
388                    expandoBridge.setAttributes(serviceContext);
389            }
390    
391            @Override
392            public PortletPreferences toEscapedModel() {
393                    if (_escapedModel == null) {
394                            _escapedModel = (PortletPreferences)ProxyUtil.newProxyInstance(_classLoader,
395                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
396                    }
397    
398                    return _escapedModel;
399            }
400    
401            @Override
402            public Object clone() {
403                    PortletPreferencesImpl portletPreferencesImpl = new PortletPreferencesImpl();
404    
405                    portletPreferencesImpl.setMvccVersion(getMvccVersion());
406                    portletPreferencesImpl.setPortletPreferencesId(getPortletPreferencesId());
407                    portletPreferencesImpl.setOwnerId(getOwnerId());
408                    portletPreferencesImpl.setOwnerType(getOwnerType());
409                    portletPreferencesImpl.setPlid(getPlid());
410                    portletPreferencesImpl.setPortletId(getPortletId());
411                    portletPreferencesImpl.setPreferences(getPreferences());
412    
413                    portletPreferencesImpl.resetOriginalValues();
414    
415                    return portletPreferencesImpl;
416            }
417    
418            @Override
419            public int compareTo(PortletPreferences portletPreferences) {
420                    long primaryKey = portletPreferences.getPrimaryKey();
421    
422                    if (getPrimaryKey() < primaryKey) {
423                            return -1;
424                    }
425                    else if (getPrimaryKey() > primaryKey) {
426                            return 1;
427                    }
428                    else {
429                            return 0;
430                    }
431            }
432    
433            @Override
434            public boolean equals(Object obj) {
435                    if (this == obj) {
436                            return true;
437                    }
438    
439                    if (!(obj instanceof PortletPreferences)) {
440                            return false;
441                    }
442    
443                    PortletPreferences portletPreferences = (PortletPreferences)obj;
444    
445                    long primaryKey = portletPreferences.getPrimaryKey();
446    
447                    if (getPrimaryKey() == primaryKey) {
448                            return true;
449                    }
450                    else {
451                            return false;
452                    }
453            }
454    
455            @Override
456            public int hashCode() {
457                    return (int)getPrimaryKey();
458            }
459    
460            @Override
461            public boolean isEntityCacheEnabled() {
462                    return ENTITY_CACHE_ENABLED;
463            }
464    
465            @Override
466            public boolean isFinderCacheEnabled() {
467                    return FINDER_CACHE_ENABLED;
468            }
469    
470            @Override
471            public void resetOriginalValues() {
472                    PortletPreferencesModelImpl portletPreferencesModelImpl = this;
473    
474                    portletPreferencesModelImpl._originalOwnerId = portletPreferencesModelImpl._ownerId;
475    
476                    portletPreferencesModelImpl._setOriginalOwnerId = false;
477    
478                    portletPreferencesModelImpl._originalOwnerType = portletPreferencesModelImpl._ownerType;
479    
480                    portletPreferencesModelImpl._setOriginalOwnerType = false;
481    
482                    portletPreferencesModelImpl._originalPlid = portletPreferencesModelImpl._plid;
483    
484                    portletPreferencesModelImpl._setOriginalPlid = false;
485    
486                    portletPreferencesModelImpl._originalPortletId = portletPreferencesModelImpl._portletId;
487    
488                    portletPreferencesModelImpl._columnBitmask = 0;
489            }
490    
491            @Override
492            public CacheModel<PortletPreferences> toCacheModel() {
493                    PortletPreferencesCacheModel portletPreferencesCacheModel = new PortletPreferencesCacheModel();
494    
495                    portletPreferencesCacheModel.mvccVersion = getMvccVersion();
496    
497                    portletPreferencesCacheModel.portletPreferencesId = getPortletPreferencesId();
498    
499                    portletPreferencesCacheModel.ownerId = getOwnerId();
500    
501                    portletPreferencesCacheModel.ownerType = getOwnerType();
502    
503                    portletPreferencesCacheModel.plid = getPlid();
504    
505                    portletPreferencesCacheModel.portletId = getPortletId();
506    
507                    String portletId = portletPreferencesCacheModel.portletId;
508    
509                    if ((portletId != null) && (portletId.length() == 0)) {
510                            portletPreferencesCacheModel.portletId = null;
511                    }
512    
513                    portletPreferencesCacheModel.preferences = getPreferences();
514    
515                    String preferences = portletPreferencesCacheModel.preferences;
516    
517                    if ((preferences != null) && (preferences.length() == 0)) {
518                            portletPreferencesCacheModel.preferences = null;
519                    }
520    
521                    return portletPreferencesCacheModel;
522            }
523    
524            @Override
525            public String toString() {
526                    StringBundler sb = new StringBundler(15);
527    
528                    sb.append("{mvccVersion=");
529                    sb.append(getMvccVersion());
530                    sb.append(", portletPreferencesId=");
531                    sb.append(getPortletPreferencesId());
532                    sb.append(", ownerId=");
533                    sb.append(getOwnerId());
534                    sb.append(", ownerType=");
535                    sb.append(getOwnerType());
536                    sb.append(", plid=");
537                    sb.append(getPlid());
538                    sb.append(", portletId=");
539                    sb.append(getPortletId());
540                    sb.append(", preferences=");
541                    sb.append(getPreferences());
542                    sb.append("}");
543    
544                    return sb.toString();
545            }
546    
547            @Override
548            public String toXmlString() {
549                    StringBundler sb = new StringBundler(25);
550    
551                    sb.append("<model><model-name>");
552                    sb.append("com.liferay.portal.model.PortletPreferences");
553                    sb.append("</model-name>");
554    
555                    sb.append(
556                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
557                    sb.append(getMvccVersion());
558                    sb.append("]]></column-value></column>");
559                    sb.append(
560                            "<column><column-name>portletPreferencesId</column-name><column-value><![CDATA[");
561                    sb.append(getPortletPreferencesId());
562                    sb.append("]]></column-value></column>");
563                    sb.append(
564                            "<column><column-name>ownerId</column-name><column-value><![CDATA[");
565                    sb.append(getOwnerId());
566                    sb.append("]]></column-value></column>");
567                    sb.append(
568                            "<column><column-name>ownerType</column-name><column-value><![CDATA[");
569                    sb.append(getOwnerType());
570                    sb.append("]]></column-value></column>");
571                    sb.append(
572                            "<column><column-name>plid</column-name><column-value><![CDATA[");
573                    sb.append(getPlid());
574                    sb.append("]]></column-value></column>");
575                    sb.append(
576                            "<column><column-name>portletId</column-name><column-value><![CDATA[");
577                    sb.append(getPortletId());
578                    sb.append("]]></column-value></column>");
579                    sb.append(
580                            "<column><column-name>preferences</column-name><column-value><![CDATA[");
581                    sb.append(getPreferences());
582                    sb.append("]]></column-value></column>");
583    
584                    sb.append("</model>");
585    
586                    return sb.toString();
587            }
588    
589            private static final ClassLoader _classLoader = PortletPreferences.class.getClassLoader();
590            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
591                            PortletPreferences.class
592                    };
593            private long _mvccVersion;
594            private long _portletPreferencesId;
595            private long _ownerId;
596            private long _originalOwnerId;
597            private boolean _setOriginalOwnerId;
598            private int _ownerType;
599            private int _originalOwnerType;
600            private boolean _setOriginalOwnerType;
601            private long _plid;
602            private long _originalPlid;
603            private boolean _setOriginalPlid;
604            private String _portletId;
605            private String _originalPortletId;
606            private String _preferences;
607            private long _columnBitmask;
608            private PortletPreferences _escapedModel;
609    }