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.portlet.asset.model.impl;
016    
017    import aQute.bnd.annotation.ProviderType;
018    
019    import com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
020    import com.liferay.portal.kernel.util.GetterUtil;
021    import com.liferay.portal.kernel.util.ProxyUtil;
022    import com.liferay.portal.kernel.util.StringBundler;
023    import com.liferay.portal.kernel.util.StringPool;
024    import com.liferay.portal.kernel.util.Validator;
025    import com.liferay.portal.model.CacheModel;
026    import com.liferay.portal.model.impl.BaseModelImpl;
027    import com.liferay.portal.service.ServiceContext;
028    import com.liferay.portal.util.PortalUtil;
029    
030    import com.liferay.portlet.asset.model.AssetTagStats;
031    import com.liferay.portlet.asset.model.AssetTagStatsModel;
032    import com.liferay.portlet.expando.model.ExpandoBridge;
033    import com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil;
034    
035    import java.io.Serializable;
036    
037    import java.sql.Types;
038    
039    import java.util.HashMap;
040    import java.util.Map;
041    
042    /**
043     * The base model implementation for the AssetTagStats service. Represents a row in the "AssetTagStats" database table, with each column mapped to a property of this class.
044     *
045     * <p>
046     * This implementation and its corresponding interface {@link AssetTagStatsModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link AssetTagStatsImpl}.
047     * </p>
048     *
049     * @author Brian Wing Shun Chan
050     * @see AssetTagStatsImpl
051     * @see AssetTagStats
052     * @see AssetTagStatsModel
053     * @generated
054     */
055    @ProviderType
056    public class AssetTagStatsModelImpl extends BaseModelImpl<AssetTagStats>
057            implements AssetTagStatsModel {
058            /*
059             * NOTE FOR DEVELOPERS:
060             *
061             * Never modify or reference this class directly. All methods that expect a asset tag stats model instance should use the {@link AssetTagStats} interface instead.
062             */
063            public static final String TABLE_NAME = "AssetTagStats";
064            public static final Object[][] TABLE_COLUMNS = {
065                            { "tagStatsId", Types.BIGINT },
066                            { "tagId", Types.BIGINT },
067                            { "classNameId", Types.BIGINT },
068                            { "assetCount", Types.INTEGER }
069                    };
070            public static final Map<String, Integer> TABLE_COLUMNS_MAP = new HashMap<String, Integer>();
071    
072            static {
073                    TABLE_COLUMNS_MAP.put("tagStatsId", Types.BIGINT);
074                    TABLE_COLUMNS_MAP.put("tagId", Types.BIGINT);
075                    TABLE_COLUMNS_MAP.put("classNameId", Types.BIGINT);
076                    TABLE_COLUMNS_MAP.put("assetCount", Types.INTEGER);
077            }
078    
079            public static final String TABLE_SQL_CREATE = "create table AssetTagStats (tagStatsId LONG not null primary key,tagId LONG,classNameId LONG,assetCount INTEGER)";
080            public static final String TABLE_SQL_DROP = "drop table AssetTagStats";
081            public static final String ORDER_BY_JPQL = " ORDER BY assetTagStats.assetCount DESC";
082            public static final String ORDER_BY_SQL = " ORDER BY AssetTagStats.assetCount DESC";
083            public static final String DATA_SOURCE = "liferayDataSource";
084            public static final String SESSION_FACTORY = "liferaySessionFactory";
085            public static final String TX_MANAGER = "liferayTransactionManager";
086            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
087                                    "value.object.entity.cache.enabled.com.liferay.portlet.asset.model.AssetTagStats"),
088                            true);
089            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
090                                    "value.object.finder.cache.enabled.com.liferay.portlet.asset.model.AssetTagStats"),
091                            true);
092            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
093                                    "value.object.column.bitmask.enabled.com.liferay.portlet.asset.model.AssetTagStats"),
094                            true);
095            public static final long CLASSNAMEID_COLUMN_BITMASK = 1L;
096            public static final long TAGID_COLUMN_BITMASK = 2L;
097            public static final long ASSETCOUNT_COLUMN_BITMASK = 4L;
098            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
099                                    "lock.expiration.time.com.liferay.portlet.asset.model.AssetTagStats"));
100    
101            public AssetTagStatsModelImpl() {
102            }
103    
104            @Override
105            public long getPrimaryKey() {
106                    return _tagStatsId;
107            }
108    
109            @Override
110            public void setPrimaryKey(long primaryKey) {
111                    setTagStatsId(primaryKey);
112            }
113    
114            @Override
115            public Serializable getPrimaryKeyObj() {
116                    return _tagStatsId;
117            }
118    
119            @Override
120            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
121                    setPrimaryKey(((Long)primaryKeyObj).longValue());
122            }
123    
124            @Override
125            public Class<?> getModelClass() {
126                    return AssetTagStats.class;
127            }
128    
129            @Override
130            public String getModelClassName() {
131                    return AssetTagStats.class.getName();
132            }
133    
134            @Override
135            public Map<String, Object> getModelAttributes() {
136                    Map<String, Object> attributes = new HashMap<String, Object>();
137    
138                    attributes.put("tagStatsId", getTagStatsId());
139                    attributes.put("tagId", getTagId());
140                    attributes.put("classNameId", getClassNameId());
141                    attributes.put("assetCount", getAssetCount());
142    
143                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
144                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
145    
146                    return attributes;
147            }
148    
149            @Override
150            public void setModelAttributes(Map<String, Object> attributes) {
151                    Long tagStatsId = (Long)attributes.get("tagStatsId");
152    
153                    if (tagStatsId != null) {
154                            setTagStatsId(tagStatsId);
155                    }
156    
157                    Long tagId = (Long)attributes.get("tagId");
158    
159                    if (tagId != null) {
160                            setTagId(tagId);
161                    }
162    
163                    Long classNameId = (Long)attributes.get("classNameId");
164    
165                    if (classNameId != null) {
166                            setClassNameId(classNameId);
167                    }
168    
169                    Integer assetCount = (Integer)attributes.get("assetCount");
170    
171                    if (assetCount != null) {
172                            setAssetCount(assetCount);
173                    }
174            }
175    
176            @Override
177            public long getTagStatsId() {
178                    return _tagStatsId;
179            }
180    
181            @Override
182            public void setTagStatsId(long tagStatsId) {
183                    _tagStatsId = tagStatsId;
184            }
185    
186            @Override
187            public long getTagId() {
188                    return _tagId;
189            }
190    
191            @Override
192            public void setTagId(long tagId) {
193                    _columnBitmask |= TAGID_COLUMN_BITMASK;
194    
195                    if (!_setOriginalTagId) {
196                            _setOriginalTagId = true;
197    
198                            _originalTagId = _tagId;
199                    }
200    
201                    _tagId = tagId;
202            }
203    
204            public long getOriginalTagId() {
205                    return _originalTagId;
206            }
207    
208            @Override
209            public String getClassName() {
210                    if (getClassNameId() <= 0) {
211                            return StringPool.BLANK;
212                    }
213    
214                    return PortalUtil.getClassName(getClassNameId());
215            }
216    
217            @Override
218            public void setClassName(String className) {
219                    long classNameId = 0;
220    
221                    if (Validator.isNotNull(className)) {
222                            classNameId = PortalUtil.getClassNameId(className);
223                    }
224    
225                    setClassNameId(classNameId);
226            }
227    
228            @Override
229            public long getClassNameId() {
230                    return _classNameId;
231            }
232    
233            @Override
234            public void setClassNameId(long classNameId) {
235                    _columnBitmask |= CLASSNAMEID_COLUMN_BITMASK;
236    
237                    if (!_setOriginalClassNameId) {
238                            _setOriginalClassNameId = true;
239    
240                            _originalClassNameId = _classNameId;
241                    }
242    
243                    _classNameId = classNameId;
244            }
245    
246            public long getOriginalClassNameId() {
247                    return _originalClassNameId;
248            }
249    
250            @Override
251            public int getAssetCount() {
252                    return _assetCount;
253            }
254    
255            @Override
256            public void setAssetCount(int assetCount) {
257                    _columnBitmask = -1L;
258    
259                    _assetCount = assetCount;
260            }
261    
262            public long getColumnBitmask() {
263                    return _columnBitmask;
264            }
265    
266            @Override
267            public ExpandoBridge getExpandoBridge() {
268                    return ExpandoBridgeFactoryUtil.getExpandoBridge(0,
269                            AssetTagStats.class.getName(), getPrimaryKey());
270            }
271    
272            @Override
273            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
274                    ExpandoBridge expandoBridge = getExpandoBridge();
275    
276                    expandoBridge.setAttributes(serviceContext);
277            }
278    
279            @Override
280            public AssetTagStats toEscapedModel() {
281                    if (_escapedModel == null) {
282                            _escapedModel = (AssetTagStats)ProxyUtil.newProxyInstance(_classLoader,
283                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
284                    }
285    
286                    return _escapedModel;
287            }
288    
289            @Override
290            public Object clone() {
291                    AssetTagStatsImpl assetTagStatsImpl = new AssetTagStatsImpl();
292    
293                    assetTagStatsImpl.setTagStatsId(getTagStatsId());
294                    assetTagStatsImpl.setTagId(getTagId());
295                    assetTagStatsImpl.setClassNameId(getClassNameId());
296                    assetTagStatsImpl.setAssetCount(getAssetCount());
297    
298                    assetTagStatsImpl.resetOriginalValues();
299    
300                    return assetTagStatsImpl;
301            }
302    
303            @Override
304            public int compareTo(AssetTagStats assetTagStats) {
305                    int value = 0;
306    
307                    if (getAssetCount() < assetTagStats.getAssetCount()) {
308                            value = -1;
309                    }
310                    else if (getAssetCount() > assetTagStats.getAssetCount()) {
311                            value = 1;
312                    }
313                    else {
314                            value = 0;
315                    }
316    
317                    value = value * -1;
318    
319                    if (value != 0) {
320                            return value;
321                    }
322    
323                    return 0;
324            }
325    
326            @Override
327            public boolean equals(Object obj) {
328                    if (this == obj) {
329                            return true;
330                    }
331    
332                    if (!(obj instanceof AssetTagStats)) {
333                            return false;
334                    }
335    
336                    AssetTagStats assetTagStats = (AssetTagStats)obj;
337    
338                    long primaryKey = assetTagStats.getPrimaryKey();
339    
340                    if (getPrimaryKey() == primaryKey) {
341                            return true;
342                    }
343                    else {
344                            return false;
345                    }
346            }
347    
348            @Override
349            public int hashCode() {
350                    return (int)getPrimaryKey();
351            }
352    
353            @Override
354            public boolean isEntityCacheEnabled() {
355                    return ENTITY_CACHE_ENABLED;
356            }
357    
358            @Override
359            public boolean isFinderCacheEnabled() {
360                    return FINDER_CACHE_ENABLED;
361            }
362    
363            @Override
364            public void resetOriginalValues() {
365                    AssetTagStatsModelImpl assetTagStatsModelImpl = this;
366    
367                    assetTagStatsModelImpl._originalTagId = assetTagStatsModelImpl._tagId;
368    
369                    assetTagStatsModelImpl._setOriginalTagId = false;
370    
371                    assetTagStatsModelImpl._originalClassNameId = assetTagStatsModelImpl._classNameId;
372    
373                    assetTagStatsModelImpl._setOriginalClassNameId = false;
374    
375                    assetTagStatsModelImpl._columnBitmask = 0;
376            }
377    
378            @Override
379            public CacheModel<AssetTagStats> toCacheModel() {
380                    AssetTagStatsCacheModel assetTagStatsCacheModel = new AssetTagStatsCacheModel();
381    
382                    assetTagStatsCacheModel.tagStatsId = getTagStatsId();
383    
384                    assetTagStatsCacheModel.tagId = getTagId();
385    
386                    assetTagStatsCacheModel.classNameId = getClassNameId();
387    
388                    assetTagStatsCacheModel.assetCount = getAssetCount();
389    
390                    return assetTagStatsCacheModel;
391            }
392    
393            @Override
394            public String toString() {
395                    StringBundler sb = new StringBundler(9);
396    
397                    sb.append("{tagStatsId=");
398                    sb.append(getTagStatsId());
399                    sb.append(", tagId=");
400                    sb.append(getTagId());
401                    sb.append(", classNameId=");
402                    sb.append(getClassNameId());
403                    sb.append(", assetCount=");
404                    sb.append(getAssetCount());
405                    sb.append("}");
406    
407                    return sb.toString();
408            }
409    
410            @Override
411            public String toXmlString() {
412                    StringBundler sb = new StringBundler(16);
413    
414                    sb.append("<model><model-name>");
415                    sb.append("com.liferay.portlet.asset.model.AssetTagStats");
416                    sb.append("</model-name>");
417    
418                    sb.append(
419                            "<column><column-name>tagStatsId</column-name><column-value><![CDATA[");
420                    sb.append(getTagStatsId());
421                    sb.append("]]></column-value></column>");
422                    sb.append(
423                            "<column><column-name>tagId</column-name><column-value><![CDATA[");
424                    sb.append(getTagId());
425                    sb.append("]]></column-value></column>");
426                    sb.append(
427                            "<column><column-name>classNameId</column-name><column-value><![CDATA[");
428                    sb.append(getClassNameId());
429                    sb.append("]]></column-value></column>");
430                    sb.append(
431                            "<column><column-name>assetCount</column-name><column-value><![CDATA[");
432                    sb.append(getAssetCount());
433                    sb.append("]]></column-value></column>");
434    
435                    sb.append("</model>");
436    
437                    return sb.toString();
438            }
439    
440            private static final ClassLoader _classLoader = AssetTagStats.class.getClassLoader();
441            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
442                            AssetTagStats.class
443                    };
444            private long _tagStatsId;
445            private long _tagId;
446            private long _originalTagId;
447            private boolean _setOriginalTagId;
448            private long _classNameId;
449            private long _originalClassNameId;
450            private boolean _setOriginalClassNameId;
451            private int _assetCount;
452            private long _columnBitmask;
453            private AssetTagStats _escapedModel;
454    }