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