001    /**
002     * Copyright (c) 2000-2011 Liferay, Inc. All rights reserved.
003     *
004     * The contents of this file are subject to the terms of the Liferay Enterprise
005     * Subscription License ("License"). You may not use this file except in
006     * compliance with the License. You can obtain a copy of the License by
007     * contacting Liferay, Inc. See the License for the specific language governing
008     * permissions and limitations under the License, including but not limited to
009     * distribution rights of the Software.
010     *
011     *
012     *
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                    _createDate = createDate;
240            }
241    
242            @JSON
243            public Date getModifiedDate() {
244                    return _modifiedDate;
245            }
246    
247            public void setModifiedDate(Date modifiedDate) {
248                    _modifiedDate = modifiedDate;
249            }
250    
251            @JSON
252            public long getProductEntryId() {
253                    return _productEntryId;
254            }
255    
256            public void setProductEntryId(long productEntryId) {
257                    _columnBitmask |= PRODUCTENTRYID_COLUMN_BITMASK;
258    
259                    if (!_setOriginalProductEntryId) {
260                            _setOriginalProductEntryId = true;
261    
262                            _originalProductEntryId = _productEntryId;
263                    }
264    
265                    _productEntryId = productEntryId;
266            }
267    
268            public long getOriginalProductEntryId() {
269                    return _originalProductEntryId;
270            }
271    
272            @JSON
273            public String getVersion() {
274                    if (_version == null) {
275                            return StringPool.BLANK;
276                    }
277                    else {
278                            return _version;
279                    }
280            }
281    
282            public void setVersion(String version) {
283                    _version = version;
284            }
285    
286            @JSON
287            public String getChangeLog() {
288                    if (_changeLog == null) {
289                            return StringPool.BLANK;
290                    }
291                    else {
292                            return _changeLog;
293                    }
294            }
295    
296            public void setChangeLog(String changeLog) {
297                    _changeLog = changeLog;
298            }
299    
300            @JSON
301            public String getDownloadPageURL() {
302                    if (_downloadPageURL == null) {
303                            return StringPool.BLANK;
304                    }
305                    else {
306                            return _downloadPageURL;
307                    }
308            }
309    
310            public void setDownloadPageURL(String downloadPageURL) {
311                    _downloadPageURL = downloadPageURL;
312            }
313    
314            @JSON
315            public String getDirectDownloadURL() {
316                    if (_directDownloadURL == null) {
317                            return StringPool.BLANK;
318                    }
319                    else {
320                            return _directDownloadURL;
321                    }
322            }
323    
324            public void setDirectDownloadURL(String directDownloadURL) {
325                    _columnBitmask |= DIRECTDOWNLOADURL_COLUMN_BITMASK;
326    
327                    if (_originalDirectDownloadURL == null) {
328                            _originalDirectDownloadURL = _directDownloadURL;
329                    }
330    
331                    _directDownloadURL = directDownloadURL;
332            }
333    
334            public String getOriginalDirectDownloadURL() {
335                    return GetterUtil.getString(_originalDirectDownloadURL);
336            }
337    
338            @JSON
339            public boolean getRepoStoreArtifact() {
340                    return _repoStoreArtifact;
341            }
342    
343            public boolean isRepoStoreArtifact() {
344                    return _repoStoreArtifact;
345            }
346    
347            public void setRepoStoreArtifact(boolean repoStoreArtifact) {
348                    _repoStoreArtifact = repoStoreArtifact;
349            }
350    
351            public long getColumnBitmask() {
352                    return _columnBitmask;
353            }
354    
355            @Override
356            public SCProductVersion toEscapedModel() {
357                    if (_escapedModelProxy == null) {
358                            _escapedModelProxy = (SCProductVersion)ProxyUtil.newProxyInstance(_classLoader,
359                                            _escapedModelProxyInterfaces,
360                                            new AutoEscapeBeanHandler(this));
361                    }
362    
363                    return _escapedModelProxy;
364            }
365    
366            @Override
367            public ExpandoBridge getExpandoBridge() {
368                    if (_expandoBridge == null) {
369                            _expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
370                                            SCProductVersion.class.getName(), getPrimaryKey());
371                    }
372    
373                    return _expandoBridge;
374            }
375    
376            @Override
377            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
378                    getExpandoBridge().setAttributes(serviceContext);
379            }
380    
381            @Override
382            public Object clone() {
383                    SCProductVersionImpl scProductVersionImpl = new SCProductVersionImpl();
384    
385                    scProductVersionImpl.setProductVersionId(getProductVersionId());
386                    scProductVersionImpl.setCompanyId(getCompanyId());
387                    scProductVersionImpl.setUserId(getUserId());
388                    scProductVersionImpl.setUserName(getUserName());
389                    scProductVersionImpl.setCreateDate(getCreateDate());
390                    scProductVersionImpl.setModifiedDate(getModifiedDate());
391                    scProductVersionImpl.setProductEntryId(getProductEntryId());
392                    scProductVersionImpl.setVersion(getVersion());
393                    scProductVersionImpl.setChangeLog(getChangeLog());
394                    scProductVersionImpl.setDownloadPageURL(getDownloadPageURL());
395                    scProductVersionImpl.setDirectDownloadURL(getDirectDownloadURL());
396                    scProductVersionImpl.setRepoStoreArtifact(getRepoStoreArtifact());
397    
398                    scProductVersionImpl.resetOriginalValues();
399    
400                    return scProductVersionImpl;
401            }
402    
403            public int compareTo(SCProductVersion scProductVersion) {
404                    int value = 0;
405    
406                    value = DateUtil.compareTo(getCreateDate(),
407                                    scProductVersion.getCreateDate());
408    
409                    value = value * -1;
410    
411                    if (value != 0) {
412                            return value;
413                    }
414    
415                    return 0;
416            }
417    
418            @Override
419            public boolean equals(Object obj) {
420                    if (obj == null) {
421                            return false;
422                    }
423    
424                    SCProductVersion scProductVersion = null;
425    
426                    try {
427                            scProductVersion = (SCProductVersion)obj;
428                    }
429                    catch (ClassCastException cce) {
430                            return false;
431                    }
432    
433                    long primaryKey = scProductVersion.getPrimaryKey();
434    
435                    if (getPrimaryKey() == primaryKey) {
436                            return true;
437                    }
438                    else {
439                            return false;
440                    }
441            }
442    
443            @Override
444            public int hashCode() {
445                    return (int)getPrimaryKey();
446            }
447    
448            @Override
449            public void resetOriginalValues() {
450                    SCProductVersionModelImpl scProductVersionModelImpl = this;
451    
452                    scProductVersionModelImpl._originalProductEntryId = scProductVersionModelImpl._productEntryId;
453    
454                    scProductVersionModelImpl._setOriginalProductEntryId = false;
455    
456                    scProductVersionModelImpl._originalDirectDownloadURL = scProductVersionModelImpl._directDownloadURL;
457    
458                    scProductVersionModelImpl._columnBitmask = 0;
459            }
460    
461            @Override
462            public CacheModel<SCProductVersion> toCacheModel() {
463                    SCProductVersionCacheModel scProductVersionCacheModel = new SCProductVersionCacheModel();
464    
465                    scProductVersionCacheModel.productVersionId = getProductVersionId();
466    
467                    scProductVersionCacheModel.companyId = getCompanyId();
468    
469                    scProductVersionCacheModel.userId = getUserId();
470    
471                    scProductVersionCacheModel.userName = getUserName();
472    
473                    String userName = scProductVersionCacheModel.userName;
474    
475                    if ((userName != null) && (userName.length() == 0)) {
476                            scProductVersionCacheModel.userName = null;
477                    }
478    
479                    Date createDate = getCreateDate();
480    
481                    if (createDate != null) {
482                            scProductVersionCacheModel.createDate = createDate.getTime();
483                    }
484                    else {
485                            scProductVersionCacheModel.createDate = Long.MIN_VALUE;
486                    }
487    
488                    Date modifiedDate = getModifiedDate();
489    
490                    if (modifiedDate != null) {
491                            scProductVersionCacheModel.modifiedDate = modifiedDate.getTime();
492                    }
493                    else {
494                            scProductVersionCacheModel.modifiedDate = Long.MIN_VALUE;
495                    }
496    
497                    scProductVersionCacheModel.productEntryId = getProductEntryId();
498    
499                    scProductVersionCacheModel.version = getVersion();
500    
501                    String version = scProductVersionCacheModel.version;
502    
503                    if ((version != null) && (version.length() == 0)) {
504                            scProductVersionCacheModel.version = null;
505                    }
506    
507                    scProductVersionCacheModel.changeLog = getChangeLog();
508    
509                    String changeLog = scProductVersionCacheModel.changeLog;
510    
511                    if ((changeLog != null) && (changeLog.length() == 0)) {
512                            scProductVersionCacheModel.changeLog = null;
513                    }
514    
515                    scProductVersionCacheModel.downloadPageURL = getDownloadPageURL();
516    
517                    String downloadPageURL = scProductVersionCacheModel.downloadPageURL;
518    
519                    if ((downloadPageURL != null) && (downloadPageURL.length() == 0)) {
520                            scProductVersionCacheModel.downloadPageURL = null;
521                    }
522    
523                    scProductVersionCacheModel.directDownloadURL = getDirectDownloadURL();
524    
525                    String directDownloadURL = scProductVersionCacheModel.directDownloadURL;
526    
527                    if ((directDownloadURL != null) && (directDownloadURL.length() == 0)) {
528                            scProductVersionCacheModel.directDownloadURL = null;
529                    }
530    
531                    scProductVersionCacheModel.repoStoreArtifact = getRepoStoreArtifact();
532    
533                    return scProductVersionCacheModel;
534            }
535    
536            @Override
537            public String toString() {
538                    StringBundler sb = new StringBundler(25);
539    
540                    sb.append("{productVersionId=");
541                    sb.append(getProductVersionId());
542                    sb.append(", companyId=");
543                    sb.append(getCompanyId());
544                    sb.append(", userId=");
545                    sb.append(getUserId());
546                    sb.append(", userName=");
547                    sb.append(getUserName());
548                    sb.append(", createDate=");
549                    sb.append(getCreateDate());
550                    sb.append(", modifiedDate=");
551                    sb.append(getModifiedDate());
552                    sb.append(", productEntryId=");
553                    sb.append(getProductEntryId());
554                    sb.append(", version=");
555                    sb.append(getVersion());
556                    sb.append(", changeLog=");
557                    sb.append(getChangeLog());
558                    sb.append(", downloadPageURL=");
559                    sb.append(getDownloadPageURL());
560                    sb.append(", directDownloadURL=");
561                    sb.append(getDirectDownloadURL());
562                    sb.append(", repoStoreArtifact=");
563                    sb.append(getRepoStoreArtifact());
564                    sb.append("}");
565    
566                    return sb.toString();
567            }
568    
569            public String toXmlString() {
570                    StringBundler sb = new StringBundler(40);
571    
572                    sb.append("<model><model-name>");
573                    sb.append("com.liferay.portlet.softwarecatalog.model.SCProductVersion");
574                    sb.append("</model-name>");
575    
576                    sb.append(
577                            "<column><column-name>productVersionId</column-name><column-value><![CDATA[");
578                    sb.append(getProductVersionId());
579                    sb.append("]]></column-value></column>");
580                    sb.append(
581                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
582                    sb.append(getCompanyId());
583                    sb.append("]]></column-value></column>");
584                    sb.append(
585                            "<column><column-name>userId</column-name><column-value><![CDATA[");
586                    sb.append(getUserId());
587                    sb.append("]]></column-value></column>");
588                    sb.append(
589                            "<column><column-name>userName</column-name><column-value><![CDATA[");
590                    sb.append(getUserName());
591                    sb.append("]]></column-value></column>");
592                    sb.append(
593                            "<column><column-name>createDate</column-name><column-value><![CDATA[");
594                    sb.append(getCreateDate());
595                    sb.append("]]></column-value></column>");
596                    sb.append(
597                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
598                    sb.append(getModifiedDate());
599                    sb.append("]]></column-value></column>");
600                    sb.append(
601                            "<column><column-name>productEntryId</column-name><column-value><![CDATA[");
602                    sb.append(getProductEntryId());
603                    sb.append("]]></column-value></column>");
604                    sb.append(
605                            "<column><column-name>version</column-name><column-value><![CDATA[");
606                    sb.append(getVersion());
607                    sb.append("]]></column-value></column>");
608                    sb.append(
609                            "<column><column-name>changeLog</column-name><column-value><![CDATA[");
610                    sb.append(getChangeLog());
611                    sb.append("]]></column-value></column>");
612                    sb.append(
613                            "<column><column-name>downloadPageURL</column-name><column-value><![CDATA[");
614                    sb.append(getDownloadPageURL());
615                    sb.append("]]></column-value></column>");
616                    sb.append(
617                            "<column><column-name>directDownloadURL</column-name><column-value><![CDATA[");
618                    sb.append(getDirectDownloadURL());
619                    sb.append("]]></column-value></column>");
620                    sb.append(
621                            "<column><column-name>repoStoreArtifact</column-name><column-value><![CDATA[");
622                    sb.append(getRepoStoreArtifact());
623                    sb.append("]]></column-value></column>");
624    
625                    sb.append("</model>");
626    
627                    return sb.toString();
628            }
629    
630            private static ClassLoader _classLoader = SCProductVersion.class.getClassLoader();
631            private static Class<?>[] _escapedModelProxyInterfaces = new Class[] {
632                            SCProductVersion.class
633                    };
634            private long _productVersionId;
635            private long _companyId;
636            private long _userId;
637            private String _userUuid;
638            private String _userName;
639            private Date _createDate;
640            private Date _modifiedDate;
641            private long _productEntryId;
642            private long _originalProductEntryId;
643            private boolean _setOriginalProductEntryId;
644            private String _version;
645            private String _changeLog;
646            private String _downloadPageURL;
647            private String _directDownloadURL;
648            private String _originalDirectDownloadURL;
649            private boolean _repoStoreArtifact;
650            private transient ExpandoBridge _expandoBridge;
651            private long _columnBitmask;
652            private SCProductVersion _escapedModelProxy;
653    }