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