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