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 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 AssetTag
058     * @see 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 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            public boolean hasSetModifiedDate() {
375                    return _setModifiedDate;
376            }
377    
378            @Override
379            public void setModifiedDate(Date modifiedDate) {
380                    _setModifiedDate = true;
381    
382                    _modifiedDate = modifiedDate;
383            }
384    
385            @JSON
386            @Override
387            public String getName() {
388                    if (_name == null) {
389                            return StringPool.BLANK;
390                    }
391                    else {
392                            return _name;
393                    }
394            }
395    
396            @Override
397            public void setName(String name) {
398                    _columnBitmask = -1L;
399    
400                    if (_originalName == null) {
401                            _originalName = _name;
402                    }
403    
404                    _name = name;
405            }
406    
407            public String getOriginalName() {
408                    return GetterUtil.getString(_originalName);
409            }
410    
411            @JSON
412            @Override
413            public int getAssetCount() {
414                    return _assetCount;
415            }
416    
417            @Override
418            public void setAssetCount(int assetCount) {
419                    _assetCount = assetCount;
420            }
421    
422            public long getColumnBitmask() {
423                    return _columnBitmask;
424            }
425    
426            @Override
427            public ExpandoBridge getExpandoBridge() {
428                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
429                            AssetTag.class.getName(), getPrimaryKey());
430            }
431    
432            @Override
433            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
434                    ExpandoBridge expandoBridge = getExpandoBridge();
435    
436                    expandoBridge.setAttributes(serviceContext);
437            }
438    
439            @Override
440            public AssetTag toEscapedModel() {
441                    if (_escapedModel == null) {
442                            _escapedModel = (AssetTag)ProxyUtil.newProxyInstance(_classLoader,
443                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
444                    }
445    
446                    return _escapedModel;
447            }
448    
449            @Override
450            public Object clone() {
451                    AssetTagImpl assetTagImpl = new AssetTagImpl();
452    
453                    assetTagImpl.setTagId(getTagId());
454                    assetTagImpl.setGroupId(getGroupId());
455                    assetTagImpl.setCompanyId(getCompanyId());
456                    assetTagImpl.setUserId(getUserId());
457                    assetTagImpl.setUserName(getUserName());
458                    assetTagImpl.setCreateDate(getCreateDate());
459                    assetTagImpl.setModifiedDate(getModifiedDate());
460                    assetTagImpl.setName(getName());
461                    assetTagImpl.setAssetCount(getAssetCount());
462    
463                    assetTagImpl.resetOriginalValues();
464    
465                    return assetTagImpl;
466            }
467    
468            @Override
469            public int compareTo(AssetTag assetTag) {
470                    int value = 0;
471    
472                    value = getName().compareTo(assetTag.getName());
473    
474                    if (value != 0) {
475                            return value;
476                    }
477    
478                    return 0;
479            }
480    
481            @Override
482            public boolean equals(Object obj) {
483                    if (this == obj) {
484                            return true;
485                    }
486    
487                    if (!(obj instanceof AssetTag)) {
488                            return false;
489                    }
490    
491                    AssetTag assetTag = (AssetTag)obj;
492    
493                    long primaryKey = assetTag.getPrimaryKey();
494    
495                    if (getPrimaryKey() == primaryKey) {
496                            return true;
497                    }
498                    else {
499                            return false;
500                    }
501            }
502    
503            @Override
504            public int hashCode() {
505                    return (int)getPrimaryKey();
506            }
507    
508            @Override
509            public boolean isEntityCacheEnabled() {
510                    return ENTITY_CACHE_ENABLED;
511            }
512    
513            @Override
514            public boolean isFinderCacheEnabled() {
515                    return FINDER_CACHE_ENABLED;
516            }
517    
518            @Override
519            public void resetOriginalValues() {
520                    AssetTagModelImpl assetTagModelImpl = this;
521    
522                    assetTagModelImpl._originalGroupId = assetTagModelImpl._groupId;
523    
524                    assetTagModelImpl._setOriginalGroupId = false;
525    
526                    assetTagModelImpl._setModifiedDate = false;
527    
528                    assetTagModelImpl._originalName = assetTagModelImpl._name;
529    
530                    assetTagModelImpl._columnBitmask = 0;
531            }
532    
533            @Override
534            public CacheModel<AssetTag> toCacheModel() {
535                    AssetTagCacheModel assetTagCacheModel = new AssetTagCacheModel();
536    
537                    assetTagCacheModel.tagId = getTagId();
538    
539                    assetTagCacheModel.groupId = getGroupId();
540    
541                    assetTagCacheModel.companyId = getCompanyId();
542    
543                    assetTagCacheModel.userId = getUserId();
544    
545                    assetTagCacheModel.userName = getUserName();
546    
547                    String userName = assetTagCacheModel.userName;
548    
549                    if ((userName != null) && (userName.length() == 0)) {
550                            assetTagCacheModel.userName = null;
551                    }
552    
553                    Date createDate = getCreateDate();
554    
555                    if (createDate != null) {
556                            assetTagCacheModel.createDate = createDate.getTime();
557                    }
558                    else {
559                            assetTagCacheModel.createDate = Long.MIN_VALUE;
560                    }
561    
562                    Date modifiedDate = getModifiedDate();
563    
564                    if (modifiedDate != null) {
565                            assetTagCacheModel.modifiedDate = modifiedDate.getTime();
566                    }
567                    else {
568                            assetTagCacheModel.modifiedDate = Long.MIN_VALUE;
569                    }
570    
571                    assetTagCacheModel.name = getName();
572    
573                    String name = assetTagCacheModel.name;
574    
575                    if ((name != null) && (name.length() == 0)) {
576                            assetTagCacheModel.name = null;
577                    }
578    
579                    assetTagCacheModel.assetCount = getAssetCount();
580    
581                    return assetTagCacheModel;
582            }
583    
584            @Override
585            public String toString() {
586                    StringBundler sb = new StringBundler(19);
587    
588                    sb.append("{tagId=");
589                    sb.append(getTagId());
590                    sb.append(", groupId=");
591                    sb.append(getGroupId());
592                    sb.append(", companyId=");
593                    sb.append(getCompanyId());
594                    sb.append(", userId=");
595                    sb.append(getUserId());
596                    sb.append(", userName=");
597                    sb.append(getUserName());
598                    sb.append(", createDate=");
599                    sb.append(getCreateDate());
600                    sb.append(", modifiedDate=");
601                    sb.append(getModifiedDate());
602                    sb.append(", name=");
603                    sb.append(getName());
604                    sb.append(", assetCount=");
605                    sb.append(getAssetCount());
606                    sb.append("}");
607    
608                    return sb.toString();
609            }
610    
611            @Override
612            public String toXmlString() {
613                    StringBundler sb = new StringBundler(31);
614    
615                    sb.append("<model><model-name>");
616                    sb.append("com.liferay.portlet.asset.model.AssetTag");
617                    sb.append("</model-name>");
618    
619                    sb.append(
620                            "<column><column-name>tagId</column-name><column-value><![CDATA[");
621                    sb.append(getTagId());
622                    sb.append("]]></column-value></column>");
623                    sb.append(
624                            "<column><column-name>groupId</column-name><column-value><![CDATA[");
625                    sb.append(getGroupId());
626                    sb.append("]]></column-value></column>");
627                    sb.append(
628                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
629                    sb.append(getCompanyId());
630                    sb.append("]]></column-value></column>");
631                    sb.append(
632                            "<column><column-name>userId</column-name><column-value><![CDATA[");
633                    sb.append(getUserId());
634                    sb.append("]]></column-value></column>");
635                    sb.append(
636                            "<column><column-name>userName</column-name><column-value><![CDATA[");
637                    sb.append(getUserName());
638                    sb.append("]]></column-value></column>");
639                    sb.append(
640                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
641                    sb.append(getCreateDate());
642                    sb.append("]]></column-value></column>");
643                    sb.append(
644                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
645                    sb.append(getModifiedDate());
646                    sb.append("]]></column-value></column>");
647                    sb.append(
648                            "<column><column-name>name</column-name><column-value><![CDATA[");
649                    sb.append(getName());
650                    sb.append("]]></column-value></column>");
651                    sb.append(
652                            "<column><column-name>assetCount</column-name><column-value><![CDATA[");
653                    sb.append(getAssetCount());
654                    sb.append("]]></column-value></column>");
655    
656                    sb.append("</model>");
657    
658                    return sb.toString();
659            }
660    
661            private static final ClassLoader _classLoader = AssetTag.class.getClassLoader();
662            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
663                            AssetTag.class
664                    };
665            private long _tagId;
666            private long _groupId;
667            private long _originalGroupId;
668            private boolean _setOriginalGroupId;
669            private long _companyId;
670            private long _userId;
671            private String _userName;
672            private Date _createDate;
673            private Date _modifiedDate;
674            private boolean _setModifiedDate;
675            private String _name;
676            private String _originalName;
677            private int _assetCount;
678            private long _columnBitmask;
679            private AssetTag _escapedModel;
680    }