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