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.Portlet;
026    import com.liferay.portal.kernel.model.PortletModel;
027    import com.liferay.portal.kernel.model.PortletSoap;
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 Portlet service. Represents a row in the "Portlet" database table, with each column mapped to a property of this class.
046     *
047     * <p>
048     * This implementation and its corresponding interface {@link PortletModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link PortletImpl}.
049     * </p>
050     *
051     * @author Brian Wing Shun Chan
052     * @see PortletImpl
053     * @see Portlet
054     * @see PortletModel
055     * @generated
056     */
057    @JSON(strict = true)
058    @ProviderType
059    public class PortletModelImpl extends BaseModelImpl<Portlet>
060            implements PortletModel {
061            /*
062             * NOTE FOR DEVELOPERS:
063             *
064             * Never modify or reference this class directly. All methods that expect a portlet model instance should use the {@link Portlet} interface instead.
065             */
066            public static final String TABLE_NAME = "Portlet";
067            public static final Object[][] TABLE_COLUMNS = {
068                            { "mvccVersion", Types.BIGINT },
069                            { "id_", Types.BIGINT },
070                            { "companyId", Types.BIGINT },
071                            { "portletId", Types.VARCHAR },
072                            { "roles", Types.VARCHAR },
073                            { "active_", Types.BOOLEAN }
074                    };
075            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
076    
077            static {
078                    TABLE_COLUMNS_MAP.put("mvccVersion", Types.BIGINT);
079                    TABLE_COLUMNS_MAP.put("id_", Types.BIGINT);
080                    TABLE_COLUMNS_MAP.put("companyId", Types.BIGINT);
081                    TABLE_COLUMNS_MAP.put("portletId", Types.VARCHAR);
082                    TABLE_COLUMNS_MAP.put("roles", Types.VARCHAR);
083                    TABLE_COLUMNS_MAP.put("active_", Types.BOOLEAN);
084            }
085    
086            public static final String TABLE_SQL_CREATE = "create table Portlet (mvccVersion LONG default 0 not null,id_ LONG not null primary key,companyId LONG,portletId VARCHAR(200) null,roles STRING null,active_ BOOLEAN)";
087            public static final String TABLE_SQL_DROP = "drop table Portlet";
088            public static final String ORDER_BY_JPQL = " ORDER BY portlet.id ASC";
089            public static final String ORDER_BY_SQL = " ORDER BY Portlet.id_ ASC";
090            public static final String DATA_SOURCE = "liferayDataSource";
091            public static final String SESSION_FACTORY = "liferaySessionFactory";
092            public static final String TX_MANAGER = "liferayTransactionManager";
093            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
094                                    "value.object.entity.cache.enabled.com.liferay.portal.kernel.model.Portlet"),
095                            true);
096            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
097                                    "value.object.finder.cache.enabled.com.liferay.portal.kernel.model.Portlet"),
098                            true);
099            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
100                                    "value.object.column.bitmask.enabled.com.liferay.portal.kernel.model.Portlet"),
101                            true);
102            public static final long COMPANYID_COLUMN_BITMASK = 1L;
103            public static final long PORTLETID_COLUMN_BITMASK = 2L;
104            public static final long ID_COLUMN_BITMASK = 4L;
105    
106            /**
107             * Converts the soap model instance into a normal model instance.
108             *
109             * @param soapModel the soap model instance to convert
110             * @return the normal model instance
111             */
112            public static Portlet toModel(PortletSoap soapModel) {
113                    if (soapModel == null) {
114                            return null;
115                    }
116    
117                    Portlet model = new PortletImpl();
118    
119                    model.setMvccVersion(soapModel.getMvccVersion());
120                    model.setId(soapModel.getId());
121                    model.setCompanyId(soapModel.getCompanyId());
122                    model.setPortletId(soapModel.getPortletId());
123                    model.setRoles(soapModel.getRoles());
124                    model.setActive(soapModel.getActive());
125    
126                    return model;
127            }
128    
129            /**
130             * Converts the soap model instances into normal model instances.
131             *
132             * @param soapModels the soap model instances to convert
133             * @return the normal model instances
134             */
135            public static List<Portlet> toModels(PortletSoap[] soapModels) {
136                    if (soapModels == null) {
137                            return null;
138                    }
139    
140                    List<Portlet> models = new ArrayList<Portlet>(soapModels.length);
141    
142                    for (PortletSoap soapModel : soapModels) {
143                            models.add(toModel(soapModel));
144                    }
145    
146                    return models;
147            }
148    
149            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
150                                    "lock.expiration.time.com.liferay.portal.kernel.model.Portlet"));
151    
152            public PortletModelImpl() {
153            }
154    
155            @Override
156            public long getPrimaryKey() {
157                    return _id;
158            }
159    
160            @Override
161            public void setPrimaryKey(long primaryKey) {
162                    setId(primaryKey);
163            }
164    
165            @Override
166            public Serializable getPrimaryKeyObj() {
167                    return _id;
168            }
169    
170            @Override
171            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
172                    setPrimaryKey(((Long)primaryKeyObj).longValue());
173            }
174    
175            @Override
176            public Class<?> getModelClass() {
177                    return Portlet.class;
178            }
179    
180            @Override
181            public String getModelClassName() {
182                    return Portlet.class.getName();
183            }
184    
185            @Override
186            public Map<String, Object> getModelAttributes() {
187                    Map<String, Object> attributes = new HashMap<String, Object>();
188    
189                    attributes.put("mvccVersion", getMvccVersion());
190                    attributes.put("id", getId());
191                    attributes.put("companyId", getCompanyId());
192                    attributes.put("portletId", getPortletId());
193                    attributes.put("roles", getRoles());
194                    attributes.put("active", getActive());
195    
196                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
197                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
198    
199                    return attributes;
200            }
201    
202            @Override
203            public void setModelAttributes(Map<String, Object> attributes) {
204                    Long mvccVersion = (Long)attributes.get("mvccVersion");
205    
206                    if (mvccVersion != null) {
207                            setMvccVersion(mvccVersion);
208                    }
209    
210                    Long id = (Long)attributes.get("id");
211    
212                    if (id != null) {
213                            setId(id);
214                    }
215    
216                    Long companyId = (Long)attributes.get("companyId");
217    
218                    if (companyId != null) {
219                            setCompanyId(companyId);
220                    }
221    
222                    String portletId = (String)attributes.get("portletId");
223    
224                    if (portletId != null) {
225                            setPortletId(portletId);
226                    }
227    
228                    String roles = (String)attributes.get("roles");
229    
230                    if (roles != null) {
231                            setRoles(roles);
232                    }
233    
234                    Boolean active = (Boolean)attributes.get("active");
235    
236                    if (active != null) {
237                            setActive(active);
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 getId() {
255                    return _id;
256            }
257    
258            @Override
259            public void setId(long id) {
260                    _id = id;
261            }
262    
263            @JSON
264            @Override
265            public long getCompanyId() {
266                    return _companyId;
267            }
268    
269            @Override
270            public void setCompanyId(long companyId) {
271                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
272    
273                    if (!_setOriginalCompanyId) {
274                            _setOriginalCompanyId = true;
275    
276                            _originalCompanyId = _companyId;
277                    }
278    
279                    _companyId = companyId;
280            }
281    
282            public long getOriginalCompanyId() {
283                    return _originalCompanyId;
284            }
285    
286            @JSON
287            @Override
288            public String getPortletId() {
289                    if (_portletId == null) {
290                            return StringPool.BLANK;
291                    }
292                    else {
293                            return _portletId;
294                    }
295            }
296    
297            @Override
298            public void setPortletId(String portletId) {
299                    _columnBitmask |= PORTLETID_COLUMN_BITMASK;
300    
301                    if (_originalPortletId == null) {
302                            _originalPortletId = _portletId;
303                    }
304    
305                    _portletId = portletId;
306            }
307    
308            public String getOriginalPortletId() {
309                    return GetterUtil.getString(_originalPortletId);
310            }
311    
312            @JSON
313            @Override
314            public String getRoles() {
315                    if (_roles == null) {
316                            return StringPool.BLANK;
317                    }
318                    else {
319                            return _roles;
320                    }
321            }
322    
323            @Override
324            public void setRoles(String roles) {
325                    _roles = roles;
326            }
327    
328            @JSON
329            @Override
330            public boolean getActive() {
331                    return _active;
332            }
333    
334            @Override
335            public boolean isActive() {
336                    return _active;
337            }
338    
339            @Override
340            public void setActive(boolean active) {
341                    _active = active;
342            }
343    
344            public long getColumnBitmask() {
345                    return _columnBitmask;
346            }
347    
348            @Override
349            public ExpandoBridge getExpandoBridge() {
350                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
351                            Portlet.class.getName(), getPrimaryKey());
352            }
353    
354            @Override
355            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
356                    ExpandoBridge expandoBridge = getExpandoBridge();
357    
358                    expandoBridge.setAttributes(serviceContext);
359            }
360    
361            @Override
362            public Portlet toEscapedModel() {
363                    if (_escapedModel == null) {
364                            _escapedModel = (Portlet)ProxyUtil.newProxyInstance(_classLoader,
365                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
366                    }
367    
368                    return _escapedModel;
369            }
370    
371            @Override
372            public Object clone() {
373                    PortletImpl portletImpl = new PortletImpl();
374    
375                    portletImpl.setMvccVersion(getMvccVersion());
376                    portletImpl.setId(getId());
377                    portletImpl.setCompanyId(getCompanyId());
378                    portletImpl.setPortletId(getPortletId());
379                    portletImpl.setRoles(getRoles());
380                    portletImpl.setActive(getActive());
381    
382                    portletImpl.resetOriginalValues();
383    
384                    return portletImpl;
385            }
386    
387            @Override
388            public int compareTo(Portlet portlet) {
389                    long primaryKey = portlet.getPrimaryKey();
390    
391                    if (getPrimaryKey() < primaryKey) {
392                            return -1;
393                    }
394                    else if (getPrimaryKey() > primaryKey) {
395                            return 1;
396                    }
397                    else {
398                            return 0;
399                    }
400            }
401    
402            @Override
403            public boolean equals(Object obj) {
404                    if (this == obj) {
405                            return true;
406                    }
407    
408                    if (!(obj instanceof Portlet)) {
409                            return false;
410                    }
411    
412                    Portlet portlet = (Portlet)obj;
413    
414                    long primaryKey = portlet.getPrimaryKey();
415    
416                    if (getPrimaryKey() == primaryKey) {
417                            return true;
418                    }
419                    else {
420                            return false;
421                    }
422            }
423    
424            @Override
425            public int hashCode() {
426                    return (int)getPrimaryKey();
427            }
428    
429            @Override
430            public boolean isEntityCacheEnabled() {
431                    return ENTITY_CACHE_ENABLED;
432            }
433    
434            @Override
435            public boolean isFinderCacheEnabled() {
436                    return FINDER_CACHE_ENABLED;
437            }
438    
439            @Override
440            public void resetOriginalValues() {
441                    PortletModelImpl portletModelImpl = this;
442    
443                    portletModelImpl._originalCompanyId = portletModelImpl._companyId;
444    
445                    portletModelImpl._setOriginalCompanyId = false;
446    
447                    portletModelImpl._originalPortletId = portletModelImpl._portletId;
448    
449                    portletModelImpl._columnBitmask = 0;
450            }
451    
452            @Override
453            public CacheModel<Portlet> toCacheModel() {
454                    PortletCacheModel portletCacheModel = new PortletCacheModel();
455    
456                    portletCacheModel.mvccVersion = getMvccVersion();
457    
458                    portletCacheModel.id = getId();
459    
460                    portletCacheModel.companyId = getCompanyId();
461    
462                    portletCacheModel.portletId = getPortletId();
463    
464                    String portletId = portletCacheModel.portletId;
465    
466                    if ((portletId != null) && (portletId.length() == 0)) {
467                            portletCacheModel.portletId = null;
468                    }
469    
470                    portletCacheModel.roles = getRoles();
471    
472                    String roles = portletCacheModel.roles;
473    
474                    if ((roles != null) && (roles.length() == 0)) {
475                            portletCacheModel.roles = null;
476                    }
477    
478                    portletCacheModel.active = getActive();
479    
480                    return portletCacheModel;
481            }
482    
483            @Override
484            public String toString() {
485                    StringBundler sb = new StringBundler(13);
486    
487                    sb.append("{mvccVersion=");
488                    sb.append(getMvccVersion());
489                    sb.append(", id=");
490                    sb.append(getId());
491                    sb.append(", companyId=");
492                    sb.append(getCompanyId());
493                    sb.append(", portletId=");
494                    sb.append(getPortletId());
495                    sb.append(", roles=");
496                    sb.append(getRoles());
497                    sb.append(", active=");
498                    sb.append(getActive());
499                    sb.append("}");
500    
501                    return sb.toString();
502            }
503    
504            @Override
505            public String toXmlString() {
506                    StringBundler sb = new StringBundler(22);
507    
508                    sb.append("<model><model-name>");
509                    sb.append("com.liferay.portal.kernel.model.Portlet");
510                    sb.append("</model-name>");
511    
512                    sb.append(
513                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
514                    sb.append(getMvccVersion());
515                    sb.append("]]></column-value></column>");
516                    sb.append(
517                            "<column><column-name>id</column-name><column-value><![CDATA[");
518                    sb.append(getId());
519                    sb.append("]]></column-value></column>");
520                    sb.append(
521                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
522                    sb.append(getCompanyId());
523                    sb.append("]]></column-value></column>");
524                    sb.append(
525                            "<column><column-name>portletId</column-name><column-value><![CDATA[");
526                    sb.append(getPortletId());
527                    sb.append("]]></column-value></column>");
528                    sb.append(
529                            "<column><column-name>roles</column-name><column-value><![CDATA[");
530                    sb.append(getRoles());
531                    sb.append("]]></column-value></column>");
532                    sb.append(
533                            "<column><column-name>active</column-name><column-value><![CDATA[");
534                    sb.append(getActive());
535                    sb.append("]]></column-value></column>");
536    
537                    sb.append("</model>");
538    
539                    return sb.toString();
540            }
541    
542            private static final ClassLoader _classLoader = Portlet.class.getClassLoader();
543            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
544                            Portlet.class
545                    };
546            private long _mvccVersion;
547            private long _id;
548            private long _companyId;
549            private long _originalCompanyId;
550            private boolean _setOriginalCompanyId;
551            private String _portletId;
552            private String _originalPortletId;
553            private String _roles;
554            private boolean _active;
555            private long _columnBitmask;
556            private Portlet _escapedModel;
557    }