001    /**
002     * Copyright (c) 2000-2012 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 com.liferay.portal.kernel.bean.AutoEscapeBeanHandler;
018    import com.liferay.portal.kernel.exception.SystemException;
019    import com.liferay.portal.kernel.json.JSON;
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.model.CacheModel;
025    import com.liferay.portal.model.impl.BaseModelImpl;
026    import com.liferay.portal.service.ServiceContext;
027    import com.liferay.portal.util.PortalUtil;
028    
029    import com.liferay.portlet.asset.model.AssetTag;
030    import com.liferay.portlet.asset.model.AssetTagModel;
031    import com.liferay.portlet.asset.model.AssetTagSoap;
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.ArrayList;
040    import java.util.Date;
041    import java.util.List;
042    
043    /**
044     * The base model implementation for the AssetTag service. Represents a row in the "AssetTag" database table, with each column mapped to a property of this class.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link com.liferay.portlet.asset.model.AssetTagModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link AssetTagImpl}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see AssetTagImpl
052     * @see com.liferay.portlet.asset.model.AssetTag
053     * @see com.liferay.portlet.asset.model.AssetTagModel
054     * @generated
055     */
056    @JSON(strict = true)
057    public class AssetTagModelImpl extends BaseModelImpl<AssetTag>
058            implements AssetTagModel {
059            /*
060             * NOTE FOR DEVELOPERS:
061             *
062             * Never modify or reference this class directly. All methods that expect a asset tag model instance should use the {@link com.liferay.portlet.asset.model.AssetTag} interface instead.
063             */
064            public static final String TABLE_NAME = "AssetTag";
065            public static final Object[][] TABLE_COLUMNS = {
066                            { "tagId", Types.BIGINT },
067                            { "groupId", Types.BIGINT },
068                            { "companyId", Types.BIGINT },
069                            { "userId", Types.BIGINT },
070                            { "userName", Types.VARCHAR },
071                            { "createDate", Types.TIMESTAMP },
072                            { "modifiedDate", Types.TIMESTAMP },
073                            { "name", Types.VARCHAR },
074                            { "assetCount", Types.INTEGER }
075                    };
076            public static final String TABLE_SQL_CREATE = "create table AssetTag (tagId LONG not null primary key,groupId LONG,companyId LONG,userId LONG,userName VARCHAR(75) null,createDate DATE null,modifiedDate DATE null,name VARCHAR(75) null,assetCount INTEGER)";
077            public static final String TABLE_SQL_DROP = "drop table AssetTag";
078            public static final String ORDER_BY_JPQL = " ORDER BY assetTag.name ASC";
079            public static final String ORDER_BY_SQL = " ORDER BY AssetTag.name ASC";
080            public static final String DATA_SOURCE = "liferayDataSource";
081            public static final String SESSION_FACTORY = "liferaySessionFactory";
082            public static final String TX_MANAGER = "liferayTransactionManager";
083            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
084                                    "value.object.entity.cache.enabled.com.liferay.portlet.asset.model.AssetTag"),
085                            true);
086            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
087                                    "value.object.finder.cache.enabled.com.liferay.portlet.asset.model.AssetTag"),
088                            true);
089            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
090                                    "value.object.column.bitmask.enabled.com.liferay.portlet.asset.model.AssetTag"),
091                            true);
092            public static long GROUPID_COLUMN_BITMASK = 1L;
093            public static long NAME_COLUMN_BITMASK = 2L;
094    
095            /**
096             * Converts the soap model instance into a normal model instance.
097             *
098             * @param soapModel the soap model instance to convert
099             * @return the normal model instance
100             */
101            public static AssetTag toModel(AssetTagSoap soapModel) {
102                    AssetTag model = new AssetTagImpl();
103    
104                    model.setTagId(soapModel.getTagId());
105                    model.setGroupId(soapModel.getGroupId());
106                    model.setCompanyId(soapModel.getCompanyId());
107                    model.setUserId(soapModel.getUserId());
108                    model.setUserName(soapModel.getUserName());
109                    model.setCreateDate(soapModel.getCreateDate());
110                    model.setModifiedDate(soapModel.getModifiedDate());
111                    model.setName(soapModel.getName());
112                    model.setAssetCount(soapModel.getAssetCount());
113    
114                    return model;
115            }
116    
117            /**
118             * Converts the soap model instances into normal model instances.
119             *
120             * @param soapModels the soap model instances to convert
121             * @return the normal model instances
122             */
123            public static List<AssetTag> toModels(AssetTagSoap[] soapModels) {
124                    List<AssetTag> models = new ArrayList<AssetTag>(soapModels.length);
125    
126                    for (AssetTagSoap soapModel : soapModels) {
127                            models.add(toModel(soapModel));
128                    }
129    
130                    return models;
131            }
132    
133            public static final String MAPPING_TABLE_ASSETENTRIES_ASSETTAGS_NAME = "AssetEntries_AssetTags";
134            public static final Object[][] MAPPING_TABLE_ASSETENTRIES_ASSETTAGS_COLUMNS = {
135                            { "entryId", Types.BIGINT },
136                            { "tagId", Types.BIGINT }
137                    };
138            public static final String MAPPING_TABLE_ASSETENTRIES_ASSETTAGS_SQL_CREATE = "create table AssetEntries_AssetTags (entryId LONG not null,tagId LONG not null,primary key (entryId, tagId))";
139            public static final boolean FINDER_CACHE_ENABLED_ASSETENTRIES_ASSETTAGS = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
140                                    "value.object.finder.cache.enabled.AssetEntries_AssetTags"),
141                            true);
142            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
143                                    "lock.expiration.time.com.liferay.portlet.asset.model.AssetTag"));
144    
145            public AssetTagModelImpl() {
146            }
147    
148            public long getPrimaryKey() {
149                    return _tagId;
150            }
151    
152            public void setPrimaryKey(long primaryKey) {
153                    setTagId(primaryKey);
154            }
155    
156            public Serializable getPrimaryKeyObj() {
157                    return new Long(_tagId);
158            }
159    
160            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
161                    setPrimaryKey(((Long)primaryKeyObj).longValue());
162            }
163    
164            public Class<?> getModelClass() {
165                    return AssetTag.class;
166            }
167    
168            public String getModelClassName() {
169                    return AssetTag.class.getName();
170            }
171    
172            @JSON
173            public long getTagId() {
174                    return _tagId;
175            }
176    
177            public void setTagId(long tagId) {
178                    _tagId = tagId;
179            }
180    
181            @JSON
182            public long getGroupId() {
183                    return _groupId;
184            }
185    
186            public void setGroupId(long groupId) {
187                    _columnBitmask |= GROUPID_COLUMN_BITMASK;
188    
189                    if (!_setOriginalGroupId) {
190                            _setOriginalGroupId = true;
191    
192                            _originalGroupId = _groupId;
193                    }
194    
195                    _groupId = groupId;
196            }
197    
198            public long getOriginalGroupId() {
199                    return _originalGroupId;
200            }
201    
202            @JSON
203            public long getCompanyId() {
204                    return _companyId;
205            }
206    
207            public void setCompanyId(long companyId) {
208                    _companyId = companyId;
209            }
210    
211            @JSON
212            public long getUserId() {
213                    return _userId;
214            }
215    
216            public void setUserId(long userId) {
217                    _userId = userId;
218            }
219    
220            public String getUserUuid() throws SystemException {
221                    return PortalUtil.getUserValue(getUserId(), "uuid", _userUuid);
222            }
223    
224            public void setUserUuid(String userUuid) {
225                    _userUuid = userUuid;
226            }
227    
228            @JSON
229            public String getUserName() {
230                    if (_userName == null) {
231                            return StringPool.BLANK;
232                    }
233                    else {
234                            return _userName;
235                    }
236            }
237    
238            public void setUserName(String userName) {
239                    _userName = userName;
240            }
241    
242            @JSON
243            public Date getCreateDate() {
244                    return _createDate;
245            }
246    
247            public void setCreateDate(Date createDate) {
248                    _createDate = createDate;
249            }
250    
251            @JSON
252            public Date getModifiedDate() {
253                    return _modifiedDate;
254            }
255    
256            public void setModifiedDate(Date modifiedDate) {
257                    _modifiedDate = modifiedDate;
258            }
259    
260            @JSON
261            public String getName() {
262                    if (_name == null) {
263                            return StringPool.BLANK;
264                    }
265                    else {
266                            return _name;
267                    }
268            }
269    
270            public void setName(String name) {
271                    _columnBitmask = -1L;
272    
273                    if (_originalName == null) {
274                            _originalName = _name;
275                    }
276    
277                    _name = name;
278            }
279    
280            public String getOriginalName() {
281                    return GetterUtil.getString(_originalName);
282            }
283    
284            @JSON
285            public int getAssetCount() {
286                    return _assetCount;
287            }
288    
289            public void setAssetCount(int assetCount) {
290                    _assetCount = assetCount;
291            }
292    
293            public long getColumnBitmask() {
294                    return _columnBitmask;
295            }
296    
297            @Override
298            public AssetTag toEscapedModel() {
299                    if (_escapedModelProxy == null) {
300                            _escapedModelProxy = (AssetTag)ProxyUtil.newProxyInstance(_classLoader,
301                                            _escapedModelProxyInterfaces,
302                                            new AutoEscapeBeanHandler(this));
303                    }
304    
305                    return _escapedModelProxy;
306            }
307    
308            @Override
309            public ExpandoBridge getExpandoBridge() {
310                    if (_expandoBridge == null) {
311                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
312                                            AssetTag.class.getName(), getPrimaryKey());
313                    }
314    
315                    return _expandoBridge;
316            }
317    
318            @Override
319            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
320                    getExpandoBridge().setAttributes(serviceContext);
321            }
322    
323            @Override
324            public Object clone() {
325                    AssetTagImpl assetTagImpl = new AssetTagImpl();
326    
327                    assetTagImpl.setTagId(getTagId());
328                    assetTagImpl.setGroupId(getGroupId());
329                    assetTagImpl.setCompanyId(getCompanyId());
330                    assetTagImpl.setUserId(getUserId());
331                    assetTagImpl.setUserName(getUserName());
332                    assetTagImpl.setCreateDate(getCreateDate());
333                    assetTagImpl.setModifiedDate(getModifiedDate());
334                    assetTagImpl.setName(getName());
335                    assetTagImpl.setAssetCount(getAssetCount());
336    
337                    assetTagImpl.resetOriginalValues();
338    
339                    return assetTagImpl;
340            }
341    
342            public int compareTo(AssetTag assetTag) {
343                    int value = 0;
344    
345                    value = getName().compareTo(assetTag.getName());
346    
347                    if (value != 0) {
348                            return value;
349                    }
350    
351                    return 0;
352            }
353    
354            @Override
355            public boolean equals(Object obj) {
356                    if (obj == null) {
357                            return false;
358                    }
359    
360                    AssetTag assetTag = null;
361    
362                    try {
363                            assetTag = (AssetTag)obj;
364                    }
365                    catch (ClassCastException cce) {
366                            return false;
367                    }
368    
369                    long primaryKey = assetTag.getPrimaryKey();
370    
371                    if (getPrimaryKey() == primaryKey) {
372                            return true;
373                    }
374                    else {
375                            return false;
376                    }
377            }
378    
379            @Override
380            public int hashCode() {
381                    return (int)getPrimaryKey();
382            }
383    
384            @Override
385            public void resetOriginalValues() {
386                    AssetTagModelImpl assetTagModelImpl = this;
387    
388                    assetTagModelImpl._originalGroupId = assetTagModelImpl._groupId;
389    
390                    assetTagModelImpl._setOriginalGroupId = false;
391    
392                    assetTagModelImpl._originalName = assetTagModelImpl._name;
393    
394                    assetTagModelImpl._columnBitmask = 0;
395            }
396    
397            @Override
398            public CacheModel<AssetTag> toCacheModel() {
399                    AssetTagCacheModel assetTagCacheModel = new AssetTagCacheModel();
400    
401                    assetTagCacheModel.tagId = getTagId();
402    
403                    assetTagCacheModel.groupId = getGroupId();
404    
405                    assetTagCacheModel.companyId = getCompanyId();
406    
407                    assetTagCacheModel.userId = getUserId();
408    
409                    assetTagCacheModel.userName = getUserName();
410    
411                    String userName = assetTagCacheModel.userName;
412    
413                    if ((userName != null) && (userName.length() == 0)) {
414                            assetTagCacheModel.userName = null;
415                    }
416    
417                    Date createDate = getCreateDate();
418    
419                    if (createDate != null) {
420                            assetTagCacheModel.createDate = createDate.getTime();
421                    }
422                    else {
423                            assetTagCacheModel.createDate = Long.MIN_VALUE;
424                    }
425    
426                    Date modifiedDate = getModifiedDate();
427    
428                    if (modifiedDate != null) {
429                            assetTagCacheModel.modifiedDate = modifiedDate.getTime();
430                    }
431                    else {
432                            assetTagCacheModel.modifiedDate = Long.MIN_VALUE;
433                    }
434    
435                    assetTagCacheModel.name = getName();
436    
437                    String name = assetTagCacheModel.name;
438    
439                    if ((name != null) && (name.length() == 0)) {
440                            assetTagCacheModel.name = null;
441                    }
442    
443                    assetTagCacheModel.assetCount = getAssetCount();
444    
445                    return assetTagCacheModel;
446            }
447    
448            @Override
449            public String toString() {
450                    StringBundler sb = new StringBundler(19);
451    
452                    sb.append("{tagId=");
453                    sb.append(getTagId());
454                    sb.append(", groupId=");
455                    sb.append(getGroupId());
456                    sb.append(", companyId=");
457                    sb.append(getCompanyId());
458                    sb.append(", userId=");
459                    sb.append(getUserId());
460                    sb.append(", userName=");
461                    sb.append(getUserName());
462                    sb.append(", createDate=");
463                    sb.append(getCreateDate());
464                    sb.append(", modifiedDate=");
465                    sb.append(getModifiedDate());
466                    sb.append(", name=");
467                    sb.append(getName());
468                    sb.append(", assetCount=");
469                    sb.append(getAssetCount());
470                    sb.append("}");
471    
472                    return sb.toString();
473            }
474    
475            public String toXmlString() {
476                    StringBundler sb = new StringBundler(31);
477    
478                    sb.append("<model><model-name>");
479                    sb.append("com.liferay.portlet.asset.model.AssetTag");
480                    sb.append("</model-name>");
481    
482                    sb.append(
483                            "<column><column-name>tagId</column-name><column-value><![CDATA[");
484                    sb.append(getTagId());
485                    sb.append("]]></column-value></column>");
486                    sb.append(
487                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
488                    sb.append(getGroupId());
489                    sb.append("]]></column-value></column>");
490                    sb.append(
491                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
492                    sb.append(getCompanyId());
493                    sb.append("]]></column-value></column>");
494                    sb.append(
495                            "<column><column-name>userId</column-name><column-value><![CDATA[");
496                    sb.append(getUserId());
497                    sb.append("]]></column-value></column>");
498                    sb.append(
499                            "<column><column-name>userName</column-name><column-value><![CDATA[");
500                    sb.append(getUserName());
501                    sb.append("]]></column-value></column>");
502                    sb.append(
503                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
504                    sb.append(getCreateDate());
505                    sb.append("]]></column-value></column>");
506                    sb.append(
507                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
508                    sb.append(getModifiedDate());
509                    sb.append("]]></column-value></column>");
510                    sb.append(
511                            "<column><column-name>name</column-name><column-value><![CDATA[");
512                    sb.append(getName());
513                    sb.append("]]></column-value></column>");
514                    sb.append(
515                            "<column><column-name>assetCount</column-name><column-value><![CDATA[");
516                    sb.append(getAssetCount());
517                    sb.append("]]></column-value></column>");
518    
519                    sb.append("</model>");
520    
521                    return sb.toString();
522            }
523    
524            private static ClassLoader _classLoader = AssetTag.class.getClassLoader();
525            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
526                            AssetTag.class
527                    };
528            private long _tagId;
529            private long _groupId;
530            private long _originalGroupId;
531            private boolean _setOriginalGroupId;
532            private long _companyId;
533            private long _userId;
534            private String _userUuid;
535            private String _userName;
536            private Date _createDate;
537            private Date _modifiedDate;
538            private String _name;
539            private String _originalName;
540            private int _assetCount;
541            private transient ExpandoBridge _expandoBridge;
542            private long _columnBitmask;
543            private AssetTag _escapedModelProxy;
544    }