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