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.portal.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.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.User;
027    import com.liferay.portal.model.UserTracker;
028    import com.liferay.portal.model.UserTrackerModel;
029    import com.liferay.portal.service.ServiceContext;
030    import com.liferay.portal.service.UserLocalServiceUtil;
031    
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.Date;
040    import java.util.HashMap;
041    import java.util.Map;
042    
043    /**
044     * The base model implementation for the UserTracker service. Represents a row in the "UserTracker" database table, with each column mapped to a property of this class.
045     *
046     * <p>
047     * This implementation and its corresponding interface {@link UserTrackerModel} exist only as a container for the default property accessors generated by ServiceBuilder. Helper methods and all application logic should be put in {@link UserTrackerImpl}.
048     * </p>
049     *
050     * @author Brian Wing Shun Chan
051     * @see UserTrackerImpl
052     * @see UserTracker
053     * @see UserTrackerModel
054     * @generated
055     */
056    @ProviderType
057    public class UserTrackerModelImpl extends BaseModelImpl<UserTracker>
058            implements UserTrackerModel {
059            /*
060             * NOTE FOR DEVELOPERS:
061             *
062             * Never modify or reference this class directly. All methods that expect a user tracker model instance should use the {@link UserTracker} interface instead.
063             */
064            public static final String TABLE_NAME = "UserTracker";
065            public static final Object[][] TABLE_COLUMNS = {
066                            { "mvccVersion", Types.BIGINT },
067                            { "userTrackerId", Types.BIGINT },
068                            { "companyId", Types.BIGINT },
069                            { "userId", Types.BIGINT },
070                            { "modifiedDate", Types.TIMESTAMP },
071                            { "sessionId", Types.VARCHAR },
072                            { "remoteAddr", Types.VARCHAR },
073                            { "remoteHost", Types.VARCHAR },
074                            { "userAgent", Types.VARCHAR }
075                    };
076            public static final String TABLE_SQL_CREATE = "create table UserTracker (mvccVersion LONG default 0,userTrackerId LONG not null primary key,companyId LONG,userId LONG,modifiedDate DATE null,sessionId VARCHAR(200) null,remoteAddr VARCHAR(75) null,remoteHost VARCHAR(75) null,userAgent VARCHAR(200) null)";
077            public static final String TABLE_SQL_DROP = "drop table UserTracker";
078            public static final String ORDER_BY_JPQL = " ORDER BY userTracker.userTrackerId ASC";
079            public static final String ORDER_BY_SQL = " ORDER BY UserTracker.userTrackerId ASC";
080            public static final String DATA_SOURCE = "liferayDataSource";
081            public static final String SESSION_FACTORY = "liferaySessionFactory";
082            public static final String TX_MANAGER = "liferayTransactionManager";
083            public static final boolean ENTITY_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
084                                    "value.object.entity.cache.enabled.com.liferay.portal.model.UserTracker"),
085                            true);
086            public static final boolean FINDER_CACHE_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
087                                    "value.object.finder.cache.enabled.com.liferay.portal.model.UserTracker"),
088                            true);
089            public static final boolean COLUMN_BITMASK_ENABLED = GetterUtil.getBoolean(com.liferay.portal.util.PropsUtil.get(
090                                    "value.object.column.bitmask.enabled.com.liferay.portal.model.UserTracker"),
091                            true);
092            public static final long COMPANYID_COLUMN_BITMASK = 1L;
093            public static final long SESSIONID_COLUMN_BITMASK = 2L;
094            public static final long USERID_COLUMN_BITMASK = 4L;
095            public static final long USERTRACKERID_COLUMN_BITMASK = 8L;
096            public static final long LOCK_EXPIRATION_TIME = GetterUtil.getLong(com.liferay.portal.util.PropsUtil.get(
097                                    "lock.expiration.time.com.liferay.portal.model.UserTracker"));
098    
099            public UserTrackerModelImpl() {
100            }
101    
102            @Override
103            public long getPrimaryKey() {
104                    return _userTrackerId;
105            }
106    
107            @Override
108            public void setPrimaryKey(long primaryKey) {
109                    setUserTrackerId(primaryKey);
110            }
111    
112            @Override
113            public Serializable getPrimaryKeyObj() {
114                    return _userTrackerId;
115            }
116    
117            @Override
118            public void setPrimaryKeyObj(Serializable primaryKeyObj) {
119                    setPrimaryKey(((Long)primaryKeyObj).longValue());
120            }
121    
122            @Override
123            public Class<?> getModelClass() {
124                    return UserTracker.class;
125            }
126    
127            @Override
128            public String getModelClassName() {
129                    return UserTracker.class.getName();
130            }
131    
132            @Override
133            public Map<String, Object> getModelAttributes() {
134                    Map<String, Object> attributes = new HashMap<String, Object>();
135    
136                    attributes.put("mvccVersion", getMvccVersion());
137                    attributes.put("userTrackerId", getUserTrackerId());
138                    attributes.put("companyId", getCompanyId());
139                    attributes.put("userId", getUserId());
140                    attributes.put("modifiedDate", getModifiedDate());
141                    attributes.put("sessionId", getSessionId());
142                    attributes.put("remoteAddr", getRemoteAddr());
143                    attributes.put("remoteHost", getRemoteHost());
144                    attributes.put("userAgent", getUserAgent());
145    
146                    attributes.put("entityCacheEnabled", isEntityCacheEnabled());
147                    attributes.put("finderCacheEnabled", isFinderCacheEnabled());
148    
149                    return attributes;
150            }
151    
152            @Override
153            public void setModelAttributes(Map<String, Object> attributes) {
154                    Long mvccVersion = (Long)attributes.get("mvccVersion");
155    
156                    if (mvccVersion != null) {
157                            setMvccVersion(mvccVersion);
158                    }
159    
160                    Long userTrackerId = (Long)attributes.get("userTrackerId");
161    
162                    if (userTrackerId != null) {
163                            setUserTrackerId(userTrackerId);
164                    }
165    
166                    Long companyId = (Long)attributes.get("companyId");
167    
168                    if (companyId != null) {
169                            setCompanyId(companyId);
170                    }
171    
172                    Long userId = (Long)attributes.get("userId");
173    
174                    if (userId != null) {
175                            setUserId(userId);
176                    }
177    
178                    Date modifiedDate = (Date)attributes.get("modifiedDate");
179    
180                    if (modifiedDate != null) {
181                            setModifiedDate(modifiedDate);
182                    }
183    
184                    String sessionId = (String)attributes.get("sessionId");
185    
186                    if (sessionId != null) {
187                            setSessionId(sessionId);
188                    }
189    
190                    String remoteAddr = (String)attributes.get("remoteAddr");
191    
192                    if (remoteAddr != null) {
193                            setRemoteAddr(remoteAddr);
194                    }
195    
196                    String remoteHost = (String)attributes.get("remoteHost");
197    
198                    if (remoteHost != null) {
199                            setRemoteHost(remoteHost);
200                    }
201    
202                    String userAgent = (String)attributes.get("userAgent");
203    
204                    if (userAgent != null) {
205                            setUserAgent(userAgent);
206                    }
207            }
208    
209            @Override
210            public long getMvccVersion() {
211                    return _mvccVersion;
212            }
213    
214            @Override
215            public void setMvccVersion(long mvccVersion) {
216                    _mvccVersion = mvccVersion;
217            }
218    
219            @Override
220            public long getUserTrackerId() {
221                    return _userTrackerId;
222            }
223    
224            @Override
225            public void setUserTrackerId(long userTrackerId) {
226                    _userTrackerId = userTrackerId;
227            }
228    
229            @Override
230            public long getCompanyId() {
231                    return _companyId;
232            }
233    
234            @Override
235            public void setCompanyId(long companyId) {
236                    _columnBitmask |= COMPANYID_COLUMN_BITMASK;
237    
238                    if (!_setOriginalCompanyId) {
239                            _setOriginalCompanyId = true;
240    
241                            _originalCompanyId = _companyId;
242                    }
243    
244                    _companyId = companyId;
245            }
246    
247            public long getOriginalCompanyId() {
248                    return _originalCompanyId;
249            }
250    
251            @Override
252            public long getUserId() {
253                    return _userId;
254            }
255    
256            @Override
257            public void setUserId(long userId) {
258                    _columnBitmask |= USERID_COLUMN_BITMASK;
259    
260                    if (!_setOriginalUserId) {
261                            _setOriginalUserId = true;
262    
263                            _originalUserId = _userId;
264                    }
265    
266                    _userId = userId;
267            }
268    
269            @Override
270            public String getUserUuid() {
271                    try {
272                            User user = UserLocalServiceUtil.getUserById(getUserId());
273    
274                            return user.getUuid();
275                    }
276                    catch (PortalException pe) {
277                            return StringPool.BLANK;
278                    }
279            }
280    
281            @Override
282            public void setUserUuid(String userUuid) {
283            }
284    
285            public long getOriginalUserId() {
286                    return _originalUserId;
287            }
288    
289            @Override
290            public Date getModifiedDate() {
291                    return _modifiedDate;
292            }
293    
294            @Override
295            public void setModifiedDate(Date modifiedDate) {
296                    _modifiedDate = modifiedDate;
297            }
298    
299            @Override
300            public String getSessionId() {
301                    if (_sessionId == null) {
302                            return StringPool.BLANK;
303                    }
304                    else {
305                            return _sessionId;
306                    }
307            }
308    
309            @Override
310            public void setSessionId(String sessionId) {
311                    _columnBitmask |= SESSIONID_COLUMN_BITMASK;
312    
313                    if (_originalSessionId == null) {
314                            _originalSessionId = _sessionId;
315                    }
316    
317                    _sessionId = sessionId;
318            }
319    
320            public String getOriginalSessionId() {
321                    return GetterUtil.getString(_originalSessionId);
322            }
323    
324            @Override
325            public String getRemoteAddr() {
326                    if (_remoteAddr == null) {
327                            return StringPool.BLANK;
328                    }
329                    else {
330                            return _remoteAddr;
331                    }
332            }
333    
334            @Override
335            public void setRemoteAddr(String remoteAddr) {
336                    _remoteAddr = remoteAddr;
337            }
338    
339            @Override
340            public String getRemoteHost() {
341                    if (_remoteHost == null) {
342                            return StringPool.BLANK;
343                    }
344                    else {
345                            return _remoteHost;
346                    }
347            }
348    
349            @Override
350            public void setRemoteHost(String remoteHost) {
351                    _remoteHost = remoteHost;
352            }
353    
354            @Override
355            public String getUserAgent() {
356                    if (_userAgent == null) {
357                            return StringPool.BLANK;
358                    }
359                    else {
360                            return _userAgent;
361                    }
362            }
363    
364            @Override
365            public void setUserAgent(String userAgent) {
366                    _userAgent = userAgent;
367            }
368    
369            public long getColumnBitmask() {
370                    return _columnBitmask;
371            }
372    
373            @Override
374            public ExpandoBridge getExpandoBridge() {
375                    return ExpandoBridgeFactoryUtil.getExpandoBridge(getCompanyId(),
376                            UserTracker.class.getName(), getPrimaryKey());
377            }
378    
379            @Override
380            public void setExpandoBridgeAttributes(ServiceContext serviceContext) {
381                    ExpandoBridge expandoBridge = getExpandoBridge();
382    
383                    expandoBridge.setAttributes(serviceContext);
384            }
385    
386            @Override
387            public UserTracker toEscapedModel() {
388                    if (_escapedModel == null) {
389                            _escapedModel = (UserTracker)ProxyUtil.newProxyInstance(_classLoader,
390                                            _escapedModelInterfaces, new AutoEscapeBeanHandler(this));
391                    }
392    
393                    return _escapedModel;
394            }
395    
396            @Override
397            public Object clone() {
398                    UserTrackerImpl userTrackerImpl = new UserTrackerImpl();
399    
400                    userTrackerImpl.setMvccVersion(getMvccVersion());
401                    userTrackerImpl.setUserTrackerId(getUserTrackerId());
402                    userTrackerImpl.setCompanyId(getCompanyId());
403                    userTrackerImpl.setUserId(getUserId());
404                    userTrackerImpl.setModifiedDate(getModifiedDate());
405                    userTrackerImpl.setSessionId(getSessionId());
406                    userTrackerImpl.setRemoteAddr(getRemoteAddr());
407                    userTrackerImpl.setRemoteHost(getRemoteHost());
408                    userTrackerImpl.setUserAgent(getUserAgent());
409    
410                    userTrackerImpl.resetOriginalValues();
411    
412                    return userTrackerImpl;
413            }
414    
415            @Override
416            public int compareTo(UserTracker userTracker) {
417                    long primaryKey = userTracker.getPrimaryKey();
418    
419                    if (getPrimaryKey() < primaryKey) {
420                            return -1;
421                    }
422                    else if (getPrimaryKey() > primaryKey) {
423                            return 1;
424                    }
425                    else {
426                            return 0;
427                    }
428            }
429    
430            @Override
431            public boolean equals(Object obj) {
432                    if (this == obj) {
433                            return true;
434                    }
435    
436                    if (!(obj instanceof UserTracker)) {
437                            return false;
438                    }
439    
440                    UserTracker userTracker = (UserTracker)obj;
441    
442                    long primaryKey = userTracker.getPrimaryKey();
443    
444                    if (getPrimaryKey() == primaryKey) {
445                            return true;
446                    }
447                    else {
448                            return false;
449                    }
450            }
451    
452            @Override
453            public int hashCode() {
454                    return (int)getPrimaryKey();
455            }
456    
457            @Override
458            public boolean isEntityCacheEnabled() {
459                    return ENTITY_CACHE_ENABLED;
460            }
461    
462            @Override
463            public boolean isFinderCacheEnabled() {
464                    return FINDER_CACHE_ENABLED;
465            }
466    
467            @Override
468            public void resetOriginalValues() {
469                    UserTrackerModelImpl userTrackerModelImpl = this;
470    
471                    userTrackerModelImpl._originalCompanyId = userTrackerModelImpl._companyId;
472    
473                    userTrackerModelImpl._setOriginalCompanyId = false;
474    
475                    userTrackerModelImpl._originalUserId = userTrackerModelImpl._userId;
476    
477                    userTrackerModelImpl._setOriginalUserId = false;
478    
479                    userTrackerModelImpl._originalSessionId = userTrackerModelImpl._sessionId;
480    
481                    userTrackerModelImpl._columnBitmask = 0;
482            }
483    
484            @Override
485            public CacheModel<UserTracker> toCacheModel() {
486                    UserTrackerCacheModel userTrackerCacheModel = new UserTrackerCacheModel();
487    
488                    userTrackerCacheModel.mvccVersion = getMvccVersion();
489    
490                    userTrackerCacheModel.userTrackerId = getUserTrackerId();
491    
492                    userTrackerCacheModel.companyId = getCompanyId();
493    
494                    userTrackerCacheModel.userId = getUserId();
495    
496                    Date modifiedDate = getModifiedDate();
497    
498                    if (modifiedDate != null) {
499                            userTrackerCacheModel.modifiedDate = modifiedDate.getTime();
500                    }
501                    else {
502                            userTrackerCacheModel.modifiedDate = Long.MIN_VALUE;
503                    }
504    
505                    userTrackerCacheModel.sessionId = getSessionId();
506    
507                    String sessionId = userTrackerCacheModel.sessionId;
508    
509                    if ((sessionId != null) && (sessionId.length() == 0)) {
510                            userTrackerCacheModel.sessionId = null;
511                    }
512    
513                    userTrackerCacheModel.remoteAddr = getRemoteAddr();
514    
515                    String remoteAddr = userTrackerCacheModel.remoteAddr;
516    
517                    if ((remoteAddr != null) && (remoteAddr.length() == 0)) {
518                            userTrackerCacheModel.remoteAddr = null;
519                    }
520    
521                    userTrackerCacheModel.remoteHost = getRemoteHost();
522    
523                    String remoteHost = userTrackerCacheModel.remoteHost;
524    
525                    if ((remoteHost != null) && (remoteHost.length() == 0)) {
526                            userTrackerCacheModel.remoteHost = null;
527                    }
528    
529                    userTrackerCacheModel.userAgent = getUserAgent();
530    
531                    String userAgent = userTrackerCacheModel.userAgent;
532    
533                    if ((userAgent != null) && (userAgent.length() == 0)) {
534                            userTrackerCacheModel.userAgent = null;
535                    }
536    
537                    return userTrackerCacheModel;
538            }
539    
540            @Override
541            public String toString() {
542                    StringBundler sb = new StringBundler(19);
543    
544                    sb.append("{mvccVersion=");
545                    sb.append(getMvccVersion());
546                    sb.append(", userTrackerId=");
547                    sb.append(getUserTrackerId());
548                    sb.append(", companyId=");
549                    sb.append(getCompanyId());
550                    sb.append(", userId=");
551                    sb.append(getUserId());
552                    sb.append(", modifiedDate=");
553                    sb.append(getModifiedDate());
554                    sb.append(", sessionId=");
555                    sb.append(getSessionId());
556                    sb.append(", remoteAddr=");
557                    sb.append(getRemoteAddr());
558                    sb.append(", remoteHost=");
559                    sb.append(getRemoteHost());
560                    sb.append(", userAgent=");
561                    sb.append(getUserAgent());
562                    sb.append("}");
563    
564                    return sb.toString();
565            }
566    
567            @Override
568            public String toXmlString() {
569                    StringBundler sb = new StringBundler(31);
570    
571                    sb.append("<model><model-name>");
572                    sb.append("com.liferay.portal.model.UserTracker");
573                    sb.append("</model-name>");
574    
575                    sb.append(
576                            "<column><column-name>mvccVersion</column-name><column-value><![CDATA[");
577                    sb.append(getMvccVersion());
578                    sb.append("]]></column-value></column>");
579                    sb.append(
580                            "<column><column-name>userTrackerId</column-name><column-value><![CDATA[");
581                    sb.append(getUserTrackerId());
582                    sb.append("]]></column-value></column>");
583                    sb.append(
584                            "<column><column-name>companyId</column-name><column-value><![CDATA[");
585                    sb.append(getCompanyId());
586                    sb.append("]]></column-value></column>");
587                    sb.append(
588                            "<column><column-name>userId</column-name><column-value><![CDATA[");
589                    sb.append(getUserId());
590                    sb.append("]]></column-value></column>");
591                    sb.append(
592                            "<column><column-name>modifiedDate</column-name><column-value><![CDATA[");
593                    sb.append(getModifiedDate());
594                    sb.append("]]></column-value></column>");
595                    sb.append(
596                            "<column><column-name>sessionId</column-name><column-value><![CDATA[");
597                    sb.append(getSessionId());
598                    sb.append("]]></column-value></column>");
599                    sb.append(
600                            "<column><column-name>remoteAddr</column-name><column-value><![CDATA[");
601                    sb.append(getRemoteAddr());
602                    sb.append("]]></column-value></column>");
603                    sb.append(
604                            "<column><column-name>remoteHost</column-name><column-value><![CDATA[");
605                    sb.append(getRemoteHost());
606                    sb.append("]]></column-value></column>");
607                    sb.append(
608                            "<column><column-name>userAgent</column-name><column-value><![CDATA[");
609                    sb.append(getUserAgent());
610                    sb.append("]]></column-value></column>");
611    
612                    sb.append("</model>");
613    
614                    return sb.toString();
615            }
616    
617            private static final ClassLoader _classLoader = UserTracker.class.getClassLoader();
618            private static final Class<?>[] _escapedModelInterfaces = new Class[] {
619                            UserTracker.class
620                    };
621            private long _mvccVersion;
622            private long _userTrackerId;
623            private long _companyId;
624            private long _originalCompanyId;
625            private boolean _setOriginalCompanyId;
626            private long _userId;
627            private long _originalUserId;
628            private boolean _setOriginalUserId;
629            private Date _modifiedDate;
630            private String _sessionId;
631            private String _originalSessionId;
632            private String _remoteAddr;
633            private String _remoteHost;
634            private String _userAgent;
635            private long _columnBitmask;
636            private UserTracker _escapedModel;
637    }