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